14192f67d7
feat: navigation graphe — ← → historique + ↑ Parent
CI / lint (push) Successful in 13s
CI / security (push) Successful in 9s
CI / test (push) Successful in 17s
CI / build (push) Successful in 9s
2026-05-30 08:39:29 -04:00
a8131a4285
feat: panneaux sticky + boutons close ✕
CI / lint (push) Successful in 16s
CI / security (push) Successful in 9s
CI / test (push) Successful in 17s
CI / build (push) Successful in 16s
2026-05-30 08:00:50 -04:00
de9f4b0bb5
feat: panneaux fixes — tuile info top-right + preview pleine hauteur droite
CI / lint (push) Successful in 16s
CI / security (push) Successful in 9s
CI / test (push) Successful in 17s
CI / build (push) Successful in 3s
2026-05-30 07:52:01 -04:00
a88be85623
feat: header graph flat design — 3 zones + barre statut + recherche unifiée
CI / lint (push) Successful in 14s
CI / security (push) Successful in 8s
CI / test (push) Successful in 16s
CI / build (push) Successful in 2s
2026-05-30 00:00:59 -04:00
4a916e80db
feat: aperçu markdown formaté + metadata dans tooltip normal
CI / lint (push) Successful in 13s
CI / security (push) Successful in 8s
CI / test (push) Successful in 16s
CI / build (push) Successful in 9s
2026-05-29 23:45:26 -04:00
2a74503bed
fix: header 2 lignes + aperçu utilise /raw + corrige regex newline
CI / lint (push) Successful in 12s
CI / security (push) Successful in 8s
CI / test (push) Successful in 16s
CI / build (push) Successful in 2s
2026-05-29 23:30:06 -04:00
3de990cf7d
feat: header graph repensé + filtre tag + Ctrl+survol aperçu contenu
CI / lint (push) Successful in 13s
CI / security (push) Successful in 8s
CI / test (push) Successful in 14s
CI / build (push) Successful in 2s
2026-05-29 22:58:22 -04:00
a2ff9297ce
fix: strip line number prefixes from all JS files
CI / lint (push) Successful in 13s
CI / security (push) Successful in 8s
CI / test (push) Successful in 18s
CI / build (push) Successful in 2s
2026-05-28 16:46:17 -04:00
643a73e0f5
fix: strip read_file line numbers accidentally injected into JS files
CI / lint (push) Successful in 13s
CI / security (push) Successful in 8s
CI / test (push) Successful in 16s
CI / build (push) Successful in 3s
2026-05-28 16:40:14 -04:00
7866f93778
refactor: state.js → mutable object to fix 'assignment to constant' errors
...
CI / lint (push) Successful in 13s
CI / security (push) Successful in 8s
CI / test (push) Successful in 16s
CI / build (push) Successful in 6s
ES module imports are read-only live bindings — can't reassign
imported let/const variables. Replace individual 'export let' with
single 'export const state = {...}' mutable object.
All modules updated: import { state } from './state.js'
All state access changed to state.xxx pattern.
Fixes cascade of 'Assignment to constant variable' errors.
2026-05-28 16:34:39 -04:00
e9e954f36b
feat(graph): Phase 4 — Barnes-Hut, cache, lazy loading
...
CI / lint (push) Successful in 13s
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled
CI / security (push) Has been cancelled
Performance optimizations for large vaults:
- Barnes-Hut quadtree repulsion (O(n log n) for >200 nodes)
- Naive O(n²) preserved for small graphs (<200 nodes)
- Graph cache: reuse data when same (vault, path, depth, scope, tag)
- Cache key displayed in info bar: '(cache)' label
2026-05-28 14:52:31 -04:00
0416266dde
feat(graph): Phase 3 — type filter, export PNG, fullscreen, focus node
...
CI / lint (push) Has started running
CI / test (push) Has been cancelled
CI / security (push) Has been cancelled
CI / build (push) Has been cancelled
- Type filter checkboxes (dossier, .md, autre) in legend
- Export PNG button (canvas.toDataURL)
- Fullscreen button (Fullscreen API)
- Focus node function (center on specific node)
- Filter applied during _draw() to skip hidden nodes
2026-05-28 14:48:31 -04:00
a373279b08
feat(graph): Phase 1+2 — full-vault, tag filter, backlinks, tooltips, depth slider
...
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
CI / security (push) Has been cancelled
CI / build (push) Has been cancelled
Backend (main.py):
- GraphNode: added tags, incoming_count, outgoing_count
- GraphEdge: added 'backlink' relation
- GraphResponse: added 'scope' field
- api_graph: scope=full|directory, tag= filter, backlinks
- Full-vault tree walk with configurable depth 0-3
- Tag index from in-memory file index for fast filtering
- Incoming/outgoing link count per node
Frontend (graph.js + index.html):
- Theme-adaptive colors via CSS custom properties
- Depth slider (0-3) with live reload
- Full-vault toggle button (🌐 Tout / 📁 Dossier)
- Search input with tag filtering + visual highlighting
- Tooltip on hover (name, path, tags, link counts)
- Backlink edges rendered in red dashed
- Node size proportional to link count
- Larger modal (1000px, 85vh)
2026-05-28 14:46:22 -04:00
4836d6f1d0
refactor: split app.js (8875 lines) into 12 ES modules
...
CI / lint (push) Successful in 10s
CI / security (push) Successful in 8s
CI / build (push) Has been cancelled
CI / test (push) Has been cancelled
frontend/js/ structure:
state.js (55 lines) — Shared mutable state, constants
utils.js (510 lines) — EXT_ICONS, getFileIcon, escapeHtml, safeCreateIcons
auth.js (547 lines) — api(), AuthManager, initLoginForm, AdminPanel
search.js (1106 lines)— SearchHistory, QueryParser, Autocomplete, performSearch
sidebar.js (1091 lines)— Vault tree, sidebar filter, TagFilterService, loadTags
viewer.js (1554 lines)— openFile, Outline, ScrollSpy, Frontmatter, Editor
ui.js (2250 lines)— Theme, Toast, Sidebar, Dropdowns, Tabs, ContextMenu
dashboard.js (461 lines) — Dashboard widgets (Recent, Stats, Bookmarks)
config.js (999 lines) — Config panel, Hidden files, About, Sidebar tabs
sync.js (436 lines) — SSE/IndexUpdateManager, PWA registration
graph.js (401 lines) — GraphViewManager (force-directed canvas graph)
legacy.js (550 lines) — Remaining bridge functions (goHome, showWelcome, initSearch)
app.js (80 lines) — Thin orchestrator: imports all modules, calls init()
index.html: switched from <script src="app.js"> to <script type="module" src="js/app.js">
Original app.js preserved for backward compatibility.
All 14 modules pass node --check syntax validation.
2026-05-28 14:04:50 -04:00