diff --git a/CHANGELOG.md b/CHANGELOG.md index 688a720..44daba4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,41 @@ # Changelog - FlowDeck +## v7.45.4 (2026-10-03) — Anti-FOUC au chargement complet + morts nettoyés + +### Fixed + +- **Flashs au chargement COMPLET** (F5, première visite, navigation servie par + le service worker) : le masquage `x-cloak`/`opacity` de v7.45.3 ne couvrait + que les swaps partiels fdLoad — un chargement de document peignait la page + tant qu'Alpine n'avait pas initialisé `.app-layout`, donc sidebar brute (toutes + sections ouvertes, menu utilisateur visible) **et** contenu de la zone dont la + bande rouge « You are offline. Changes will sync when connection is + restored. » (aucun `x-cloak` sur elle). Fix : `x-cloak` sur le nœud racine + Alpine `.app-layout` (base.html) — tout l'app (sidebar + zone + bandeau) reste + masqué tant que `appState()` n'est pas monté, puis Alpine retire l'attribut. + Vérifié par le probe (3 pages × plein chargement) : 0 frame de contenu brut, + `x-cloak` retiré et `display:flex` à la fin (donc pas de page blanche). + +### Changed + +- **`fd-navigating` supprimée** : classe posée/retirée à chaque `fdLoad` mais + sans aucune règle CSS dans le dépôt (grep css/js/html → seulement app.js) — + code mort. +- **`e2e/probe_nav_perf.spec.js` étendu à 4 scénarios avec assertions** : + navigations partielles (5 pages), **clic réel sur le bouton Home**, Home avec + réseau coupé (SW actif), et plein chargement. Asserte : 0 frame de contenu + brut peint, zone révélée (`opacity:1`) et montée (`0 [x-show]` non montés, + `x-ignore` absent), `.app-layout` sans `x-cloak` et visible. Capture + screenshot automatique si du contenu brut est peint + collecte console. + +### Not reproduced + +- Le symptôme rapporté (Home → rafale de menus/fenêtres + bande rouge) n'est + **pas rejouable** dans un navigateur frais : clic Home en ligne comme hors + ligne, nav partielle et plein chargement donnent 0 frame de contenu brut et 0 + erreur console. Reste à confirmer côté navigateur signalé (recharge dure + après deploy, URL/instance testée). + ## v7.45.3 (2026-10-03) — Navigation partielle : le contenu brut n'est plus peint ### Fixed diff --git a/ROADMAP.md b/ROADMAP.md index e24a2f9..7f2548f 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1005,7 +1005,8 @@ Détails livrés : - [x] **Fix SW + CSRF uploads** (v7.45.1) — logout ne sert plus la page « hors ligne » (le fetch event de navigation est en `redirect:'manual'` → 302 lue `opaqueredirect` → rejet ; rejoué en `redirect:'follow'` + **302 synthétique vers l'URL finale**, Chromium refusant les responses `redirected` servies à une navigation) et drag & drop de fichiers/dossiers réparé (`_doUpload` + `toggleFavorite` sans `X-CSRF-Token` = oublis A19, derniers appels mutants du front). `timeoutFetch` annule enfin ses requêtes. Gate `e2e/regression_logout_dnd.spec.js` (2 tests verts). - [x] **Navigation partielle Alpine** (v7.45.2) — les swaps fdLoad initialisaient `.main-wrapper` avant l'exécution des scripts de page (courses : « Undefined variable » sur l'éditeur, `reading 'has'` sur `$store.fdCtx`, `SyntaxError: 'LW' already declared` à la 2ᵉ visite). Fix maison dans `app.js` : `x-ignore` sur la zone swapée (nœud remplacé uniquement) → démontage unique à tous `
-