Commit Graph
70 Commits
Author SHA1 Message Date
bruno fbf0335c3a fix: Library preserves sidebar tree and categorizes by parent_section
FlowDeck CI / test (push) Failing after 8s
FlowDeck CI / docker (push) Has been skipped
- Sidebar data (board._sidebar_data()) no longer overwritten by library content
- New variables: lib_recent, lib_favorites, lib_shared, lib_private
- Pages categorized by parent_section column: Private/Favorites/Shared
- Recents tab shows all non-trashed pages ordered by updated_at
- library.html updated to use lib_* variables instead of sidebar data
- Favorites/Shared tabs hidden when empty (lib_has_favorites/lib_has_shared)
2026-07-10 09:31:18 -04:00
bruno a251ccfe2d fix: Library button preserves workspace context
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
3 bugs fixed:
1. dashboard.py /library was registered before board.router and had no workspace context → removed old endpoint, re-added with owner/repo params using board._sidebar_data()
2. base.html navigateTo('/library') lost workspace → now auto-appends ?owner=X&repo=Y from workspaceKey
3. openLibrary(id) used bare window.location.href → now uses this.navigateTo()

Now the Library page:
- Shows pages filtered by workspace when coming from a project
- Preserves the sidebar context (no more Admin Dashboard fallback)
- Tabs (Recents, Favorites, Shared, Private) display project pages from DB
2026-07-10 09:19:47 -04:00
bruno 3ed2181e89 feat: add Understand-Anything knowledge graph for FlowDeck
FlowDeck CI / test (push) Failing after 5s
FlowDeck CI / docker (push) Has been skipped
- 267 nodes, 518 edges across 9 architectural layers
- 13-step guided tour in French
- 9 languages detected (Python, JavaScript, HTML, CSS, YAML, JSON, Markdown, Dockerfile, TOML)
- 6 frameworks (FastAPI, Pydantic, Uvicorn, pytest, Docker, Docker Compose)
- Generated via Understand-Anything multi-agent pipeline
2026-07-10 08:56:28 -04:00
bruno c86c04ca22 docs: résultats du run de tests (55/61) + bogues corrigés
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
2026-07-10 08:23:03 -04:00
bruno 6b67b25d27 fix: CSRF token manquant dans les fetch() POST du board et card detail
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- board.html: ajout X-CSRF-Token header sur fetch /api/move et /api/issues
- card_detail.html: ajout helper getCsrf() + header sur tous les fetch POST/PATCH
- Sans ce fix, drag & drop, création issue, checklists échouent en production
2026-07-10 08:22:42 -04:00
bruno d940481a6f docs: grille de tests visuels (61 tests, 14 sections)
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
2026-07-10 08:11:35 -04:00
bruno 8aaf1676c0 fix: refresh board after drag & drop move
FlowDeck CI / test (push) Failing after 3s
FlowDeck CI / docker (push) Has been skipped
2026-07-10 08:06:06 -04:00
bruno 7c8f8d719e docs: CHANGELOG, README, WORKLOAD updated for v2.1.0 — complete
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- CHANGELOG: all 9 versions documented (v1.3 → v2.1)
- README: version 2.1.0, full feature list, 73/73 tests
- WORKLOAD: rewritten, 52/52 features (100%), architecture summary
2026-07-10 07:30:54 -04:00
bruno 80f56acf4c feat(v2.1.0): API publique + Webhooks sortants + PWA
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- Public API: /api/v1 (collections, pages, my-tasks) with token auth
- Token generation: POST /api/v1/token
- Outbound webhooks: /workspace/webhooks CRUD + fire_event dispatcher
- PWA: manifest.json endpoint
- CSRF exempt for /api/v1
- 73/73 tests passent (+6 tests v2.1)
- Version 2.0.0 → 2.1.0
- Docs: ROADMAP updated — 7/7 blocs, 52/52 features ✅
v2.1.0
2026-07-10 07:28:09 -04:00
bruno cd854e1dfe feat(v2.0.0): Multi-User Workspaces + Comments + History + Favorites + Templates + CSV + Public Sharing
FlowDeck CI / test (push) Failing after 5s
FlowDeck CI / docker (push) Has been skipped
- 7 new tables: workspaces, workspace_members, comments, page_history, favorites, database_templates, page_templates
- Router /workspace: 20 endpoints (CRUD workspaces, members, comments, favorites, history, templates, CSV import/export, public sharing)
- Roles: admin, editor, commenter, viewer
- FK user auto-insert for test compatibility
- CSRF exempt for /workspace paths
- 67/67 tests passent (+7 tests v2.0)
- Version 1.9.0 → 2.0.0
- Docs: ROADMAP updated (7/7 blocs completed)
v2.0.0
2026-07-10 07:22:34 -04:00
bruno f752ae2ed7 docs: ROADMAP v1.9.0 ✅ — 5 blocs complétés (37/52)
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
2026-07-09 23:09:05 -04:00
bruno ad95c87b01 feat(v1.9.0): My Tasks — dashboard cross-collection unifié
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- Nouveau router my_tasks.py: GET /my-tasks (HTML), GET /my-tasks/api (JSON)
- Agrège toutes les pages assignées à l'utilisateur sur toutes les collections
- Vues: All, Today, Overdue, Next 7 days
- Groupement par collection, filter admin auto
- 60/60 tests passent (+4 tests v1.9)
- Version 1.8.0 → 1.9.0
v1.9.0
2026-07-09 23:08:49 -04:00
bruno 4a6ed24315 feat(v1.7.0+v1.8.0): Vues Améliorées + Sub-items & Dépendances
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
v1.7.0 — View Management:
- PUT /db/views/{id}/config (group_by, card_size, cover, visible_properties)
- POST /db/{id}/views/save-as (save current state as new view)
- GET /db/{id}/views/api (list views)

