From 82a64ebfc4f8049e7ec7c2986868d55e18e8f1b4 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Sun, 8 Mar 2026 23:20:03 +1300 Subject: [PATCH] Improved handling of auth token syncing --- materialious/src/routes/+layout.ts | 8 ++++++++ materialious/src/routes/invidious/auth/+page.ts | 7 +++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/materialious/src/routes/+layout.ts b/materialious/src/routes/+layout.ts index baeeca04..9febbd05 100644 --- a/materialious/src/routes/+layout.ts +++ b/materialious/src/routes/+layout.ts @@ -25,6 +25,7 @@ import { isYTBackend } from '$lib/misc'; import { isOwnBackend } from '$lib/shared/index'; import '$lib/fetchProxy'; import { loadContentFilterFromURL } from '$lib/filtering/index.js'; +import { getKeyValue } from '$lib/api/backend/keyvalue.js'; export const ssr = false; export const prerender = false; @@ -34,6 +35,13 @@ export async function load({ url }) { await initI18n(); } + if (get(rawMasterKeyStore)) { + const authTokenFromCloud = await getKeyValue('authToken'); + if (typeof authTokenFromCloud === 'string') + invidiousAuthStore.set(JSON.parse(authTokenFromCloud)); + else invidiousAuthStore.set(null); + } + isAndroidTvStore.set((await androidTv.isAndroidTv()).value); if (Capacitor.getPlatform() === 'android') { diff --git a/materialious/src/routes/invidious/auth/+page.ts b/materialious/src/routes/invidious/auth/+page.ts index 5fa87762..85c38d90 100644 --- a/materialious/src/routes/invidious/auth/+page.ts +++ b/materialious/src/routes/invidious/auth/+page.ts @@ -1,4 +1,5 @@ import { resolve } from '$app/paths'; +import { addOrUpdateKeyValue } from '$lib/api/backend/keyvalue.js'; import { invidiousAuthStore } from '$lib/store'; import { redirect } from '@sveltejs/kit'; @@ -7,10 +8,12 @@ export async function load({ url }) { const token = url.searchParams.get('token'); if (username && token) { - invidiousAuthStore.set({ + const authToken = { username: username, token: token - }); + }; + invidiousAuthStore.set(authToken); + await addOrUpdateKeyValue('authToken', JSON.stringify(authToken)); } throw redirect(302, resolve('/', {}));