fusion #70 : retirer le bouton trois points, Console Spark au menu marque #28

Merged
bruno merged 3 commits from fusion-70-barre-console-spark into main 2026-10-28 12:40:05 -04:00
Owner

Spécifique Flowdeck (en plus du tronc commun ci-dessous)

  • Gabarit : bouton trois points supprimé ; branche onAction("menu") (retour false pour le menu par défaut v0.1.6) supprimée. Nonce CSP du script inchangé. Les autres branches (rail, alertes natives, palette, spark, rappel-entête) sont inchangées. JS vendangé sous static/js/vendor/draco-barre.js (emplacement propre à Flowdeck, inchangé).

Contexte — fusion-trois-apps #70 (chantier 3), vendoring de Projets/dracodev-commons PR #2

Retirer le bouton trois points et son menu par défaut, ajouter « Console Spark » au menu de la marque, corriger focus/fermeture. Aucun bump de version, aucun merge, aucune fermeture d'issue par ce chantier (le coordinateur merge et publie à la fin). Ordre de merge suggéré : commons d'abord, puis les 4 hôtes.

Audit — bug de fermeture sur tiktak-dev (rappel)

Cause prouvée dans app/static/js/app.js (navigation #89) : document/window.addEventListener est remplacé par un registre (__tcDocWin) et chaque navigation douce appelle tcInit() → __tcTeardown(), qui supprime les écouteurs du registre — y compris ceux de draco-barre.js (script defer, enregistré après le tcInit() initial). La barre survit à la navigation (hors .layout remplacé) mais ses gestionnaires sont morts : menu ouvert avant navigation impossible à fermer (Échap/clic extérieur sans effet), et la marque (href="/") interceptée comme navigation interne au lieu de basculer le menu. Correctif en deux points : (1) dans le JS vendangé, écouteurs clic/Échap posés via EventTarget.prototype (hors registre, jamais supprimés par le teardown) ; (2) dans le gabarit TikTak, exclusion de .draco-bar de l'intercepteur SPA (cette PR-ci, TikTak uniquement).

Ce qui change (cet hôte)

  • Gabarit : bouton trois points supprimé ; branche onAction("menu") morte supprimée (elle retournait false pour obtenir le menu par défaut v0.1.6 — plus aucun bouton à relayer, donc pas de bouton mort).
  • JS/CSS vendangés = copie exacte du nouveau commons : pas de menu trois points ; menu de la marque + entrée « Console Spark » (logo ✦, « Agent commun ») après Kanbante, href = URL agent résolue (explicite > dérivation -dev agent-dev > défaut prod https://agent.dracodev.net/, aucun hôte spark-dev inventé).
  • Focus/fermeture : Espace sur la marque (focus premier item), Échap (focus rendu au déclencheur), nouvel appui marque, clic extérieur (ne déplace volontairement pas le focus — choix documenté dans la PR commons).
  • Autres branches onAction (rail, palette, domaine, alertes, spark, rappel-entête), onglets, avatar, pastilles : inchangés.

Limites

  • Validation navigateur réel sur tiktak-dev après déploiement encore à faire par Bruno (ouvrir, naviguer en douce, Échap / extérieur / marque + retour focus). Preuve par tests ici : suite commons 25/25, 98 assertions (dont survie au teardown simulé) ; suites propres de l'hôte non relancées dans ce chantier (fichiers vérifiés : diff minimal, node --check OK pour les JS touchés, pas de secret).
## Spécifique Flowdeck (en plus du tronc commun ci-dessous) - Gabarit : bouton trois points supprimé ; branche `onAction("menu")` (retour `false` pour le menu par défaut v0.1.6) supprimée. Nonce CSP du script inchangé. Les autres branches (rail, alertes natives, palette, spark, rappel-entête) sont inchangées. JS vendangé sous `static/js/vendor/draco-barre.js` (emplacement propre à Flowdeck, inchangé). ## Contexte — fusion-trois-apps #70 (chantier 3), vendoring de Projets/dracodev-commons PR #2 Retirer le bouton trois points et son menu par défaut, ajouter « Console Spark » au menu de la marque, corriger focus/fermeture. **Aucun bump de version, aucun merge, aucune fermeture d'issue par ce chantier** (le coordinateur merge et publie à la fin). Ordre de merge suggéré : commons d'abord, puis les 4 hôtes. ## Audit — bug de fermeture sur tiktak-dev (rappel) Cause prouvée dans `app/static/js/app.js` (navigation #89) : `document/window.addEventListener` est remplacé par un registre (`__tcDocWin`) et chaque navigation douce appelle `tcInit()` → `__tcTeardown()`, qui supprime les écouteurs du registre — y compris ceux de `draco-barre.js` (script `defer`, enregistré après le `tcInit()` initial). La barre survit à la navigation (hors `.layout` remplacé) mais ses gestionnaires sont morts : menu ouvert avant navigation impossible à fermer (Échap/clic extérieur sans effet), et la marque (`href="/"`) interceptée comme navigation interne au lieu de basculer le menu. Correctif en deux points : (1) dans le JS vendangé, écouteurs clic/Échap posés via `EventTarget.prototype` (hors registre, jamais supprimés par le teardown) ; (2) dans le gabarit TikTak, exclusion de `.draco-bar` de l'intercepteur SPA (cette PR-ci, TikTak uniquement). ## Ce qui change (cet hôte) - Gabarit : bouton trois points supprimé ; branche `onAction("menu")` morte supprimée (elle retournait `false` pour obtenir le menu par défaut v0.1.6 — plus aucun bouton à relayer, donc pas de bouton mort). - JS/CSS vendangés = copie exacte du nouveau commons : pas de menu trois points ; menu de la marque + entrée **« Console Spark »** (logo ✦, « Agent commun ») après Kanbante, href = URL agent résolue (explicite > dérivation `-dev` `agent-dev` > défaut prod `https://agent.dracodev.net/`, **aucun hôte `spark-dev` inventé**). - Focus/fermeture : Espace sur la marque (focus premier item), Échap (focus rendu au déclencheur), nouvel appui marque, clic extérieur (ne déplace volontairement pas le focus — choix documenté dans la PR commons). - Autres branches `onAction` (rail, palette, domaine, alertes, spark, rappel-entête), onglets, avatar, pastilles : **inchangés**. ## Limites - Validation navigateur réel sur tiktak-dev après déploiement encore à faire par Bruno (ouvrir, naviguer en douce, Échap / extérieur / marque + retour focus). Preuve par tests ici : suite commons `25/25, 98 assertions` (dont survie au teardown simulé) ; suites propres de l'hôte non relancées dans ce chantier (fichiers vérifiés : diff minimal, `node --check` OK pour les JS touchés, pas de secret).
bruno added 3 commits 2026-10-28 12:02:56 -04:00
fusion #70 : retirer le bouton trois points et la branche menu morte
FlowDeck CI / lint (push) Failing after 1s
FlowDeck CI / test (push) Failing after 0s
FlowDeck CI / docker (push) Skipped
c2a222fc3b
fusion #70 : vendanger barre sans trois points, Console Spark, fermeture/focus corriges
FlowDeck CI / lint (push) Failing after 1s
FlowDeck CI / test (push) Failing after 1s
FlowDeck CI / docker (push) Skipped
c356a56648
fusion #70 : vendanger CSS sans menu trois points
FlowDeck CI / lint (push) Failing after 1s
FlowDeck CI / test (push) Failing after 0s
FlowDeck CI / docker (push) Skipped
FlowDeck CI / lint (pull_request) Failing after 0s
FlowDeck CI / test (pull_request) Failing after 0s
FlowDeck CI / docker (pull_request) Skipped
36c97e1553
bruno merged commit eef46891de into main 2026-10-28 12:40:05 -04:00
Sign in to join this conversation.