mirror of
https://github.com/myronblair/novacpx
synced 2026-06-30 17:50:41 -05:00
fix: show real error message on login 401, not misleading 'Session expired'
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LP9Q4kfCAYAjJnsbHBrViZ
This commit is contained in:
@@ -56,7 +56,15 @@ window.Nova = (() => {
|
|||||||
return { success: false, message: 'Network error — check your connection' };
|
return { success: false, message: 'Network error — check your connection' };
|
||||||
}
|
}
|
||||||
_barDone();
|
_barDone();
|
||||||
if (res.status === 401) { return { success: false, message: 'Session expired — please log in again' }; }
|
if (res.status === 401) {
|
||||||
|
const text401 = await res.text();
|
||||||
|
try {
|
||||||
|
const j = JSON.parse(text401);
|
||||||
|
// Login failures return the real message; other 401s mean the session expired
|
||||||
|
if (endpoint === 'auth' && action === 'login') return j;
|
||||||
|
return { success: false, message: j.message || 'Session expired — please log in again' };
|
||||||
|
} catch { return { success: false, message: 'Session expired — please log in again' }; }
|
||||||
|
}
|
||||||
if (res.status === 429) {
|
if (res.status === 429) {
|
||||||
const reset = res.headers.get('X-RateLimit-Reset');
|
const reset = res.headers.get('X-RateLimit-Reset');
|
||||||
const wait = reset ? Math.max(0, Math.ceil(Number(reset) - Date.now() / 1000)) : 60;
|
const wait = reset ? Math.max(0, Math.ceil(Number(reset) - Date.now() / 1000)) : 60;
|
||||||
|
|||||||
Reference in New Issue
Block a user