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
bruno
7720d9b96f
docs: update ROADMAP — added backup management items #14-19 + reorganized
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
2026-06-04 20:20:31 -04:00
bruno
fb87c9f7c3
feat: backup management page + max backups config + auto-cleanup
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
- Config: max_backups_per_file (default 10) in config.json + UI field
- Auto-cleanup: _backup_file deletes oldest backups when limit exceeded
- New endpoints: GET /api/backups (list all), POST /api/backups/delete,
POST /api/backups/purge (by file or vault)
- New module: backup-manager.js - full-page view with filter, grouped by
vault/file, individual delete, per-file purge, stats
- Link from backup viewer footer: 'Gerer tous les backups'
2026-06-04 20:15:31 -04:00
bruno
ca132c2668
fix: rewrite backups.js with pure ASCII, no template literals - avoids encoding corruption
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 19:38:22 -04:00
bruno
71646ccfb0
chore: bump service worker cache version to v1.9.0
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
2026-06-04 19:27:15 -04:00
bruno
1f44fc9dfd
fix: diff mode button uses ASCII-only text to avoid UTF-8 corruption
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 10s
2026-06-04 19:18:32 -04:00
bruno
0c2b70d3f9
fix: diff mode button now has visible text label (Côte à côte / Unifiée)
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
2026-06-04 18:59:04 -04:00
bruno
652bcb9eef
fix: export focusPathInSidebar from sidebar.js and import in viewer.js
...
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 7s
Breadcrumb path clicks called focusPathInSidebar() which was defined
in sidebar.js but never exported or imported by viewer.js
2026-06-04 18:52:28 -04:00
bruno
8c5a5fd6b2
feat: side-by-side diff view + auto-save skips backup
...
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 10s
- Side-by-side diff: toggle button (columns-2/align-justify icon) in toolbar
switches between unified and side-by-side view
- Backend: diff endpoint returns left_content + right_content for side-by-side
- Frontend: SequenceMatcher-based LCS diff for two-column rendering
- CSS: .backup-diff-sidebyside with left/right borders, empty cell styling
- Auto-save: PUT /save?backup=false skips backup creation (auto-save=no backup)
- Footer text updated to reflect backup-on-manual-save behavior
2026-06-04 18:37:14 -04:00
bruno
1e9ecf656f
fix: add missing timezone import in main.py
...
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
_list_backup_files uses datetime.fromtimestamp(ts, tz=timezone.utc)
but only datetime was imported, not timezone
2026-06-04 17:20:44 -04:00