From 70d79d402dd7b27b3f70bce5f40a080e71d80ba1 Mon Sep 17 00:00:00 2001 From: Gerzon Z Date: Wed, 9 Mar 2022 11:16:57 -0400 Subject: [PATCH] fix: `login` when changing server --- app/lib/rocketchat/rocketchat.js | 8 +++++++- app/lib/rocketchat/services/connect.ts | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/lib/rocketchat/rocketchat.js b/app/lib/rocketchat/rocketchat.js index 70e155a70..47cddc871 100644 --- a/app/lib/rocketchat/rocketchat.js +++ b/app/lib/rocketchat/rocketchat.js @@ -185,7 +185,13 @@ const RocketChat = { async e2eFetchMyKeys() { // RC 0.70.0 - const result = await sdk.get('e2e.fetchMyKeys'); + const currentSdk = this.shareSDK || this.sdk; + let result; + if (currentSdk) { + result = await currentSdk.get('e2e.fetchMyKeys'); + } else if (sdk.current) { + result = await sdk.current.get('e2e.fetchMyKeys'); + } // snake_case -> camelCase if (result.success) { return { diff --git a/app/lib/rocketchat/services/connect.ts b/app/lib/rocketchat/services/connect.ts index e7f24d0a8..9cf38d22e 100644 --- a/app/lib/rocketchat/services/connect.ts +++ b/app/lib/rocketchat/services/connect.ts @@ -260,7 +260,13 @@ function stopListener(listener: any): boolean { async function login(credentials: ICredentials, isFromWebView = false): Promise { // RC 0.64.0 - await sdk.current.login(credentials); + if (sdk.current) { + await sdk.current.login(credentials); + } else { + const { server } = store.getState().server; + sdk.initialize(server); + await sdk.current.login(credentials); + } const result = sdk.current.currentLogin?.result; if (result) { const user: ILoggedUser = {