From 6d4ceb21bd251e2a5da5eaeb4cd41354e3e3aa40 Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Wed, 11 Dec 2024 10:27:40 +0100 Subject: [PATCH] bugfixing --- src/hooks.server.ts | 13 ------------- src/lib/workers/notificationWorker.ts | 13 +++++++------ src/routes/+layout.svelte | 8 +++++--- src/routes/login/+page.server.ts | 2 +- src/routes/oauth/+server.ts | 11 +++++------ src/routes/register/+page.server.ts | 3 +-- 6 files changed, 19 insertions(+), 31 deletions(-) diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 485c4df0..cd9b61c2 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -1,22 +1,9 @@ import { sequence } from "@sveltejs/kit/hooks"; import PocketBase from "pocketbase"; import { serializeNonPOJOs } from "$lib/utils"; -//import geoip from "geoip-lite"; export const handle = sequence(async ({ event, resolve }) => { - /* - const ip = - event.request.headers.get("x-forwarded-for")?.split(",")[0] || - event.getClientAddress(); - let isUS = false; - if (ip) { - const geoData = geoip?.lookup(ip); - if (geoData && geoData.country === "US") { - isUS = true; - } - } - */ // Use a ternary operator instead of the logical OR for better compatibility const pbURL = import.meta.env.VITE_USEAST_POCKETBASE_URL; //isUS ? import.meta.env.VITE_USEAST_POCKETBASE_URL : import.meta.env.VITE_EU_POCKETBASE_URL; diff --git a/src/lib/workers/notificationWorker.ts b/src/lib/workers/notificationWorker.ts index b5db2b80..f680e241 100644 --- a/src/lib/workers/notificationWorker.ts +++ b/src/lib/workers/notificationWorker.ts @@ -8,21 +8,21 @@ async function loadNotifications() { }, }); - const output = await response.json(); - + const output = await response?.json() || []; return output; } onmessage = async (event: MessageEvent) => { const data = event.data?.message; + let output = {} try { - const [notificationList] = await Promise.all([loadNotifications()]); - const numberOfUnreadNotification = notificationList.filter( + const [notificationList] = await Promise?.all([loadNotifications()]); + const numberOfUnreadNotification = notificationList?.filter( (item?) => !item?.readed, ); const hasUnreadElement = numberOfUnreadNotification?.length !== 0 ? true : false; - const output = { + output = { notificationList, hasUnreadElement, numberOfUnreadNotification, @@ -30,7 +30,8 @@ onmessage = async (event: MessageEvent) => { postMessage({ message: "success", output }); } catch (e) { - postMessage({ message: "error", e }); + console.log(e) + postMessage({ message: "error", output }); } // Sending data back to the main thread //postMessage({ message: 'Data received in the worker', ticker, apiURL }); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 7c3407b1..aa3552e2 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -170,8 +170,10 @@ typeof data?.cookieConsent !== "undefined" ? false : true; onMount(async () => { - await Promise.all([checkMarketHour(), loadWorker()]); - + if (data?.user?.id) { + await loadWorker(); + } + await checkMarketHour(); if ($showCookieConsent === true) { Cookie = (await import("$lib/components/Cookie.svelte")).default; } @@ -180,7 +182,7 @@ await detectSWUpdate(); } - //Clear all the cache every 20 min + // Clear all the cache every 20 min const interval = setInterval( () => { clearCache(); diff --git a/src/routes/login/+page.server.ts b/src/routes/login/+page.server.ts index a6023416..1bbcbc2d 100644 --- a/src/routes/login/+page.server.ts +++ b/src/routes/login/+page.server.ts @@ -100,7 +100,7 @@ export const actions = { maxAge: 60, }); - redirect(302, authProviderRedirect); + redirect(303, authProviderRedirect); }, }; diff --git a/src/routes/oauth/+server.ts b/src/routes/oauth/+server.ts index 983c9e42..44c5d3fb 100644 --- a/src/routes/oauth/+server.ts +++ b/src/routes/oauth/+server.ts @@ -1,4 +1,5 @@ import { redirect } from "@sveltejs/kit"; +import { serializeNonPOJOs } from "$lib/utils"; @@ -46,10 +47,11 @@ export const GET = async ({ locals, url, cookies }) => { try { // - newUser = await locals.pb + await locals.pb ?.collection("users") .authWithOAuth2Code(provider.name, code, expectedVerifier, redirectURL); + //oauthUsername = generateUsername(newUser['meta']['name'].split(' ').join('')).toLowerCase(); // Check if user was created or existed already @@ -70,11 +72,8 @@ export const GET = async ({ locals, url, cookies }) => { if (cookies?.get("path")) { redirect(301, cookies?.get("path")); } else { - redirect(301, "/"); + redirect(303, "/"); } - //Login user automatically - - //const avatarUrl = newUser['meta']['avatarUrl']; - //console.log(avatarUrl); + }; diff --git a/src/routes/register/+page.server.ts b/src/routes/register/+page.server.ts index bfbd4aec..0df7233f 100644 --- a/src/routes/register/+page.server.ts +++ b/src/routes/register/+page.server.ts @@ -91,7 +91,6 @@ export const actions = { const targetItem = authMethods?.providers?.findIndex( (item) => item?.name === providerSelected, ); - //console.log("==================") //console.log(authMethods.authProviders) //console.log('target item is: ', targetItem) @@ -135,6 +134,6 @@ export const actions = { maxAge: 60, }); - redirect(302, authProviderRedirect); + redirect(303, authProviderRedirect); }, };