• fix: le bouton close de Settings ferme en un clic (v7.69.4)
    FlowDeck CI / lint (push) Successful in 1m34s
    FlowDeck CI / test (push) Failing after 15m40s
    FlowDeck CI / docker (push) Skipped

    bruno released this 2026-10-08 22:02:08 -04:00 | 9 commits to main since this release

    Le bouton close de Settings devait être cliqué deux fois. Symptomatique depuis
    le menu utilisateur ; depuis /workspaces ça marchait.

    Cause : closeSettings() faisait history.back() PUIS window.location.reload()
    après un délai FIXE de 100 ms. Le retour est une navigation asynchrone : quand
    elle n'est pas terminée en 100 ms, le reload() retombe sur /settings et le
    panneau « se ferme puis revient ». La profondeur d'historique diffère selon le
    parcours — d'où le caractère intermittent et le fait que /workspaces
    échappait au symptôme.

    Correctif : location.replace() vers la page d'origine. Une seule navigation
    déterministe — ni history.back(), ni popstate, ni rechargement différé. Aucun
    chemin ne peut plus se terminer sans navigation. Effet secondaire assumé et
    souhaitable : « Retour » ne rouvre plus Settings.

    La branche window.opener ne fait plus de return inconditionnel : window.close()
    échoue en silence quand l'onglet n'a pas été ouvert par du script, et l'ancien
    code abandonnait alors sans navigation de repli — le bouton semblait mort.

    CONTRÔLE NÉGATIF FAIT — le même spec a été exécuté contre deux builds :
    ancien closeSettings() -> le parcours menu-utilisateur ÉCHOUE
    (Received: "…/settings"), /workspaces passe ;
    correctif -> les deux passent.
    Le test verrouille aussi que le panneau position:fixed n'est plus peint
    (.settings-overlay absent), qui est le symptôme exact rapporté.

    Correction de diagnostic : le diagnostic posé en v7.69.3 (« Alpine ne lie pas
    le composant x-data="settingsInit()" ») était FAUX — un artefact de mon banc
    d'essai target="_blank", pas le parcours réel. La page étant réactive après le
    premier clic, le handler s'exécutait bien. ROADMAP.md et CHANGELOG.md § v7.69.3
    corrigés pour ne pas laisser une piste fausse en héritage.

    pytest 1421 passed / 0 failed · ruff OK · OpenAPI 526 chemins / 7.69.4
    e2e 18/18 verts sur l'instance déployée

    Downloads