• refactor: A28 lot 2 — dashboard.py (2 735 L) → package 10 fichiers (v7.30.0)
    FlowDeck CI / lint (push) Successful in 1m56s
    FlowDeck CI / docker (push) Canceled after 0s
    FlowDeck CI / test (push) Canceled after 9m39s

    bruno released this 2026-10-02 07:47:41 -04:00

    Découpe par concern de l'ancien app/routers/dashboard.py (2 735 lignes,
    63 routes) en package app/routers/dashboard/ :

    • 8 modules de routes : local_workspace 559 L (15 r.), pages_html 485 (6),
      account_settings 439 (16), workspace 321 (9), pages_api 240 (6),
      workspaces 131 (6), public 78 (1), account_api 77 (4)
    • _common.py (774 L) : les 15 helpers top-level INTERCALÉS dans l'ancien
      fichier + état (logger, _VERSION, WORKSPACE_COOKIE)
    • __init__.py : ordre d'enregistrement identique à l'origine, re-export
      complet (7 importateurs inchangés : main, board ×3, my_tasks,
      web_clipper, wiki, sites _dash._render_blocks_public, tests) + all

    Preuve contractuelle : docs/openapi-v2.json régénéré = IDENTIQUE
    byte-à-byte (509 chemins, ordre préservé).

    Pièges rattrapés :

    • segment décorateur sans sa fonction → assert def in seg + récupération
      git (corps perdus en silence à la 1ʳᵉ exécution)
    • collision settings (section vs from app.config import settings →
      hasattr du fromlist) → renommée account_settings
    • WORKSPACE_COOKIE utilisé sans import dans workspaces.py (F821)
    • script all mangeant la fin du fichier → init réécrit

    Reste A28 : collections.py 2 622 L, board.py 2 101 L (lot 3).

    suite 1091/1091 · ruff OK · OpenAPI 509 identique · docs à jour

    Downloads