v1.8.0 — Sub-items & Dependencies:
- parent_id auto-référence: GET/POST /db/{id}/pages/{pid}/sub-items
- Status aggregation: GET .../status-aggregate
- Dependencies: POST .../dependencies, POST .../check-deps (blocking constraint)
- 56/56 tests passent (+7 tests)
- Version 1.6.0 → 1.8.0
v1.8.0
2026-07-09 23:06:53 -04:00
bruno e725398543 feat(v1.6.0): Vues Manquantes — Calendar, Gallery, List, Timeline, Table SSR
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- 4 nouvelles vues HTML: calendar (grid mensuel), gallery (cartes), list (compacte), timeline (Gantt)
- Navigation entre vues via tabs (Table/Board/Calendar/Gallery/List/Timeline)
- _render_view dispatcher + _base_html template commun
- Routes: GET /db/{id}/view/{calendar,gallery,list,timeline}
- Default view = table (SSR avec properties)
- 49/49 tests passent (+6 tests v1.6)
- Version 1.5.0 → 1.6.0
v1.6.0
2026-07-09 23:03:51 -04:00
bruno b8647f1a19 feat(v1.5.0): Relations, Rollups, Formulas — FormulaEngine, RollupEngine, API
FlowDeck CI / test (push) Failing after 15s
FlowDeck CI / docker (push) Has been skipped
- FormulaEngine: 19 functions (prop, if, concat, round, now, today, dateAdd, replace, ...)
- RollupEngine: 12 aggregations (count, sum, avg, min, max, range, unique, percent_checked)
- API relation: POST /db/{id}/properties/relation + /link (bidirectional)
- API rollup: POST /db/rollup/compute
- API formula: POST /db/formula/evaluate
- FKs fix: related_collection_id/relation_property_id/target_property_id → ON DELETE SET NULL
- 43/43 tests passent (+5 tests v1.5)
- Version 1.4.0 → 1.5.0
- Docs: ROADMAP, CHANGELOG à jour
v1.5.0
2026-07-09 22:48:41 -04:00
bruno 16532d10bd feat(v1.4.0): Propriétés Avancées — collection_properties, 21 types, API CRUD
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- Table collection_properties (21 types Notion: number, checkbox, url, email, phone, status, files, unique_id, ...)
- Auto-propriétés: created_time, created_by, last_edited_time, last_edited_by
- Service property_types.py: validation, formatage, auto-values
- API: GET /db/property-types/api, CRUD /db/{id}/properties/api, PUT/DELETE /db/properties/{id}/api
- 38/38 tests passent (+4 nouveaux tests v1.4)
- Version 1.3.0 → 1.4.0
- Docs: ROADMAP, CHANGELOG, WORKLOAD, README à jour
v1.4.0
2026-07-09 22:43:16 -04:00
bruno d94817bac5 docs: ROADMAP v1.3.0 ✅ + WORKLOAD/README updated
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- ROADMAP: v1.3.0 déplacé dans Completed, item checkboxes [x]
- WORKLOAD: réécrit pour refléter v1.3.0 + plan v1.4.0
- README: version 1.3.0, features à jour, tests 34/34
2026-07-09 22:40:19 -04:00
bruno c574d2c8b5 feat(v1.3.0): Database Concept — collections, pages, views, GiteaBoardCompat
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
Database foundation:
- New tables: collections, collection_pages, collection_views
- Router /db with full CRUD API
- GiteaBoardCompat adapter for legacy board compatibility
- CSRF exemption for /db/ routes
- 34/34 tests pass
- Version bump 1.0.0 → 1.3.0
- Deployed and verified on Docker port 8080
v1.3.0
2026-07-09 22:33:39 -04:00
bruno b9723dffab feat(v1.3.0): Step 3 — Router /db avec API CRUD collections + pages
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- Nouveau router app/routers/collections.py
- GET/POST/PUT/DELETE /db pour les collections
- POST/GET/PUT/DELETE pour les pages dans une collection
- Vue HTML basique par collection + vue par défaut auto-créée
- CSRF exempté pour /db/
- 5 nouveaux tests (collections list, CRUD, pages CRUD, validation, HTML render)
- 33/33 tests passent
2026-07-09 22:30:05 -04:00
bruno 3967c7df85 feat(v1.3.0): Step 2 — DB tables collections, collection_pages, collection_views
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- Ajout des 3 nouvelles tables pour le Database Concept
- collections: base de données abstraite, indépendante de Gitea
- collection_pages: pages génériques avec parent_id et property_values_json
- collection_views: vues configurables par collection
- Mise à jour test_db_tables_exist pour inclure les nouvelles tables
- 28/28 tests passent
2026-07-09 22:26:45 -04:00
bruno 66ae1289a9 docs: ROADMAP v1.3-v2.1 + ARCHITECTURE v2.0 complète
FlowDeck CI / test (push) Failing after 6s
FlowDeck CI / docker (push) Has been skipped
ROADMAP.md:
- 52 fonctionnalités manquantes organisées en 7 phases (v1.3 → v2.1)
- v1.3: Database Concept (collections, pages, views)
- v1.4-v1.5: Propriétés avancées (number, checkbox, status, relation, rollup, formula)
- v1.6-v1.7: Vues manquantes (calendar, timeline, gallery, list, group_by, filters)
- v1.8: Sub-items & Dépendances
- v1.9: My Tasks & Dashboard unifié
- v2.0: Éditeur complet + Multi-utilisateurs
- v2.1: Intégrations avancées (API, webhooks, n8n, mobile PWA)

