diff --git a/app/src/electron.js b/app/src/electron.js index a60c07830..9f51f771a 100644 --- a/app/src/electron.js +++ b/app/src/electron.js @@ -365,11 +365,13 @@ function createWindow() { console.log('Error saving config-root:', err.message); } }); + + // mainWindow.webContents.toggleDevTools(); + mainWindow.loadURL(startUrl); if (os.platform() == 'linux') { mainWindow.setIcon(path.resolve(__dirname, '../icon.png')); } - // mainWindow.webContents.toggleDevTools(); mainWindow.on('maximize', () => { mainWindow.webContents.send('setIsMaximized', true); diff --git a/packages/api/src/auth/authProvider.js b/packages/api/src/auth/authProvider.js index 93faa5c5c..4f8852d73 100644 --- a/packages/api/src/auth/authProvider.js +++ b/packages/api/src/auth/authProvider.js @@ -27,7 +27,7 @@ class AuthProviderBase { } isUserLoggedIn(req) { - return !!req.user || !!req.auth; + return !!req?.user || !!req?.auth; } getCurrentPermissions(req) { diff --git a/packages/web/src/ErrorPage.svelte b/packages/web/src/ErrorPage.svelte index c82b2dfe6..e04f5b034 100644 --- a/packages/web/src/ErrorPage.svelte +++ b/packages/web/src/ErrorPage.svelte @@ -3,6 +3,7 @@ import { useConfig } from './utility/metadataLoaders'; import ErrorInfo from './elements/ErrorInfo.svelte'; import Link from './elements/Link.svelte'; + import { internalRedirectTo } from './clientAuth'; const config = useConfig(); @@ -23,7 +24,7 @@
Configuration error
- {#if !$config?.isLicenseValid} + {#if $config?.isLicenseValid == false} @@ -32,7 +33,7 @@ {:else}
- Back to app + internalRedirectTo('/')}>Back to app
{/if}
diff --git a/packages/web/src/LoginPage.svelte b/packages/web/src/LoginPage.svelte index ed534b482..e76bd2419 100644 --- a/packages/web/src/LoginPage.svelte +++ b/packages/web/src/LoginPage.svelte @@ -106,7 +106,7 @@ // }` // ); internalRedirectTo( - `connections/dblogin?conid=${selectedConnection?.conid}&state=${encodeURIComponent(state)}&redirectUri=${ + `/connections/dblogin?conid=${selectedConnection?.conid}&state=${encodeURIComponent(state)}&redirectUri=${ location.origin + location.pathname }` ); @@ -130,7 +130,7 @@ isTesting = false; if (resp.accessToken) { localStorage.setItem('accessToken', resp.accessToken); - internalRedirectTo('?'); + internalRedirectTo('/'); } else { sqlConnectResult = resp; } @@ -140,7 +140,7 @@ conid: selectedConnection.conid, }); localStorage.setItem('accessToken', resp.accessToken); - internalRedirectTo('?'); + internalRedirectTo('/'); } }} /> @@ -155,7 +155,7 @@ }); if (resp.error) { internalRedirectTo( - `?page=not-logged&error=${encodeURIComponent(resp.error)}&is-admin=${isAdminPage ? 'true' : ''}` + `/?page=not-logged&error=${encodeURIComponent(resp.error)}&is-admin=${isAdminPage ? 'true' : ''}` ); return; } @@ -163,13 +163,13 @@ if (accessToken) { localStorage.setItem(isAdminPage ? 'adminAccessToken' : 'accessToken', accessToken); if (isAdminPage) { - internalRedirectTo('?page=admin'); + internalRedirectTo('/?page=admin'); } else { - internalRedirectTo('?'); + internalRedirectTo('/'); } return; } - internalRedirectTo(`?page=not-logged`); + internalRedirectTo(`/?page=not-logged`); }} /> {/if} diff --git a/packages/web/src/clientAuth.ts b/packages/web/src/clientAuth.ts index 69041e99a..4e9b6c60b 100644 --- a/packages/web/src/clientAuth.ts +++ b/packages/web/src/clientAuth.ts @@ -50,10 +50,10 @@ export function handleOauthCallback() { if (accessToken) { console.log('Settings access token from OAUTH'); localStorage.setItem('accessToken', accessToken); - internalRedirectTo('?'); + internalRedirectTo('/'); } else { console.log('Error when processing OAUTH callback', error || errorMessage); - internalRedirectTo(`?page=not-logged&error=${error || errorMessage}`); + internalRedirectTo(`/?page=not-logged&error=${error || errorMessage}`); } }); @@ -73,9 +73,9 @@ export function handleOauthCallback() { if (authResp.success) { window.close(); } else if (authResp.error) { - internalRedirectTo(`?page=error&error=${encodeURIComponent(authResp.error)}`); + internalRedirectTo(`/?page=error&error=${encodeURIComponent(authResp.error)}`); } else { - internalRedirectTo(`?page=error`); + internalRedirectTo(`/?page=error`); } }); @@ -93,11 +93,11 @@ export function handleOauthCallback() { }).then(authResp => { if (authResp.accessToken) { localStorage.setItem('accessToken', authResp.accessToken); - internalRedirectTo('?'); + internalRedirectTo('/'); } else if (authResp.error) { - internalRedirectTo(`?page=error&error=${encodeURIComponent(authResp.error)}`); + internalRedirectTo(`/?page=error&error=${encodeURIComponent(authResp.error)}`); } else { - internalRedirectTo(`?page=error`); + internalRedirectTo(`/?page=error`); } }); @@ -109,7 +109,7 @@ export function handleOauthCallback() { export async function handleAuthOnStartup(config, isAdminPage = false) { if (!config.isLicenseValid) { - internalRedirectTo(`?page=error`); + internalRedirectTo(`/?page=error`); return; } @@ -135,7 +135,7 @@ export async function handleAuthOnStartup(config, isAdminPage = false) { } export async function redirectToAdminLogin() { - internalRedirectTo('?page=admin-login'); + internalRedirectTo('/?page=admin-login'); return; } @@ -152,7 +152,7 @@ export async function redirectToLogin(config = null, force = false) { return; } } - internalRedirectTo('?page=login'); + internalRedirectTo('/?page=login'); return; } @@ -184,14 +184,14 @@ export async function doLogout() { if (config.oauthLogout) { window.location.href = config.oauthLogout; } else { - internalRedirectTo('?page=not-logged'); + internalRedirectTo('/?page=not-logged'); } } else if (config.isLoginForm) { localStorage.removeItem(isAdminPage() ? 'adminAccessToken' : 'accessToken'); - internalRedirectTo(`?page=not-logged&is-admin=${isAdminPage() ? 'true' : ''}`); + internalRedirectTo(`/?page=not-logged&is-admin=${isAdminPage() ? 'true' : ''}`); } else if (config.isAdminLoginForm && isAdminPage()) { localStorage.removeItem('adminAccessToken'); - internalRedirectTo('?page=admin-login&is-admin=true'); + internalRedirectTo('/?page=admin-login&is-admin=true'); } else { window.location.href = 'config/logout'; } diff --git a/packages/web/src/main.ts b/packages/web/src/main.ts index ee5b5155d..a134b123d 100644 --- a/packages/web/src/main.ts +++ b/packages/web/src/main.ts @@ -8,13 +8,14 @@ import LoginPage from './LoginPage.svelte'; import NotLoggedPage from './NotLoggedPage.svelte'; import ErrorPage from './ErrorPage.svelte'; -const isOauthCallback = handleOauthCallback(); - const params = new URLSearchParams(location.search); const page = params.get('page'); +const isOauthCallback = handleOauthCallback(); + localStorageGarbageCollector(); + function createApp() { if (isOauthCallback) { return null; diff --git a/packages/web/src/utility/api.ts b/packages/web/src/utility/api.ts index fea810415..875c44c4c 100644 --- a/packages/web/src/utility/api.ts +++ b/packages/web/src/utility/api.ts @@ -16,7 +16,7 @@ import { batchDispatchCacheTriggers, dispatchCacheChange } from './cache'; export const strmid = uuidv1(); let eventSource; -let apiLogging = false; +let apiLogging = true; // let cacheCleanerRegistered; let apiDisabled = false; const disabledOnOauth = isOauthCallback();