feat(v5.2.0): Infrastructure & Polish - isolation tests, xdist, lint, CI #15

Merged
bruno merged 9 commits from feat/v5.4.0-v5.5.0 into main 2026-09-12 00:19:55 -04:00
Owner

Finalise le chantier v5.2.0 (Infrastructure & Polish).

  • tests: isolation par test (mutation du singleton settings) -> pytest-xdist safe
  • backups reellement testes (snapshot/prune/API admin) + OAuth mock (Gitea/GitHub/link)
  • init_db() cree webhook_subscriptions (schema complet hors lifespan)
  • ruff check vert + eslint flat config (eslint.config.mjs)
  • CI: job lint (ruff+eslint), tests paralleles (-n auto), correctif de l'erreur "unrecognized arguments: -n"
  • VERSION 5.11.1 - 397 tests
Finalise le chantier v5.2.0 (Infrastructure & Polish). - tests: isolation par test (mutation du singleton settings) -> pytest-xdist safe - backups reellement testes (snapshot/prune/API admin) + OAuth mock (Gitea/GitHub/link) - init_db() cree webhook_subscriptions (schema complet hors lifespan) - ruff check vert + eslint flat config (eslint.config.mjs) - CI: job lint (ruff+eslint), tests paralleles (-n auto), correctif de l'erreur "unrecognized arguments: -n" - VERSION 5.11.1 - 397 tests
bruno added 8 commits 2026-09-11 23:37:44 -04:00
- Migration v7: page_versions table + pages.cover_url/page_icon columns
- Trash service (purge_expired 30-day) + daily scheduler
- Board API: duplicate page, backlinks, versions (snapshot/list/restore), cover/icon upload, markdown/file import
- Collections API: duplicate collection (deep copy properties/views/pages/data sources)
- Export service: render embed/bookmark/video/audio in markdown/HTML/PDF/public
- Public page renderer: cover image + icon
- Editor: slash commands for media blocks, lightbox, version history UI, backlinks panel, cover/icon picker, import modal
- OG metadata endpoint for bookmark cards
- 386 tests passing
- library.html: remove leftover syntax error + orphan </template></div> that
  broke libraryPage() (page showed 'undefined' and no files), call the correct
  fdCtx.openMenu and use self instead of a throwaway libraryPage() instance
- _ctx_menu.html: full conventional menu with shortcuts, tags + colour picker,
  edit-icon picker; closes on outside click and Escape
- local_workspace.html: migrate onContextMenu to the shared fdCtx store with
  complete handlers; drop legacy window._ctxMenuData DOM hacks
- dashboard.py: expose page_icon + favorited in the workspace tree
- library: expose page tags (batch), render tag chips per row and add a tag
  filter bar; register tag create/associate/remove in the shared context menu
  exactly like local-workspace
- library: restore monochrome SVG icons (folder/edit/image/file) matching
  local-workspace, with optional custom page_icon
- workspace: refresh tag chips/filter live on tag add/remove (reassign arrays
  + tagsVersion) instead of requiring a page reload
- ctxmenu: measure the rendered menu and clamp it to the viewport on open
feat(v5.2.0): finalize Infrastructure & Polish (tests isolation, xdist, lint, CI)
FlowDeck CI / lint (push) Successful in 43s
FlowDeck CI / test (push) Successful in 4m2s
FlowDeck CI / lint (pull_request) Successful in 42s
FlowDeck CI / test (pull_request) Successful in 4m3s
FlowDeck CI / docker (push) Successful in 1m2s
FlowDeck CI / docker (pull_request) Successful in 35s
ba363eaee9
tests/conftest.py: mutate the settings singleton (instead of rebinding) so DB + backup dir are isolated per test -> pytest-xdist safe.
Real backup tests (snapshot/prune/admin API) and OAuth mock tests (Gitea/GitHub/link) replace the previous skips.
init_db() now also creates webhook_subscriptions (full schema without the FastAPI lifespan).
ruff check is clean; .eslintrc.json migrated to eslint.config.mjs (flat config).
CI: lint job (ruff + eslint), parallel tests (-n auto), run on every branch push.
VERSION 5.11.1.
bruno added 1 commit 2026-09-12 00:04:53 -04:00
docs(roadmap): mark v5.2.0 Infrastructure & Polish as validated
FlowDeck CI / lint (push) Successful in 42s
FlowDeck CI / test (push) Successful in 4m3s
FlowDeck CI / lint (pull_request) Successful in 41s
FlowDeck CI / test (pull_request) Successful in 4m1s
FlowDeck CI / docker (push) Successful in 37s
FlowDeck CI / docker (pull_request) Successful in 36s
d477c1e058
Add a Validation block (18/18 dedicated tests, 397-test suite, ruff/eslint green, Gitea CI success on push + PR #15) and refresh the last-updated line.
bruno merged commit d50fed52ce into main 2026-09-12 00:19:55 -04:00
Sign in to join this conversation.