ARCHITECTURE.md (63 Ko, 15 sections):
- Architecture système complète (schéma ASCII détaillé)
- Modèle de données: 22 tables SQL (existantes + nouvelles)
- Diagramme des relations entre tables
- Routes API complètes: 80+ endpoints documentés
- Frontend: layout, 6 vues, composants réutilisables
- Authentification OAuth2 + modèle de permissions multi-user
- Intégration Gitea: flux, sync, adaptateur de compatibilité
- Système de propriétés: 18 types, formula engine, rollup engine
- Système de vues: config JSON, chaîne de rendu
- Sub-items: auto-référence, affichage imbriqué
- Dépendances: contraintes, flèches timeline
- My Tasks: algorithme d'agrégation cross-collection
- Éditeur de blocs: 15+ block types, format JSON
- Multi-utilisateurs: workspaces, ACL, historique, commentaires
- Déploiement: Docker Compose + migration PostgreSQL
2026-07-09 21:38:28 -04:00
bruno 1dea15ad90 docs: Guide Notion Database & Tasks — analyse complète pour FlowDeck
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- Anatomie des Databases Notion (Collection/CollectionView/Pages)
- 21 types de propriétés, 6 types de vues, Relations & Rollups
- Architecture des Tasks (sub-items auto-référencés, dépendances)
- Plan d'implémentation en 6 phases avec SQL, Python et HTML
- Rétrocompatibilité avec les boards Gitea existants
2026-07-09 17:41:21 -04:00
bruno f04003f060 Add guide for cloning Notion databases and tasks
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
Also add screenshots of Notion trash menu and library section.
2026-07-09 16:40:20 -04:00
bruno 780cccf79f feat: Notion sidebar complete — 7 sections, nav icons, auto-update title
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- Sidebar: 7 collapsible sections (Meetings, Recents, Favorites, Agents, Shared, Private, Notion apps)
- Nav icon row: Home with text + icon, Chat/Inbox/Search icon-only, collapse on right
- Notion apps: Library, My Tasks, Trash, Help
- Footer: New chat Ctrl+O + New page buttons
- Auto-update: sidebar items reflect title changes immediately on save
- CSS: nav-icon-btn, home-btn, collapse-btn, empty-hint, outline none
2026-07-09 16:39:22 -04:00
bruno c02e00726e Add Notion navigation menu screenshots
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
2026-07-09 15:48:26 -04:00
bruno a585587e4c feat: Notion-style block editor v6 + sidebar refactoring
FlowDeck CI / test (push) Failing after 6s
FlowDeck CI / docker (push) Has been skipped
Block editor:
- Vanilla JS rendering (renderBlock) — zero Alpine x-for on blocks
- 15 block types with Notion placeholders (Heading 1-4, Toggle list, Empty quote, etc.)
- Event delegation keydown handler on container
- sync() before every render() — content preserved across Enter/Backspace/type changes
- Slash menu with event delegation, single innerHTML set, window.E for applySlash
- Markdown shortcuts use idx (not bid) to avoid stale references after render
- data-bid only on contentEditable (not .block-wrapper) — fixes '+' artifact
- .empty class + outline:none on block-content

