fix: anti-FOUC au chargement complet (x-cloak sur .app-layout) + nettoyage (v7.45.4)
FlowDeck CI / docker (push) Successful in 1m52s
FlowDeck CI / lint (push) Successful in 2m15s
FlowDeck CI / test (push) Successful in 15m22s

- Symptôme rapporté : clic sur Home → rafale de menus/fenêtres + bande rouge
  « You are offline. Changes will sync when connection is restored. ».
- Constat : le masquage de v7.45.3 ne couvrait QUE les swaps partiels fdLoad.
  Un chargement COMPLET de document (F5, première visite, navigation servie par
  le service worker) peignait toute l'app tant qu'Alpine n'avait pas initialisé
  .app-layout : sidebar brute (sections ouvertes, menu utilisateur) + zone brute
  dont la bande hors ligne (aucun x-cloak dessus). Le symptôme Home n'est par
  ailleurs PAS rejouable en navigateur frais (nav, clic Home en ligne/hors
  ligne, plein chargement → 0 frame de contenu brut, 0 erreur console).
- Fix : x-cloak sur le nœud racine Alpine .app-layout (base.html) — sidebar +
  zone + bandeau masqués jusqu'au montage d'appState(), retrait par Alpine à
  l'init. Le probe asserte que l'attribut est bien retiré et que le node est
  visible en fin de parcours (garde-fou contre la page blanche).
- Suppression de la classe fd-navigating (posée à chaque fdLoad, aucune règle
  CSS dans le dépôt → code mort).
- e2e/probe_nav_perf.spec.js : 4 scénarios avec assertions (nav 5 pages, clic
  Home réel, Home hors ligne avec SW, plein chargement 3 pages) + capture
  screenshot auto si contenu brut + collecte console.

Gates : probe_nav_perf 4/4 · regression_partial_nav + regression_editor_mount
+ regression_logout_dnd + smoke = 6 passed (errs=0 sur 7 pages × 3 passages) ·
pytest 1094 passed · ruff OK · OpenAPI 7.45.4.
This commit is contained in:
2026-10-03 00:54:28 -04:00
parent b2ea8ec537
commit aa88cf6665
9 changed files with 223 additions and 12 deletions
+36
View File
@@ -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