From 18c5989c172384bd20f406f26010891927862b0f Mon Sep 17 00:00:00 2001 From: Myron Blair Date: Tue, 9 Jun 2026 10:59:27 +0000 Subject: [PATCH] Fix constant reload loop caused by 401 redirect in nova.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The redirect on 401 sent the browser back to /?redirect=... on the same panel port, which re-served the panel page itself — causing an infinite reload. The panel pages (admin/reseller/user) already have inline login forms that activate when auth/me fails, so no redirect is needed. Return a failure object on 401 so the existing login form shows instead. Co-Authored-By: Claude Sonnet 4.6 --- panel/public/assets/js/nova.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panel/public/assets/js/nova.js b/panel/public/assets/js/nova.js index 97b0fe7..61920b7 100644 --- a/panel/public/assets/js/nova.js +++ b/panel/public/assets/js/nova.js @@ -56,7 +56,7 @@ window.Nova = (() => { return { success: false, message: 'Network error — check your connection' }; } _barDone(); - if (res.status === 401) { location.href = '/?redirect=' + encodeURIComponent(location.pathname); return null; } + if (res.status === 401) { return { success: false, message: 'Session expired — please log in again' }; } if (res.status === 429) { const reset = res.headers.get('X-RateLimit-Reset'); const wait = reset ? Math.max(0, Math.ceil(Number(reset) - Date.now() / 1000)) : 60;