From ac7302b1dd7120d65b9cfba59e42b55e614116f3 Mon Sep 17 00:00:00 2001 From: Lukas Date: Sat, 6 Jun 2026 20:37:11 +0200 Subject: [PATCH] fix: add /setup/unresolved to exempt paths and improve error handling - Add /setup/unresolved to EXEMPT_PATHS to allow access after initial setup - Handle 401 Unauthorized response in loading page (clear invalid token) - Add console.log statements for debugging setup flow issues --- src/server/middleware/setup_redirect.py | 1 + src/server/web/templates/loading.html | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/server/middleware/setup_redirect.py b/src/server/middleware/setup_redirect.py index be52057..9a0b4da 100644 --- a/src/server/middleware/setup_redirect.py +++ b/src/server/middleware/setup_redirect.py @@ -32,6 +32,7 @@ class SetupRedirectMiddleware(BaseHTTPMiddleware): # Paths that should always be accessible, even without setup EXEMPT_PATHS = { "/setup", # Setup page itself + "/setup/unresolved", # Unresolved folders page (after setup) "/loading", # Loading page (initialization progress) "/login", # Login page (needs to be accessible after setup) "/queue", # Queue page (for initial load) diff --git a/src/server/web/templates/loading.html b/src/server/web/templates/loading.html index 9516a33..edb8567 100644 --- a/src/server/web/templates/loading.html +++ b/src/server/web/templates/loading.html @@ -481,8 +481,10 @@ async function checkUnresolvedAndProceed() { try { const token = localStorage.getItem('auth_token'); + console.log('Checking unresolved folders, token exists:', !!token); if (!token) { // No token, go to login + console.log('No auth token found, showing completion'); document.getElementById('completionMessage').style.display = 'block'; return; } @@ -490,20 +492,30 @@ const res = await fetch('/api/setup/unresolved', { headers: { 'Authorization': `Bearer ${token}` } }); + console.log('Unresolved API response status:', res.status); if (res.ok) { const unresolved = await res.json(); + console.log('Unresolved folders:', unresolved); if (unresolved && unresolved.length > 0) { // Has unresolved folders - redirect to unresolved page + console.log('Redirecting to /setup/unresolved'); window.location.href = '/setup/unresolved'; return; } + } else if (res.status === 401) { + // Token invalid, clear it + localStorage.removeItem('auth_token'); + console.log('Token invalid, showing completion'); + document.getElementById('completionMessage').style.display = 'block'; + return; } } catch (e) { console.error('Error checking unresolved folders:', e); } // No unresolved folders or error - show completion message + console.log('No unresolved folders or error, showing completion'); document.getElementById('completionMessage').style.display = 'block'; }