Sidebar:
- Notion-style collapsible sections (Recents/Private/Shared/Notion apps)
- Workspace header with chevron, Search tab, Home tab
- Sticky footer with '+ New page' button
- sectionsOpen/toggleSection/toggleWorkspaceMenu/openQuickFind in appState
- CSS: uppercase section headers, 240px width, collapsed 56px mode, border-right
2026-07-09 15:47:43 -04:00
bruno 8aa1a703b5 Add screenshots of empty editor states
FlowDeck CI / test (push) Failing after 9s
FlowDeck CI / docker (push) Has been skipped
2026-07-09 14:28:31 -04:00
bruno 205f09838f fix: block editor visibility — flex layout + 400ms init delay
FlowDeck CI / test (push) Failing after 3s
FlowDeck CI / docker (push) Has been skipped
- page-editor-wrapper: min-height:0 + display:flex column to prevent collapse
- blocks-container: flex:1 to fill remaining space
- init setTimeout: 200→400ms for reliable Alpine render
- Removed min-height:100% that caused overflow clipping
2026-07-09 11:40:44 -04:00
bruno c8c08f5589 Add comprehensive Notion sidebar development guide
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
2026-07-09 11:30:05 -04:00
bruno d4cd45c6cb feat: Notion-style block editor v1 + Move to Trash + fixes
FlowDeck CI / test (push) Failing after 8s
FlowDeck CI / docker (push) Has been skipped
- Block editor: 13 block types with contentEditable + vanilla JS event delegation
- Slash menu /: 14 commands, 100% vanilla JS (zero Alpine conflicts)
- Keyboard: Enter=new block, Shift+Enter=soft break, arrows navigate blocks
- Drag & drop: SortableJS with 6-dot handles on block-wrapper
- Move to Trash: DELETE /board/api/pages/{id} + instant sidebar cleanup
- Placeholders: 'New page' + 'Type / for commands' in gray (CSS :empty::before)
- Redirect after delete stays in project context via workspaceKey
- Fixes: title auto-save, cursor positioning, x-for keys, Sortable guard
2026-07-09 11:29:36 -04:00
bruno 06cdec52fa Add comprehensive guide on recreating the Notion editor
FlowDeck CI / test (push) Failing after 6s
FlowDeck CI / docker (push) Has been skipped
2026-07-09 08:20:43 -04:00
bruno 755404fbb0 feat: sidebar tree navigation — toggle chevrons + drag & drop
FlowDeck CI / test (push) Failing after 3s
FlowDeck CI / docker (push) Has been skipped
- Add sort_order column to pages table for drag & drop reordering
- Rewrite _sidebar_data with recursive _build_page_tree for nested hierarchy
- Add tree toggle buttons (▶ collapsed / ▼ expanded) on parent items
- Alpine.js expandedNodes state with toggleTreeNode() for expand/collapse
- Jinja2 recursive macro render_tree_item for proper nesting + indentation
- SortableJS integration on .sidebar-items for drag & drop repositioning
- New PUT /board/api/pages/{id}/move API for persisting moves
- Auto-set sort_order on page creation (max+1 for same parent)
- CSS: .tree-toggle, .tree-toggle-placeholder, grab cursor on page-icon
- 28/28 tests pass, all endpoints healthy
2026-07-08 22:27:09 -04:00
bruno c1dba816de Add Notion files tree diagram image
FlowDeck CI / test (push) Failing after 5s
FlowDeck CI / docker (push) Has been skipped
2026-07-08 21:58:52 -04:00
bruno aa3d5d87c8 feat: account management panel — /accounts + /api/users/me
FlowDeck CI / test (push) Failing after 3s
FlowDeck CI / docker (push) Has been skipped
- Page /accounts: profil utilisateur éditable, comptes connectés, workspace members
- API GET/PUT /api/users/me: lecture/écriture profil local (full_name, email)
- Users list from local DB, auth via Gitea OAuth2
- Imports SessionManager clean dans api.py
2026-07-08 16:09:20 -04:00
bruno 4c49d43c66 feat: sous-pages — parent_id, sidebar hiérarchique, bouton +New sub-page
FlowDeck CI / test (push) Failing after 3s
FlowDeck CI / docker (push) Has been skipped
- DB: parent_id dans table pages (ALTER TABLE migration auto)
- Sidebar: pages parent_id IS NULL affichées, sous-pages indentées en dessous
- API: create_page accepte parent_id (0 = racine)
- JS: newSubPage extrait page ID et passe parent_id
- page_editor: liste les sous-pages + bouton '+ New sub-page'
2026-07-08 16:07:25 -04:00
bruno b826cfc247 fix: auto-save met à jour le titre du sidebar sans recharger la page
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- sidebar items: attribut data-page-id ajouté pour ciblage DOM
- save(): après PUT réussi, met à jour .page-name dans le sidebar
- saveTitle(): reload la page (changement de titre = reload ok)
2026-07-08 16:01:24 -04:00
bruno c00442c693 fix: PUT /board/api/pages exempté CSRF + reload après saveTitle
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- CSRF middleware: excluded_paths utilise maintenant startswith (pas exact match)
- /board/api/pages/* exempté — les PUT depuis page_editor passent
- saveTitle() reload la page après sauvegarde → sidebar mis à jour
2026-07-08 15:57:25 -04:00
bruno 1d2c2c0919 fix: context menu implémenté + page editor CSRF + workspace context
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- Context menu: toutes les actions fonctionnelles (favorite, copyLink, duplicate, rename, move, delete, openTab)
- Page editor: CSRF token ajouté dans save() et saveTitle()
- Page editor: workspace context restauré (owner/repo extrait de pages.workspace)
- Route /pages/{id}: utilise board._sidebar_data pour préserver le contexte projet
2026-07-08 15:51:24 -04:00
bruno 92dad6db1f fix: topbar utilisait Jinja2 au lieu d'Alpine — breadcrumb, titre, edited
FlowDeck CI / test (push) Failing after 8s
FlowDeck CI / docker (push) Has been skipped
- Remplacé {{ workspaceName }}, {{ currentPage }}, {{ pageIcon }}, {{ pageTitle }}, {{ lastEdited }} par x-text
- Topbar, breadcrumb, context menu affichent maintenant le contenu dynamique
- workspace_key correctement défini (bruno/flowdeck sur board, vide sur dashboard)
2026-07-08 15:45:06 -04:00
bruno 4eaec52d66 feat: workspace contextuel — pages liées au projet, sidebar vues cliquables
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- pages.workspace = owner/repo (ex: bruno/flowdeck) au lieu du nom user
- Sidebar: Kanban board + 4 sous-vues avec URLs distinctes (?view=kanban|table|...)
- Cliquer sur 'Table view' dans sidebar → change la vue à droite
- Dashboard (/): sidebar montre uniquement les projets Gitea
- Board (/board/{o}/{r}): sidebar montre les pages de ce projet
- Changement de projet = changement de contexte (pages isolées)
- newPage/newSubPage passent workspace_key à l'API
- Auto-switch view depuis paramètre URL dans board.html
2026-07-08 15:38:25 -04:00
bruno bed326ee9b feat: menu New page (Empty/Database/Kanban) + slash commands / dans l'éditeur
FlowDeck CI / test (push) Failing after 5s
FlowDeck CI / docker (push) Has been skipped
- Topbar bouton New ▾ avec dropdown: Empty page, Database, Kanban board
- page_editor: commandes slash / (/h1, /h2, /list, /todo, /code, /table, /quote...)
- Fonctions JS: createEmptyPage, createDatabase, createBoard
- State showNewPageMenu dans Alpine.js
2026-07-08 15:26:36 -04:00
bruno e3180c6255 fix: route /pages/{id} accessible à la racine — création pages fonctionnelle
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- Ajouté /pages/{page_id} dans dashboard.py (route racine, pas /board/pages/...)
- La redirection après création de page fonctionne maintenant
- Les pages Markdown s'affichent correctement
2026-07-08 15:25:07 -04:00
bruno 24e979a05f fix: sidebar Favorites + Shared, Library page with tabs, CSRF fix
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- Section Favorites ajoutée dans le sidebar (⭐)
- Section Shared ajoutée (👥)
- Section Library remplacée par bouton 📚 qui ouvre /library
- Page /library avec onglets: Recents | Favorites | Shared | Private
- CSRF token injecté dans les appels fetch (newPage, newSubPage)
- Bouton + sur éléments sidebar corrigé (POST /board/api/pages avec X-CSRF-Token)
- Bouton 📚 sur sections ouvre /library
- sidebar_data inclut favorite_pages=[]
2026-07-08 15:17:14 -04:00
bruno b10118eddc feat: sidebar Kanban board + pages Markdown + boutons + et 📚 fonctionnels
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- Sidebar: 'Kanban board' affiché avant les 4 sous-vues
- DB: nouvelle table 'pages' (workspace, title, content, parent_section)
- API: POST /board/api/pages, GET/PUT /board/api/pages/{id}
- UI: page_editor.html — éditeur Markdown avec preview live
- UI: boutons + créent une page Markdown, bouton 📚 ouvre la page
- Dashboard: sidebar_data utilise BDD pages + workspace
- board.py: _sidebar_data enrichi (Kanban board + pages DB)
2026-07-08 15:02:15 -04:00
bruno a5e91cf8c7 Merge branch 'main' of https://git.dracodev.net/bruno/flowdeck
FlowDeck CI / test (push) Failing after 3s
FlowDeck CI / docker (push) Has been skipped
2026-07-08 14:55:48 -04:00
bruno b50d920c36 Add screenshots for Notion add page and library function buttons 2026-07-08 14:54:33 -04:00
bruno fd47c8f161 release: v1.0.0 — Production
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
- FastAPI lifespan (deprecation fix, 0 warnings)
- 28 tests (vues, filtres, tris, APIs, CSRF, CORS, DB)
- CI/CD Gitea Actions (.gitea/workflows/ci.yml)
- Version 1.0.0: main.py, api.py, health endpoint
- CHANGELOG.md v1.0.0
- ARCHITECTURE.md: 12 tables, routes complètes
- ROADMAP: all versions ✅
v1.0.0
2026-07-08 14:40:03 -04:00
bruno 281a8055fc feat: v0.9.0 — Backend Notion-Style (propriétés custom, AI keywords, sync)
CI / test (push) Failing after 3s
CI / lint (push) Failing after 3s
DB:
- project_properties: propriétés custom par projet (select, multi_select, date, person, text)
- property_values: valeurs par issue (UNIQUE property+issue)
- ai_keywords: mots-clés extraits automatiquement (keyword, color, usage_count)

Backend:
- /board/api/properties/{o}/{r} — CRUD propriétés custom
- /board/api/ai-keywords/{o}/{r} — GET keywords list
- /board/api/ai-keywords/{o}/{r}/extract — POST ré-extraction
- /board/api/sync/{o}/{r} — POST sync bidirectionnelle complète
- _map_issue_to_card enrichi: custom_props + keywords par issue
- _extract_ai_keywords: extraction depuis labels + body texte

Documentation:
- ROADMAP v0.9.0 ✅ (5/5 checkboxes)
2026-07-08 14:34:32 -04:00
bruno 751f13869a feat: v0.5.0→v0.8.0 — multi-vues, filtres, tri, modale, checklists
CI / test (push) Failing after 4s
CI / lint (push) Failing after 3s
v0.5.0 (Kanban complet):
- Card detail modal avec checklists + commentaires Gitea
- Création d'issues inline (formulaire + POST /api/issues)
- Édition inline (contenteditable)

v0.6.0 (Table view):
- table_view.html: colonnes Name/Status/Assign/Deadline/Team/Keywords
- Tri par colonne (clic en-tête, asc/desc)
- Groupes rétractables (Design/Engineering)

v0.7.0 (Filtres & Tri):
- Filtres cumulables AND (backend _apply_filters + UI pastilles)
- Status dropdown avec checkboxes + dots colorés
- Sort panel multi-critères (+ Add sort / Delete sort)
- Backend _apply_sorts avec asc/desc

v0.8.0 (Vues spéciales):
- status_overview.html: SVG donut chart + légende + pourcentages
- team_load.html: barres empilées par avatar
- detailed_board.html: cartes avec toutes propriétés

Backend:
- /board/{o}/{r}/view/{view} — 5 fragments HTMX
- /api/issues/{o}/{r}/{id}?format=html — modal HTML
- _map_issue_to_card, STATUS_COLORS/LABELS exportés
2026-07-08 14:29:33 -04:00
bruno ff555c6fd4 docs: v0.4.0 complétée — ROADMAP + WORKLOAD à jour
CI / test (push) Failing after 3s
CI / lint (push) Failing after 4s
- v0.4.0 marqué ✅ (14/14 checkboxes)
- v0.5.0 Kanban avancé à 70% (colonnes, groupes, cartes, drag&drop)
- WORKLOAD: Phases 1-3 à 100%, Phases 4-7 progression mise à jour
2026-07-08 14:21:41 -04:00