branch: externals/ement commit 765ec7f6d9d28acc6579883d5ac12173952dde5e Author: Adam Porter <a...@alphapapa.net> Commit: Adam Porter <a...@alphapapa.net>
Change/Fix: (ement-connect) Use external browser for SSO Use the secondary browser to browse the URL, because typically JavaScript is required, which EWW doesn't support; and if the page is opened in EWW first, it may break the process, because the server may not allow that URL to be loaded multiple times. See #24. --- ement.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ement.el b/ement.el index 6e9d2ddd48..d3ae724272 100644 --- a/ement.el +++ b/ement.el @@ -291,10 +291,12 @@ Ement: SSO login accepted; session token received. Connecting to Matrix server. (make-network-process :name "ement-sso" :family 'ipv4 :host 'local :service ement-sso-server-port :filter #'sso-filter :server t :noquery t)) - (browse-url - (concat (ement-server-uri-prefix (ement-session-server session)) - "/_matrix/client/r0/login/sso/redirect?redirectUrl=http://localhost:" - (number-to-string ement-sso-server-port)))) + ;; Kill server after 2 minutes in case of problems. + (run-at-time 120 nil #'delete-process sso-server-process) + (funcall browse-url-secondary-browser-function + (concat (ement-server-uri-prefix (ement-session-server session)) + "/_matrix/client/r0/login/sso/redirect?redirectUrl=http://localhost:" + (number-to-string ement-sso-server-port)))) (flows-callback (data) (let ((flows (cl-loop for flow across (map-elt data 'flows) collect (map-elt flow 'type))))