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
bruno
4a6e907f3f
fix: Mermaid fullscreen — fill viewport instead of showing tiny centered diagram
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Failing after 23s
CI / build (push) Has been skipped
2026-06-05 08:14:54 -04:00
bruno
da58b97096
fix: Mermaid test file fixes (accents, escaping) + preprocessObsidian call in renderMermaidBlocks
CI / lint (push) Successful in 15s
CI / security (push) Successful in 8s
CI / test (push) Failing after 25s
CI / build (push) Has been skipped
2026-06-05 08:02:45 -04:00
bruno
a0cae4a6a4
fix: close TestClient properly in auth_client fixture to prevent gzip cleanup errors
CI / lint (push) Successful in 14s
CI / security (push) Successful in 11s
CI / test (push) Failing after 23s
CI / build (push) Has been skipped
2026-06-05 07:52:29 -04:00
bruno
ccb0fb3e97
fix: add missing initMermaid() call + skip mermaid blocks in highlight.js
CI / lint (push) Successful in 19s
CI / security (push) Successful in 13s
CI / test (push) Failing after 23s
CI / build (push) Has been skipped
2026-06-05 07:43:19 -04:00
bruno
69e86c239b
fix: CSP add cdn.jsdelivr.net, fix regex syntax, fix manifest PNG->SVG
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Failing after 22s
CI / build (push) Has been skipped
2026-06-04 23:50:10 -04:00
bruno
00f32ce9c2
fix: reload backend.indexer before watcher in IGNORED_DIRS tests
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Failing after 21s
CI / build (push) Has been skipped
2026-06-04 23:43:14 -04:00
bruno
8c4ce5e3c0
fix: vaulthome.js import safeCreateIcons from utils.js instead of viewer.js
CI / lint (push) Successful in 13s
CI / security (push) Successful in 9s
CI / test (push) Failing after 26s
CI / build (push) Has been skipped
2026-06-04 23:35:16 -04:00
bruno
3b53de1b33
fix: resolve 57 ruff lint errors (unused imports, unused variables, import placement)
CI / lint (push) Failing after 14s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 11s
2026-06-04 23:32:47 -04:00
bruno
182e40800e
docs: roadmap #20-29 marked FAIT
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
2026-06-04 23:24:01 -04:00
bruno
5c5ef561cf
feat: Mermaid.js integration #20-29 — full diagram support
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 7s
- CDN: mermaid@11 from jsdelivr
- mermaid-viewer.js: init, render, templates, zoom/pan, fullscreen, focus
- All diagram types: flowchart, sequence, class, state, ER, journey, gantt,
pie, gitGraph, requirement, mindmap, timeline, quadrant, C4 (x4), beta types
- viewer.js: auto-render Mermaid blocks after markdown rendering
- utils.js: live preview panel in editor (debounced 500ms)
- app.js: initMermaid + setupFocusMode on startup
- CSS: container, controls, error, fullscreen overlay, focus panel, live preview
- Export SVG/PNG download buttons
- Obsidian preprocessor ([[links]], ![[img]], ==highlight==)
2026-06-04 23:23:21 -04:00
bruno
4674328303
docs: add Mermaid UX features #25-29 + clean duplicate #14
CI / lint (push) Failing after 8s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
2026-06-04 23:16:47 -04:00
bruno
6e8a51b21a
docs: add Mermaid.js integration roadmap #20-24 + bump to v2.0.0-dev
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
2026-06-04 23:11:31 -04:00
bruno
9e552aa87d
docs: roadmap #15-#19 marked FAIT
CI / lint (push) Failing after 3s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
2026-06-04 21:36:34 -04:00
bruno
47dc79683f
feat: backup manager #15 #16 #17 #18 #19 — preview, restore, purge vault, compress, auto-backup
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
#15 : Click backup item to preview content in side panel (100KB limit)
#16 : Purge all backups per vault (red 'Vider' button)
#17 : /api/backups/compress — gzip backups older than N days
#18 : /api/backups/auto — backup files modified since N hours
#19 : Restore button per backup in manager with timestamp extraction
+ Professional side-panel preview, action buttons on hover, vault grouping
2026-06-04 21:36:05 -04:00
bruno
7af347b6be
fix: /api/backups — fpath.st_size -> fpath.stat().st_size + try/except
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
2026-06-04 20:24:58 -04:00