[DOCS] CONTEXT: mail a Massimo (rientro + installa app) + follow-up silent re-auth
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
006d06533f
commit
ecb17e59f0
@@ -26,7 +26,7 @@ T1–T6 tutti verdi: 36 pagine **200**/no-CDN/no-residui-V2; **tutto il JS** (fi
|
||||
|
||||
### F. Release v1.25.0 + 🐞 bug "sessione scaduta = pagina bloccata" (segnalato da Massimo)
|
||||
- **`v1.25.0`** (commit `64e10b1`): bump `version.json` (MINOR, UI V3) + cache SW `nis2-shell-v1.25.0` con PRECACHE shell V3.
|
||||
- 🐞 **Bug api.js (commit `41476c8`)** — Massimo "sono tornato su nis2 e non funziona": utente/aziende "--", **inventario bloccato su Caricamento**, niente FAB segnalazioni. **NON è rottura V3**: riprodotto con puppeteer che con **token fresco tutto funziona** (org-switcher con le sue 7 aziende, tabella inventario piena, 3 FAB). Causa = **bug PRE-ESISTENTE in `api.js`**: un `401` su `/auth/refresh` (refresh scaduto) **rientrava nel handler di refresh** (la condizione non escludeva l'endpoint auth) → **ricorsione infinita**, `doRefreshToken()` non ritorna mai → `logout()`/redirect a login non scatta → pagina resta "--". Scenario tipico del "torno dopo >2h" (access scaduto + refresh non valido). Fix: escludi `/auth/refresh`+`/auth/login` dall'auto-refresh + un 401 senza refresh disponibile fa `logout()`. Ora un utente che torna con sessione morta va a **login** (ri-accede). Cache-buster `api.js ?v=20260627u` su 41 pagine. **Metodo diag**: minti un token con `exp` nel passato (jti+active_sessions) e riproduci con puppeteer (`pipe:true`); chiave org localStorage = `nis2_org_id`.
|
||||
- 🐞 **Bug api.js (commit `41476c8`)** — Massimo "sono tornato su nis2 e non funziona": utente/aziende "--", **inventario bloccato su Caricamento**, niente FAB segnalazioni. **NON è rottura V3**: riprodotto con puppeteer che con **token fresco tutto funziona** (org-switcher con le sue 7 aziende, tabella inventario piena, 3 FAB). Causa = **bug PRE-ESISTENTE in `api.js`**: un `401` su `/auth/refresh` (refresh scaduto) **rientrava nel handler di refresh** (la condizione non escludeva l'endpoint auth) → **ricorsione infinita**, `doRefreshToken()` non ritorna mai → `logout()`/redirect a login non scatta → pagina resta "--". Scenario tipico del "torno dopo >2h" (access scaduto + refresh non valido). Fix: escludi `/auth/refresh`+`/auth/login` dall'auto-refresh + un 401 senza refresh disponibile fa `logout()`. Ora un utente che torna con sessione morta va a **login** (ri-accede). Cache-buster `api.js ?v=20260627u` su 41 pagine. **Metodo diag**: minti un token con `exp` nel passato (jti+active_sessions) e riproduci con puppeteer (`pipe:true`); chiave org localStorage = `nis2_org_id`. **Mail a Massimo** (+ copia a Cristiano, 2×201) in parole semplici: come rientrare (F5 → login → riaccedi), dove trova "Seleziona azienda"/inventario/FAB segnalazioni rosso, e consiglio di **installare la PWA come app Windows** ("Installa app"). Follow-up chiesto da Cristiano: rendere il rientro **automatico** (silent re-auth) così l'utente non veda nemmeno il login.
|
||||
|
||||
**Commit di giornata (in ordine)**: `b0fc190` (foundation+pilota), `a4150b5` (flotta 32 pagine), `58b4bdb` (allineamento), `9971fbc` (context), `a223923` (ARIA org-fix), `95e77a6` (i18n titoli), `a71d1a0` (spotlight+CSP), `e15e1b8` (context), `64e10b1` (v1.25.0+SW), `41476c8` (api.js sessione scaduta). Tutti pushati. Sessioni/token QA eliminati; working tree pulito.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user