• refactor: A28 TERMINÉ — board.py (2 101 L) → package 14 fichiers (v7.32.0)
    FlowDeck CI / lint (push) Successful in 2m1s
    FlowDeck CI / test (push) Successful in 15m17s
    FlowDeck CI / docker (push) Canceled after 0s

    bruno released this 2026-10-02 08:27:57 -04:00

    Lot 4/4 de l'A28 (god files) : l'ancien app/routers/board.py (2 101
    lignes, 53 routes) devient le package app/routers/board/ :

    • 12 modules de routes : pages 271 L (7 r.), page_api 229 (5),
      board_views 223 (8), page_ops 176 (3), sharing 175 (10), synced 144 (8),
      page_media 122 (4), import_ 85 (2), wiki 76 (2), library 66 (1),
      embed 64 (2), sync 51 (1)
    • _common.py (878 L) : 23 helpers dont 4 async + les 4 constantes
      (STATUS_COLORS, STATUS_LABELS, AI_KEYWORD_COLORS, _REPO_REF_RE)
    • __init__.py : all complet — importateurs inchangés (api.py ×4
      top-level, webhooks top-level, dashboard ×5 lazy, tests ×4)

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

    Pièges rattrapés :

    • constantes d'état oubliées dans _common à la 1ʳᵉ passe (F821 +
      ImportError au chargement) → ré-insérées avec les valeurs exactes
    • docstring du header copié → F404 → slice [1:21]
    • helpers async def non détectés par def seul

    A28 TERMINÉ en 4 lots : api_v2 (7.29.0), dashboard (7.30.0),
    collections (7.31.0), board (7.32.0) — 0 changement d'URL sur les 4.

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

    Downloads