• feat: A20 phase 3 LOT 2 — settings + local workspace verts en CSP preview (v7.39.0)
    FlowDeck CI / lint (push) Canceled after 0s
    FlowDeck CI / test (push) Canceled after 0s
    FlowDeck CI / docker (push) Canceled after 0s

    bruno released this 2026-10-02 13:24:46 -04:00 | 63 commits to main since this release

    Ajout :

    • 2 gates csp_preview de plus : settings (composant lie, overlay visible)
      et local workspace (recherche focalisee via Alpine.nextTick, chips
      filtre en SVG via bindSvg, 0 erreur) → 3 surfaces vertes sous build
      CSP : library, settings, local workspace.

    Changed :

    • settings : window.history.back()/new Date(...) → methodes
      historyBack/fmtLastLogin/fmtAuditDate ; ?. → ternaires.
    • local workspace : x-data="_wsInitData" → registre wsInitData() ;
      14 x-html → x-init + Alpine.effect (bindSvg/bindFileIcon/bindNodeIcon/
      bindChildren/bindPreview) ; $nextTick+$refs arrow → toggleSearch() ;
      window.FlowDeck.* → createPageAt/createFolderAt ; ?. → ternaires ;
      @contextmenu="_wsInitData.*" → appel de methode.

    Piesges resolus (CHANGELOG en details) :

    • snapshot ji du build CSP = valeurs globalThis au boot → l'objet mis sur
      window avant Alpine est banni (« Accessing global variables ») → objet
      porte par une CONST LEXICALE (non propriete globalThis) + factory
      Alpine.data → MEME objet partage, reactivite intacte.
    • bloc preview hors div racine (structure pre-existante, masquee par le
      fallback window standard) → composant wsPreview DELEGUANT vers
      _wsInitData via Alpine.reactive (wrapper unique : les magics $nextTick
      ne sont redefinissables qu'une fois).
    • .env local : RATE_LIMIT_REQUESTS=600 (rafales E2E vs 60/min par IP ;
      defaut produit inchange).

    suite 1093/1093 · ruff OK · eslint 0/0 · E2E 5/5 (3 csp_preview + 2
    smoke) · CSP preview ET standard = 0 erreur sur /local-workspace · docs
    a jour

    Downloads