From 09d794da96362ef1e886afbab3742db88264a6c0 Mon Sep 17 00:00:00 2001 From: Youwes09 Date: Sat, 13 Jun 2026 02:25:12 -0500 Subject: [PATCH] Chore: Fixed ServerURL & AppPin on WebUI --- io.github.moku_project.Moku.yml | 2 +- src/hooks.client.ts | 24 ++-- src/lib/components/chrome/SplashScreen.svelte | 9 +- src/lib/components/home/ActivityFeed.svelte | 2 +- src/lib/state/app.svelte.ts | 2 + src/lib/state/boot.svelte.ts | 18 +-- src/routes/+layout.svelte | 103 ++++++++++-------- 7 files changed, 80 insertions(+), 80 deletions(-) diff --git a/io.github.moku_project.Moku.yml b/io.github.moku_project.Moku.yml index 50bb032..4345449 100644 --- a/io.github.moku_project.Moku.yml +++ b/io.github.moku_project.Moku.yml @@ -251,7 +251,7 @@ modules: sources: - type: git url: https://github.com/moku-project/Moku.git - commit: b170a151f0213d1ade81b7543270fbe46bd2e8c5 + commit: baece20f467d2c7d4cebaa9ea8892980aa93aa10 - type: file path: packaging/frontend-dist.tar.gz sha256: 676ec2273ffd9a69248849c5d51dc4d59a5d5b68fbba7a4fe7e7b572a5f25f14 diff --git a/src/hooks.client.ts b/src/hooks.client.ts index d29d5e9..400ec5d 100644 --- a/src/hooks.client.ts +++ b/src/hooks.client.ts @@ -9,15 +9,6 @@ import { historyState } from '$lib/state/history.svelt import { readerState } from '$lib/state/reader.svelte' import { seriesState } from '$lib/state/series.svelte' -const KEY_URL = 'moku_server_url' -const KEY_AUTH = 'moku_auth_config' - -interface SavedAuth { - mode: 'NONE' | 'BASIC_AUTH' | 'UI_LOGIN' - user?: string - pass?: string -} - async function boot() { try { const platformAdapter = detectAdapter() @@ -43,20 +34,21 @@ async function boot() { readerState.markers = libraryData.markers historyState.load(libraryData.sessions, libraryData.dailyReadCounts) - const savedUrl = (await platformAdapter.getCredential(KEY_URL)) ?? 'http://127.0.0.1:4567' - const savedAuthRaw = await platformAdapter.getCredential(KEY_AUTH) - const savedAuth: SavedAuth = savedAuthRaw ? JSON.parse(savedAuthRaw) : { mode: 'NONE' } + const savedUrl = settingsState.settings.serverUrl ?? 'http://127.0.0.1:4567' + const authMode = settingsState.settings.serverAuthMode ?? 'NONE' + const authUser = settingsState.settings.serverAuthUser || undefined + const authPass = settingsState.settings.serverAuthPass || undefined appState.serverUrl = savedUrl - appState.authMode = savedAuth.mode + appState.authMode = authMode === 'SIMPLE_LOGIN' ? 'UI_LOGIN' : authMode - configureAuth(savedUrl, savedAuth.mode, savedAuth.user, savedAuth.pass) + configureAuth(savedUrl, authMode, authUser, authPass) await serverAdapter.connect({ baseUrl: savedUrl, credentials: - savedAuth.mode === 'BASIC_AUTH' && savedAuth.user && savedAuth.pass - ? { username: savedAuth.user, password: savedAuth.pass } + authMode === 'BASIC_AUTH' && authUser && authPass + ? { username: authUser, password: authPass } : undefined, }) diff --git a/src/lib/components/chrome/SplashScreen.svelte b/src/lib/components/chrome/SplashScreen.svelte index 38a435e..01a21a1 100644 --- a/src/lib/components/chrome/SplashScreen.svelte +++ b/src/lib/components/chrome/SplashScreen.svelte @@ -91,10 +91,11 @@ const PHASE2_MS = 10000 function triggerExit(cb?: () => void) { - if (exitLock) return + console.log('[splash] triggerExit called — exitLock:', exitLock, 'mode:', mode, 'cb:', cb?.name ?? String(cb)) + if (exitLock) { console.log('[splash] triggerExit blocked by exitLock'); return } exitLock = true exiting = true - setTimeout(() => cb?.(), EXIT_MS) + setTimeout(() => { console.log('[splash] triggerExit timeout — calling cb'); cb?.() }, EXIT_MS) } let animFrame = 0 @@ -125,11 +126,13 @@ }) $effect(() => { + console.log('[splash] ringFull effect — ringFull:', ringFull, 'mode:', mode, 'exitLock:', exitLock) if (!ringFull || mode === 'locked') { exitLock = false; exiting = false; return } cancelAnimationFrame(animFrame) animFrame = 0 ringProg = 1 - setTimeout(() => triggerExit(onReady), 650) + const t = setTimeout(() => { console.log('[splash] ringFull timeout firing — calling triggerExit(onReady)'); triggerExit(onReady) }, 650) + return () => { console.log('[splash] ringFull effect cleanup — cancelling timeout'); clearTimeout(t) } }) function submitPin() { diff --git a/src/lib/components/home/ActivityFeed.svelte b/src/lib/components/home/ActivityFeed.svelte index bf7c0c9..fb5f72e 100644 --- a/src/lib/components/home/ActivityFeed.svelte +++ b/src/lib/components/home/ActivityFeed.svelte @@ -19,7 +19,7 @@ const entries = $derived( historyState.sessions .filter((s, i, arr) => arr.findIndex(x => x.mangaId === s.mangaId) === i) - .slice(0, 10) + .slice(0, 5) ) diff --git a/src/lib/state/app.svelte.ts b/src/lib/state/app.svelte.ts index 2f302d1..940c3dc 100644 --- a/src/lib/state/app.svelte.ts +++ b/src/lib/state/app.svelte.ts @@ -35,6 +35,8 @@ export const appState = $state({ history: [] as unknown[], toasts: [] as unknown[], appDir: '', + authUser: '', + authPass: '', idleSplash: false, devSplash: false, }) diff --git a/src/lib/state/boot.svelte.ts b/src/lib/state/boot.svelte.ts index 6c6e777..c2803c5 100644 --- a/src/lib/state/boot.svelte.ts +++ b/src/lib/state/boot.svelte.ts @@ -33,11 +33,8 @@ export async function initPlatform(): Promise { } function pinLockEnabled(): boolean { - return ( - settingsState.settings.appLockEnabled === true && - typeof settingsState.settings.appLockPin === 'string' && - settingsState.settings.appLockPin.length >= 4 - ) + const pin = settingsState.settings.appLockPin + return typeof pin === 'string' && pin.length >= 4 } function handleProbeSuccess(gen: number) { @@ -56,6 +53,7 @@ function handleAuthRequired( pass: string, ) { if (gen !== probeGeneration) return + if (boot.skipped) return boot.failed = false appState.authMode = authMode @@ -93,13 +91,6 @@ export async function startProbe( const baseUrl = settingsState.settings.serverUrl ?? 'http://127.0.0.1:4567' configureAuth(baseUrl, authMode, user || undefined, pass || undefined) - if (appState.platform === 'web') { - boot.failed = true - appState.status = 'error' - startBackgroundProbe(gen, authMode, user, pass) - return - } - let tries = 0 async function probe() { @@ -191,10 +182,9 @@ export function bypassBoot( user = '', pass = '', ) { - const gen = probeGeneration boot.loginRequired = false boot.sessionExpired = false boot.skipped = true appState.status = 'ready' - startBackgroundProbe(gen, authMode, user, pass) + startBackgroundProbe(probeGeneration, authMode, user, pass) } \ No newline at end of file diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index c648036..54fe323 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,7 +1,7 @@