• feat: A20 TERMINÉ — Alpine en build CSP, unsafe-eval retiré de la CSP (v7.43.0)
    FlowDeck CI / test (push) Successful in 15m24s
    FlowDeck CI / lint (push) Successful in 2m1s
    FlowDeck CI / docker (push) Successful in 1m52s

    bruno released this 2026-10-02 16:00:12 -04:00

    La bascule A20 phase 3 :

    • static/js/alpine.csp.min.js (build officiel @alpinejs/csp, 0
      eval/new Function, parseur maison) servi partout : base.html,
      import.html, welcome.html + entree sw.js (cache bump v8).
    • CSP : script-src 'self' 'nonce-…' — unsafe-eval SUPPRIMÉ (ne servait
      plus qu'Alpine standard). htmx allowEval:false deja pose (v7.37).
    • Assertion test inversée : assert "'unsafe-eval'" not in script_src.
    • Scan statique final sur TOUS les templates : 0 expression incompatible
      (4 residus = faux positifs dans des chaines de texte).

    Pré-requis réunis par les lots 1-3 : 12 surfaces migrées + gateées
    (csp_preview), registres Alpine.data, x-html → x-init+Alpine.effect,
    délégués window.E, partage d'état lexical, bug topbar corrigé.

    Verifs : suite 1094/1094 · ruff OK · eslint 0/0 · E2E 7/7 sous
    CSP reel
    (script-src sans unsafe-eval verifie sur l'instance).

    Hors gate (scan propre, gitea down) : board/table_view/teamload/
    card_detail → à vérifier au premier usage avec gitea remonté (noté
    ROADMAP/CHANGELOG).

    Downloads