Gracefully handle JWT expired and warn user to re-login

This commit is contained in:
Christian Vidal Wolf
2026-04-10 12:09:49 +02:00
parent db91aeb842
commit 3c821b83a0
+7 -2
View File
@@ -322,7 +322,7 @@ export default function App() {
setIsSavingAll(true);
let failedArticles: string[] = [];
const token = session?.access_token;
let jwtExpired = false;
try {
for (const [articleNo, { newData, originalData, articleName }] of entries) {
@@ -343,12 +343,17 @@ export default function App() {
} else {
setRowStatuses(prev => ({ ...prev, [articleNo]: 'error' }));
failedArticles.push(`${articleNo} [${result.error || 'Unknown error'}]`);
if (result.error?.includes('401') || result.error?.includes('JWT expired')) {
jwtExpired = true;
}
}
}
console.log('[handleSaveAll] Finished loop. Failed:', failedArticles.length);
if (failedArticles.length > 0) {
if (jwtExpired) {
alert("Tu sesión ha caducado (JWT expired). Por favor, haz clic en el botón de Cerrar Sesión (Sign out) arriba a la derecha y vuelve a iniciar sesión para guardar tus cambios.");
} else if (failedArticles.length > 0) {
alert(`Failed to save items:\n\n${failedArticles.join('\n')}\n\nPlease try again.`);
} else {
setAppState(prev => ({ ...prev, hasUnsavedChanges: false }));