Commit Graph
423 Commits
Author SHA1 Message Date
bruno 5ec54d3cc2 fix: barre flottante deplacee hors content-area (avant </body>) — immunisee contre innerHTML
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -5s
2026-06-15 16:33:54 -04:00
bruno c2d7000edf fix: barre flottante en position fixed (viewport) pour visibilite permanente
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -8s
2026-06-15 16:28:07 -04:00
bruno 91d7074a07 fix: preserver la barre flottante lors du innerHTML clear du content-area
CI / lint (push) Failing after 2s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -7s
2026-06-15 16:23:23 -04:00
bruno d0bc5ebbd0 fix: mise a jour legacy.js + app.js pour les nouveaux IDs rb-* (barre flottante)
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -8s
2026-06-15 15:16:54 -04:00
bruno 1ce3a6d65c feat: barre de recherche epuree + barre flottante de resultats
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -7s
- Header: retire Aa/wd/.*, compteur 0/0, fleches nav (reste filtre + clear)
- Nouvelle barre flottante sticky en bas du content-area
- Style pill arrondi, fond semi-transparent, ombre legere
- Contient: compteur, nav prev/next, toggles Aa/wd/.*
- Apparait seulement quand des resultats sont affiches
- Disparait au clear ou retour dashboard
- Mobile: filtre + clear restent visibles
- IDs renommes rb-* pour eviter collisions
2026-06-15 15:12:18 -04:00
bruno 75a28da8d9 style: formatage HTML index.html — indentation multi-lignes coherente
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -7s
2026-06-15 14:55:36 -04:00
bruno 0f4a7405db feat: section aide rapide dans le dashboard stats
CI / lint (push) Failing after 1s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -8s
- Boite elegante sous les statistiques avec icone clavier
- 10 raccourcis clavier essentiels (palette, recherche, edition)
- Badges style touches clavier (mono, accent, bordure)
- Astuce Ctrl+survol et editeur Forge
- Toggle masquer/afficher avec persistence localStorage
- Layout grid responsive (auto-fill minmax 260px)
2026-06-15 14:11:49 -04:00
bruno dd52f379bf fix: rename variables Forge pour eviter conflit const saveBtn
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -2s
2026-06-15 13:59:15 -04:00
bruno cc2ec9e869 fix: suppression boutons doublons Forge + delegation parent modal
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -8s
- Retrait des 3 boutons (delete/cancel/save) de la barre Forge (doublons)
- Retrait des handlers JS associés dans editor-poc.html
- Le header parent ObsiGate reste visible quand Forge est ouvert
- Les boutons save/delete du parent délèguent à Forge via postMessage
- Forge écoute 'parent-save' et 'parent-delete' du parent
- state.editorVault/editorPath settés dans viewer.js pour le parent
2026-06-15 13:57:21 -04:00
bruno feeb46b873 feat: finalisation éditeur Forge + mode hors-ligne PWA + consolidation roadmap
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after -7s
- Forge: Tab indent, Ctrl+K, auto-focus, AI status, messages erreur FR
- Forge: slash commands clean, cache-bust iframe, preview serveur
- Forge: iframe 82vh, hauteur auto, table inline, sélecteur langage
- PWA hors-ligne: IndexedDB (offline-db.js + offline.js)
- Mermaid: thème dark complet, highlight.js preview
- Backend: màj CSP, rename chain, bookmarks/history/shares
- Roadmap: consolidation dans docs/ROADMAP.md (75 items)
- Infra: docker-compose.podman.yml, suppression test-vault
- .gitignore: exclusion odysseus/
2026-06-14 20:27:37 -04:00
bruno 0cdebc5b40 feat: finalize Forge editor — Tab indent, Ctrl+K, auto-focus, AI status, French errors
CI / lint (push) Failing after 3s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in -1s
Tab/Shift+Tab: indent/dedent list items. Ctrl+K: link insertion prompt. Qi button: position:fixed (always visible). Auto-focus textarea on load. AI ready indicator in status bar. All error messages in French. Force-save shows 'Sauvegarde' toast.
2026-06-10 09:09:53 -04:00
bruno 8cf7b55747 fix: slash commands clean /command + cache-bust Forge iframe
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in -3s
Bug 1: selectSlashAction now strips /command text before executing. Bug 2: Forge URL includes _ts=Date.now() to prevent cache.
2026-06-10 08:59:58 -04:00
bruno 89b0a5a024 Consolidate roadmap files into docs/ROADMAP.md 2026-06-09 10:38:50 -04:00
bruno 75291eac42 feat: Mermaid + highlight.js rendering in preview pane
CI / lint (push) Successful in 16s
CI / security (push) Successful in 11s
CI / test (push) Successful in 40s
CI / build (push) Successful in 4s
Added CDN scripts: mermaid@11, highlight.js@11 with atom-one-dark theme. After server-rendered HTML is injected, processPreviewBlocks() renders Mermaid diagrams via mermaid.render() and highlights code blocks via hljs.highlightElement(). Preview now matches ObsiGate viewer fidelity.
2026-06-06 01:05:16 -04:00
bruno 88185c70e0 feat: preview uses ObsiGate server-side rendering (Mermaid, highlight, wikilinks)
CI / lint (push) Successful in 15s
CI / security (push) Successful in 7s
CI / test (push) Successful in 23s
CI / build (push) Successful in 3s
Preview now saves content via API then fetches rendered HTML from GET /api/file/{vault}?path=... instead of client-side marked.parse(). This enables Mermaid diagrams, syntax highlighting, wikilink resolution, and frontmatter cards. Demo mode still uses marked.js fallback. Debounce increased to 500ms. Loading spinner during render.
2026-06-06 00:53:40 -04:00
bruno 3090fe62fe fix: Forge iframe height uses 82vh (bypasses flex parent issue)
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 24s
CI / build (push) Successful in 2s
height:100% doesn't work when parent uses flex height. position:absolute collapses the parent. 82vh = 90vh modal - header. Also set bodyEl overflow:hidden.
2026-06-06 00:40:35 -04:00
bruno 6388718b87 fix: Forge iframe fills full modal height (position:absolute)
CI / lint (push) Successful in 15s
CI / security (push) Successful in 9s
CI / test (push) Successful in 38s
CI / build (push) Successful in 3s
.editor-body has flex height, so percentage height on iframe didn't work. Changed to position:absolute;inset:0 which fills the relative parent regardless of flex sizing.
2026-06-06 00:35:57 -04:00
bruno 12eaa9f659 fix: textarea fills full editor height when content is short
CI / lint (push) Successful in 15s
CI / security (push) Successful in 11s
CI / test (push) Successful in 26s
CI / build (push) Successful in 3s
autoHeight() now uses Math.max(contentH, wrapH-48) so textarea fills available space even with short content, and grows beyond when content is long.
2026-06-06 00:27:17 -04:00
bruno ac9382d12e fix: auto-height on file load so entire content is visible
CI / lint (push) Successful in 15s
CI / security (push) Successful in 9s
CI / test (push) Successful in 26s
CI / build (push) Successful in 3s
Added autoHeight() helper called after ta.value is set in both demo mode and API load. Previously only triggered on input event, so loaded files only showed first line (scrollHeight was 0 until user typed).
2026-06-06 00:18:11 -04:00
bruno ba30d1e7ce feat: Forge opens in editor modal instead of new tab
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 29s
CI / build (push) Successful in 3s
Forge button now reuses the existing editor-modal with an iframe. Same position as the Edit/CodeMirror modal. On close, the forge iframe is removed and the current file is refreshed (picks up changes saved by the POC's auto-save). Updated both frontend/js/viewer.js and frontend/app.js.
2026-06-06 00:11:21 -04:00
bruno c58eb9314e fix: remove 160px bottom padding, editor now uses full height
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 36s
CI / build (push) Successful in 3s
2026-06-06 00:06:17 -04:00
bruno 53cd202a93 fix: bubble menu always positioned at selection end
CI / lint (push) Successful in 15s
CI / security (push) Successful in 9s
CI / test (push) Successful in 24s
CI / build (push) Successful in 2s
Changed from selectionStart to selectionEnd so bubble follows where user finished selecting. Removed broken fallback that repositioned to textarea bottom on every scroll. Simple viewport clamp instead.
2026-06-06 00:04:04 -04:00
bruno 76a5b23e96 feat: inline table form + code language picker (no more prompt dialogs)
CI / lint (push) Successful in 15s
CI / security (push) Successful in 9s
CI / test (push) Successful in 25s
CI / build (push) Successful in 3s
Table: inline form with cols/rows inputs, positioned at cursor. Enter to insert, Esc to cancel. Code block: language picker with 41 languages (bash,js,ts,py,java,rust,go,c,cpp,html,css,json,yaml,sql,dockerfile...), navigable via arrows+Enter. All positioned via caretToPixel like other menus. Click outside closes.
2026-06-06 00:02:16 -04:00
bruno f42e37489b fix: table prompt in French, tab title shows filename
CI / lint (push) Successful in 14s
CI / security (push) Successful in 7s
CI / test (push) Successful in 25s
CI / build (push) Successful in 2s
"Nombre de colonnes/lignes" prompts. Tab title now shows "Title - ObsiGate Forge" when file loaded, "ObsiGate Forge - Demo" in demo mode.
2026-06-05 23:34:30 -04:00
bruno 218c77dafb feat: auto-height, sync scroll, Mermaid QI, table prompt, bubble follow
CI / lint (push) Successful in 15s
CI / security (push) Successful in 10s
CI / build (push) Has been cancelled
CI / test (push) Has been cancelled
Textarea overflow:hidden + auto-height via scrollHeight to eliminate double scrollbar. Sync scroll between editor and preview panes (bidirectional percentage). Alt+I menu now includes 7 Mermaid diagram templates (flowchart, sequence, class, state, ER, gantt, pie). Table now prompts for cols/rows via prompt(). Bubble menu follows cursor via document selectionchange event.
2026-06-05 23:33:37 -04:00
bruno bbe109e4e5 fix: slash/QI keyboard nav + bubble position at selection
CI / lint (push) Successful in 19s
CI / security (push) Successful in 9s
CI / test (push) Successful in 24s
CI / build (push) Successful in 2s
Slash nav: moved from textarea keydown to slashSearch input keydown (textarea loses focus when slash menu opens). QI nav: document-level up/down/enter/esc with highlight. Bubble: positioned at selection start via caretToPixel instead of textarea bottom center.
2026-06-05 23:09:45 -04:00
bruno bc47f79378 fix: slash menu at caret position, bubble below, Alt+I Quick Insert
CI / lint (push) Successful in 15s
CI / security (push) Successful in 8s
CI / test (push) Successful in 25s
CI / build (push) Successful in 2s
Slash menu now positioned below current line at the / character using monospace caret-to-pixel calc. Bubble menu now below textarea (was above). Quick Insert menu now opens below cursor line via Alt+I shortcut and click button. Status bar shows Alt+I hint.
2026-06-05 22:56:38 -04:00
bruno dcf82e7603 fix: load file content from /raw endpoint instead of /view
CI / lint (push) Successful in 14s
CI / security (push) Successful in 9s
CI / test (push) Successful in 26s
CI / build (push) Successful in 2s
GET /api/file/{vault}?path=... returns html/title but not raw content. Switched to GET /api/file/{vault}/raw?path=... which returns {raw:...}. Title now extracted from first # heading in the content.
2026-06-05 22:30:29 -04:00
bruno 6eff157686 feat: add Forge button next to Edit in viewer toolbar
CI / lint (push) Successful in 15s
CI / security (push) Successful in 9s
CI / test (push) Successful in 26s
CI / build (push) Successful in 2s
Opens /editor-poc?vault=X&path=Y in new tab. Button uses hammer icon + Forge label. Added in both frontend/js/viewer.js and frontend/app.js.
2026-06-05 22:17:37 -04:00
bruno a358f772bd feat: POC v3 — real editor with backend, AI, and preview
CI / lint (push) Successful in 14s
CI / security (push) Successful in 9s
CI / test (push) Successful in 24s
CI / build (push) Successful in 2s
Load file via ?vault=X&path=Y params using API. Auto-save 2s debounce with PUT /api/file/{vault}/save. Force save with Ctrl+S. Real AI integration: improve, fix-spelling, continue, summarize, translate, simplify, lengthen via /api/ai/* endpoints. AI status check + button states. Live markdown preview with marked.js CDN. Split view with draggable resize handle. Dirty/unsaved indicator. Vault+path in status bar. Word+char counter. All 5 zones preserved.
2026-06-05 21:57:06 -04:00
bruno a21546028a feat: POC v2 - real markdown textarea with live insertions
CI / lint (push) Successful in 14s
CI / security (push) Successful in 9s
CI / test (push) Successful in 24s
CI / build (push) Successful in 2s
Replace contenteditable div with textarea for real markdown editing. insertAtCursor, wrapSelection, replaceLineAtCursor. 18 slash commands map to real markdown syntax. Bubble menu Bold/Italic/Strike/Code/Highlight wrap selection. Ctrl+B/I shortcuts. Word+char count.
2026-06-05 21:27:00 -04:00
bruno 02564cadfa Add roadmap items for PDF support and split view editor
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 26s
CI / build (push) Successful in 3s
2026-06-05 20:30:26 -04:00
bruno 739b359de2 feat: Editor POC — multi-zone toolbar mockup (TOOLBAR_DESIGN_ANALYSIS.md)
CI / lint (push) Successful in 15s
CI / security (push) Successful in 9s
CI / build (push) Has been cancelled
CI / test (push) Has been cancelled
Add standalone /editor-poc page demonstrating all 5 toolbar zones:
- Zone 1: Top Fixed Bar (hamburger, title, AI glow button, save indicator)
- Zone 2a: Slash Command Menu (/ on empty line, 15 commands, filtering)
- Zone 2b: Bubble Menu (on text selection, formatting + AI dropdown)
- Zone 3: Floating Quick Insert (per-line, Image/PDF/Code/Table/AI)
- Zone 4: AI Side Panel (Ctrl+J toggle, chat, suggestions)
- Zone 5: Drag & Drop overlay with dashed border

Files:
- new: frontend/editor-poc.html (46KB standalone vanilla JS)
- backend/main.py: +/editor-poc route before catch-all
- frontend/index.html: Editor POC button in header menu
- frontend/js/config.js: initEditorPocBtn() function + export
- frontend/js/legacy.js: re-export initEditorPocBtn
- frontend/js/app.js + frontend/app.js: init call in both versions
2026-06-05 20:29:56 -04:00
bruno 0f400d72cd docs: ajout analyse complète architecture toolbar multi-zone (5 zones: top bar, slash menu, bubble menu, quick insert, AI panel)
CI / lint (push) Successful in 18s
CI / security (push) Successful in 9s
CI / test (push) Successful in 26s
CI / build (push) Successful in 2s
2026-06-05 19:53:05 -04:00
bruno 0f1ae237a0 fix: patch beta diagram colors via JS — setAttribute overrides inline SVG fills (CSS !important fails)
CI / lint (push) Successful in 18s
CI / security (push) Successful in 13s
CI / test (push) Successful in 28s
CI / build (push) Successful in 4s
2026-06-05 13:11:50 -04:00
bruno 0f6bb52776 fix: ER diagram — darker rows (#111d30/#152238), white text for high contrast
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 23s
CI / build (push) Successful in 2s
2026-06-05 11:49:35 -04:00
bruno 946c0098a9 fix: xychart-beta dark mode — CSS override for cream bars + orange line (ignores themeVariables)
CI / lint (push) Successful in 18s
CI / security (push) Successful in 8s
CI / test (push) Successful in 24s
CI / build (push) Successful in 3s
2026-06-05 11:46:18 -04:00
bruno 24b91b0d62 fix: packet-beta dark mode — CSS override for hardcoded white blocks (themeVariables ignored by beta)
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 25s
CI / build (push) Has been cancelled
2026-06-05 11:45:11 -04:00
bruno 0fcb917a8d fix: ER diagram row contrast, mindmap branch colors, timeline blue boxes, xyChart blue bars
CI / lint (push) Successful in 15s
CI / security (push) Successful in 7s
CI / test (push) Successful in 24s
CI / build (push) Successful in 2s
2026-06-05 11:38:39 -04:00
bruno 0f9e45dcb1 feat: comprehensive Mermaid dark theme — bleu-tinted palette for flowchart, gantt, git, mindmap, pie
CI / lint (push) Successful in 14s
CI / security (push) Successful in 13s
CI / test (push) Successful in 23s
CI / build (push) Successful in 3s
2026-06-05 11:21:24 -04:00
bruno b55eacad78 feat: Mermaid dark theme with custom themeVariables + re-render on switch + fix code view colors
CI / lint (push) Successful in 13s
CI / security (push) Successful in 8s
CI / test (push) Successful in 28s
CI / build (push) Successful in 2s
2026-06-05 09:57:17 -04:00
bruno 6d7f95186d fix: backup close button — add background + shadow so it's visible over the overlay
CI / lint (push) Successful in 15s
CI / security (push) Successful in 8s
CI / test (push) Successful in 25s
CI / build (push) Successful in 3s
2026-06-05 09:32:29 -04:00
bruno 51a5162e66 feat: theme-adaptive fullscreen background + wire updateMermaidTheme to applyTheme
CI / lint (push) Successful in 15s
CI / security (push) Successful in 8s
CI / test (push) Successful in 24s
CI / build (push) Successful in 2s
2026-06-05 09:24:19 -04:00
bruno 2cf9915208 feat: add 'Copy code Mermaid' button alongside 'Copy SVG' in header + fullscreen
CI / lint (push) Successful in 14s
CI / security (push) Successful in 7s
CI / test (push) Successful in 25s
CI / build (push) Successful in 2s
2026-06-05 09:11:26 -04:00
bruno c7f652ace5 fix: export SVG/PNG targets .mermaid-rendered svg instead of first svg (Lucide icon)
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 23s
CI / build (push) Successful in 2s
2026-06-05 09:05:18 -04:00
bruno 697f25700b fix: replace requirementDiagram #10 with flowchart — Mermaid 11 does not support requirementDiagram
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 23s
CI / build (push) Successful in 1s
2026-06-05 08:55:27 -04:00
bruno dea1d73943 fix: requirementDiagram #10 — quote id field, remove period inside text quotes
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / build (push) Has been cancelled
CI / test (push) Has been cancelled
2026-06-05 08:54:57 -04:00
bruno 027eab1368 docs: refonte ROADMAP — numerotation, effort/impact, P3/P4 explosés en 15 items détaillés
CI / lint (push) Successful in 14s
CI / security (push) Successful in 9s
CI / test (push) Successful in 25s
CI / build (push) Successful in 1s
2026-06-05 08:45:53 -04:00
bruno 28ced406bc feat: Mermaid header bar, Code/Preview toggle, Copy SVG, Download PNG, fullscreen header
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 23s
CI / build (push) Successful in 2s
2026-06-05 08:38:21 -04:00
bruno fff658d551 fix: add isascii() check in safe_name to prevent non-ASCII chars in PDF Content-Disposition header
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 26s
CI / build (push) Successful in 4s
2026-06-05 08:24:32 -04:00