From 8ebb1fe36393e5db33798012592d2a71e6ed7705 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Fri, 29 Nov 2024 07:48:37 +0100 Subject: [PATCH] window openeer nits --- .../oauth/callback/[client_name]/+page.svelte | 11 +++++++---- .../login_callback/[client_name]/+page.svelte | 16 ++++++++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/frontend/src/routes/(root)/(logged)/oauth/callback/[client_name]/+page.svelte b/frontend/src/routes/(root)/(logged)/oauth/callback/[client_name]/+page.svelte index 8c49d4e7c8..53bebd0198 100644 --- a/frontend/src/routes/(root)/(logged)/oauth/callback/[client_name]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/oauth/callback/[client_name]/+page.svelte @@ -14,7 +14,8 @@ onMount(async () => { if (error) { - window.opener.postMessage( + sendUserToast(`Error trying to add ${client_name} connection: ${error}`, true) + window.opener?.postMessage( { type: 'error', error: `Error trying to add ${client_name} connection: ${error}` }, '*' ) @@ -26,17 +27,19 @@ requestBody: { code, state } }) sendUserToast('successful', false) - window.opener.postMessage({ type: 'success', res, resource_type: client_name }, '*') + window.opener?.postMessage({ type: 'success', res, resource_type: client_name }, '*') // goto(`/resources?resource_type=${client_name}`) } catch (e) { - window.opener.postMessage( + sendUserToast(`Error trying to add ${client_name} connection: ${e.body}`, true) + window.opener?.postMessage( { type: 'error', error: `Error parsing the response token, ${e.body}` }, '*' ) // goto('/resources') } } else { - window.opener.postMessage( + sendUserToast('Missing code or state as query params', true) + window.opener?.postMessage( { type: 'error', error: 'Missing code or state as query params' }, '*' ) diff --git a/frontend/src/routes/user/login_callback/[client_name]/+page.svelte b/frontend/src/routes/user/login_callback/[client_name]/+page.svelte index 3f4a88cb76..79f7c159aa 100644 --- a/frontend/src/routes/user/login_callback/[client_name]/+page.svelte +++ b/frontend/src/routes/user/login_callback/[client_name]/+page.svelte @@ -45,8 +45,12 @@ if (rd?.startsWith('http')) { if (closeUponLogin) { - window.opener.postMessage({ type: 'success' }, '*') - window.close() + if (window.opener) { + window.opener.postMessage({ type: 'success' }, '*') + window.close() + } else { + sendUserToast(`Logged in successfully, but can't communicate with main page. Close this window and refresh main page.`, false) + } return } window.location.href = rd @@ -72,8 +76,12 @@ if (allWorkspaces?.length == 1) { $workspaceStore = allWorkspaces[0].id if (closeUponLogin) { - window.opener.postMessage({ type: 'success' }, '*') - window.close() + if (window.opener) { + window.opener.postMessage({ type: 'success' }, '*') + window.close() + } else { + sendUserToast(`Logged in successfully, but can't communicate with main page. Close this window and refresh main page.`, false) + } return } if (rd) {