From a7d065baf4a3b028665dfc2f3f679aa76e7cfbc9 Mon Sep 17 00:00:00 2001 From: Denis Bykhov Date: Fri, 23 Feb 2024 18:52:00 +0600 Subject: [PATCH] Fix select workspace logout (#4760) --- .../src/components/SelectWorkspaceMenu.svelte | 12 ------------ plugins/workbench-resources/src/connect.ts | 11 ++++++++++- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/plugins/workbench-resources/src/components/SelectWorkspaceMenu.svelte b/plugins/workbench-resources/src/components/SelectWorkspaceMenu.svelte index e94326b40e..cfc3fb3998 100644 --- a/plugins/workbench-resources/src/components/SelectWorkspaceMenu.svelte +++ b/plugins/workbench-resources/src/components/SelectWorkspaceMenu.svelte @@ -48,18 +48,6 @@ } async function clickHandler (e: MouseEvent, ws: string): Promise { - if (ws !== getCurrentLocation().path[1]) { - const tokens: Record = fetchMetadataLocalStorage(login.metadata.LoginTokens) ?? {} - const token = tokens[ws] - if (!token) { - const selectWorkspace = await getResource(login.function.SelectWorkspace) - const loginInfo = (await selectWorkspace(ws))[1] - if (loginInfo !== undefined) { - tokens[ws] = loginInfo?.token - } - setMetadataLocalStorage(login.metadata.LoginTokens, tokens) - } - } if (!e.metaKey && !e.ctrlKey) { e.preventDefault() closePopup() diff --git a/plugins/workbench-resources/src/connect.ts b/plugins/workbench-resources/src/connect.ts index ab86ef52cd..916559791d 100644 --- a/plugins/workbench-resources/src/connect.ts +++ b/plugins/workbench-resources/src/connect.ts @@ -51,7 +51,16 @@ export async function connect (title: string): Promise { } } const tokens: Record = fetchMetadataLocalStorage(login.metadata.LoginTokens) ?? {} - const token = tokens[ws] + let token = tokens[ws] + if (token === undefined) { + const selectWorkspace = await getResource(login.function.SelectWorkspace) + const loginInfo = (await selectWorkspace(ws))[1] + if (loginInfo !== undefined) { + tokens[ws] = loginInfo.token + token = loginInfo.token + setMetadataLocalStorage(login.metadata.LoginTokens, tokens) + } + } setMetadata(presentation.metadata.Token, token) document.cookie = encodeURIComponent(presentation.metadata.Token.replaceAll(':', '-')) + '=' + encodeURIComponent(token) + '; path=/'