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
bruno
21117da114
fix: backup listing uses same vault for read/write + global close handler
...
CI / lint (push) Failing after 16s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
- _get_backup_dir: now resolves relative path using the SPECIFIC vault's
directory (matching _backup_file exactly), not the first vault in index
- Removed _get_backup_root (unused after refactor)
- backups.js: global document click handler for #backup-close (same
pattern as Graph View's initGraphView)
2026-06-04 17:10:40 -04:00
bruno
67043a76e5
fix: store .obsigate-backup inside vault directory (not parent) for Docker write permissions
...
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after 5s
- _backup_file: backup_root = vault_path / '.obsigate-backup' (was vault_parent / ...)
- _get_backup_root: same resolution — inside vault, not parent
- Fixes PermissionError on Docker where /vaults/ is read-only
2026-06-04 16:51:07 -04:00
bruno
9f05059800
fix: backup close button is now a STATIC element in overlay (never replaced by innerHTML)
...
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after 11s
- Close button created once in createOverlay() as a static DOM element
outside the panel, positioned absolutely (top-right corner)
- Never touched by setBody() innerHTML replacements
- Uses same class/id pattern as Graph View: editor-btn + backup-close
- Handler attached via addEventListener ONCE, never needs re-binding
- Removed all CLOSE_BTN from render functions (loading/error/empty/main)
2026-06-04 16:36:37 -04:00
bruno
05ac6cd756
fix: rewrite backup viewer close button — match editor-btn pattern
...
CI / lint (push) Failing after 2m24s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after 5s
- Close button: <button class="backup-close-btn"><i data-lucide="x"></i></button>
(same HTML pattern as AdminPanel editor-btn)
- Handler: addEventListener via DOM query in setBody() after innerHTML
(same JS pattern as AdminPanel)
- Removed all inline onclick, global capture handler, window._backupViewerClose
- CSS: .backup-close-btn now matches .editor-btn style (bordered icon button)
- Escape key + overlay click still work for closing
2026-06-04 16:06:39 -04:00
bruno
bc8083fd6b
fix: backup storage relative to vault parent + global capture click handler for close button
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Failing after 5s
- _backup_file: resolve relative backup path against vault parent (survives CWD changes)
- _get_backup_root: same resolution logic for listing
- backups.js: global document-level capture-phase click handler for .backup-close-btn
(works regardless of innerHTML replacements, text node targets, or event bubbling)
2026-06-04 15:22:02 -04:00
bruno
af05604e99
fix: backup viewer close button — add missing onclick to renderError + Escape key + proper cleanup
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 17s
2026-06-04 15:12:38 -04:00
bruno
e22967ada8
fix: inline rename uses .tree-item-text span instead of direct text node
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
2026-06-04 15:01:05 -04:00
bruno
247d78374c
fix: import getFileIcon from utils.js + close button re-bind after setBody
...
CI / lint (push) Failing after 8s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
- vaulthome.js: getFileIcon was imported from viewer.js but lives in utils.js
- backups.js: setBody() now re-binds close button handler after innerHTML replacement
2026-06-04 14:58:07 -04:00
bruno
0b3a7d5c95
feat: roadmap items #7 #8 #9 #10 — recent files, semver tag, search filters, dedup
...
- #7 : Section « Récents » dans la page d'accueil vault (5 derniers fichiers)
- #8 : Git tag v1.8.0
- #9 : Filtres search avancés created:/modified:/size: avec parsing dates/sizes
- #10 : Déduplication IGNORED_DIRS (indexer.py source unique, watcher+main importent)
- ROADMAP: tous les items marqués FAIT, version → 1.9.0
2026-06-04 12:11:51 -04:00
bruno
fc1a4e336e
fix: vault home recursive + backup viewer fixes + AI status at startup
...
CI / security (push) Failing after 10m56s
CI / lint (push) Failing after 11m14s
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled
- Vault home (#12 ): recursive file listing (rglob), rel_dir in metadata,
'recursif' badge, updated roadmap description
- Backup viewer: fix close button (inline onclick + event delegation
fallback for text nodes), improve error messages
- Backup API: remove response_model to prevent Pydantic 500 errors,
add try/except + logging on backups/diff/restore endpoints,
per-entry error handling in _list_backup_files,
encoding safety (errors='replace') on read_text
- AI status: call /api/ai/status at startup in _initAIStatus
instead of waiting for user click on sync badge
2026-06-04 09:28:57 -04:00
bruno
b077c24bf1
fix: corrections UI — indicateur voute, couleurs, statut IA, spinner éditeur
...
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 11s
1. Suppression du badge vault-context-pill doublon en mobile
2. Couleurs dynamiques indicateur header:
- Bleu pour 'All' (.vault-ctx-all)
- Mauve/violet pour les vaults (.vault-ctx-vault)
- Jaune/ambre pour les répertoires (.vault-ctx-dir)
3. Statut IA: vérifie la présence du toolbar AI dans le DOM
au lieu d'appeler /api/ai/status (qui ne fonctionnait pas)
4. Indicateur de traitement AI dans l'éditeur (spinner + badge
'AI...' dans le header de l'editor modal) au lieu du flash
blanc sur le badge sync
2026-06-04 08:31:32 -04:00
bruno
90dffdf26c
fix: indicateur voute visible en mobile + debug log statut IA
...
CI / lint (push) Failing after 18s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 10s
- Indicateur de contexte de voute (#vault-context-indicator) n'est plus
caché en mobile (display: none retiré), conserve le même look que desktop
- Ajout console.log temporaire dans _checkAIStatus() pour déboguer
pourquoi l'API /api/ai/status retourne configured:false
2026-06-04 08:11:08 -04:00
bruno
873c7a572f
fix: statut IA — suppression endpoint redondant + lecture runtime des clés API
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
Problème: l'indicateur affichait 'IA non configurée' alors que les
actions AI fonctionnaient.
Causes:
1. Deux endpoints /api/ai/status en conflit (main.py + ai_routes.py)
2. ai_routes.py lisait PROVIDERS évalué à l'import (os.getenv figé)
3. Cache côté frontend (_aiStatusChecked) empêchait de re-vérifier
Fixes:
- Suppression de l'endpoint redondant dans main.py
- ai_routes.py: lecture os.getenv au runtime (pas depuis PROVIDERS)
- sync.js: _checkAIStatus() appelée à chaque ouverture du panneau
2026-06-04 07:55:42 -04:00
bruno
7c9092993b
fix: menu AI attaché au body pour éviter le clipping par overflow:hidden
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
Le menu déroulant AI dans le mode édition était coupé par le
overflow:hidden du .editor-container. Le menu est maintenant:
- Attaché à document.body avec position:fixed
- Positionné aux coordonnées du bouton via getBoundingClientRect()
- Retourné au-dessus si le menu dépasse le bas de l'écran
- maxHeight: 60vh avec overflow-y: auto pour les menus très longs
2026-06-04 07:42:11 -04:00
bruno
6700b78004
fix: import manquant openFile dans sync.js (ReferenceError)
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
sync.js appelait openFile() après un index update SSE mais la fonction
n'était pas importée depuis viewer.js. Ajout de l'import manquant.
2026-06-04 07:36:52 -04:00
bruno
8819d04cf2
fix: indexation inversée non-bloquante — run_in_executor
...
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
L'étape 'Building inverted index...' au démarrage bloquait l'event loop
asyncio, empêchant le serveur de répondre aux requêtes HTTP (navigation,
refresh) jusqu'à la fin de l'indexation.
- init_inverted_index() exécuté dans ThreadPoolExecutor via run_in_executor
- get_inverted_index() ne fait plus de rebuild auto bloquant
- Le serveur répond immédiatement, même pendant l'indexation
2026-06-04 07:33:50 -04:00
bruno
7a4b3d1329
feat: points 11a + 11b — Indicateur AI Actif & Page d'accueil voute
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
Point 11a — Indicateur AI Actif:
- Badge sync flashe en blanc pendant traitement AI (animation CSS)
- Événements ai-processing-start/end dans ai.js
- Section statut IA dans panneau sync (configurée/non configurée/en cours)
- Endpoint GET /api/ai/status vérifiant les clés API configurées
Point 11b — Page d'accueil de voute:
- Endpoint GET /api/vault/{vault}/files?dir=... (trié par mtime)
- Module vaulthome.js: affichage style résultats de recherche
- Breadcrumb navigable, mise à jour auto sur clic dossier dans tree
- Déclenché auto quand un vault spécifique est sélectionné
2026-06-03 22:36:31 -04:00
bruno
d1ba15c3aa
feat: diff viewer backups — point 6 (backups, diff, restore)
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
- Backend: 3 nouveaux endpoints
- GET /api/file/{vault}/backups — liste les backups horodatés
- GET /api/file/{vault}/diff — diff unifié entre versions
- POST /api/file/{vault}/restore — restaure une version (backup auto avant)
- Frontend: module backups.js — UI modale avec:
- Sélecteur gauche (backup) / droite (version actuelle ou autre backup)
- Diff coloré: vert pour ajouts, rouge pour suppressions
- Bouton Restaurer avec confirmation
- Menu contextuel: clic droit fichier → 'Backups / Versions'
- CSS: styles complets pour la modale, toolbar, table de diff
- ROADMAP: point 6 marqué comme complété
2026-06-03 22:22:50 -04:00
bruno
c07de4fd65
docs: explication détaillée du point 6 — Diff viewer backups
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-03 22:14:16 -04:00
bruno
cfb3825dbe
feat: drag & drop de fichiers dans l'arborescence (portion 5)
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 13s
- Backend: nouvel endpoint POST /api/move/{vault_name} pour déplacer
fichiers et dossiers vers un autre répertoire parent
- Frontend: module dragdrop.js avec délégation d'événements sur le
vault-tree (dragstart, dragover, dragleave, drop)
- CSS: styles pour drag-source, drag-valid-target, drag-over
- Protections: pas de drop sur soi-même, pas dans un enfant,
pas de cross-vault
- Mise à jour de l'index et broadcast SSE après move
- ROADMAP: portion 5 marquée comme complétée
2026-06-03 13:56:27 -04:00
bruno
96c1e9e6ec
Mobile: add vault context indicator pill below header
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
2026-06-03 13:46:37 -04:00
bruno
db8041d990
Add close-all tabs, close-current-file command, fix AI toolbar light theme + sticky
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
2026-06-03 13:33:44 -04:00
bruno
f8267bbc1e
Fix: palette files use TabManager for tab tracking, hide .tab-bar on mobile
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-03 13:14:14 -04:00
bruno
998dcab8a3
Reformat HTML for improved readability
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-03 12:57:59 -04:00
bruno
c240cdd956
Fix pull-to-refresh: unblock overscroll chain through content-wrapper/app-container
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-03 12:57:15 -04:00
bruno
1c22f6cf90
Mobile: search=file palette, commands button, hide top tabs, always full-open files
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-03 12:23:57 -04:00
bruno
537a77fdfc
Fix: enable pull-to-refresh on mobile by allowing body overscroll chain
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-03 12:13:54 -04:00
bruno
a5331904ea
Roadmap: bump version to 1.8.0
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 17s
2026-06-03 12:09:22 -04:00
bruno
a0d2ab6d13
Roadmap: mark Phase 4 mobile toolbar as complete
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-03 12:09:07 -04:00
bruno
2e00657c7b
Fix typo in roadmap description
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-03 12:07:22 -04:00
bruno
4206161def
Mobile bottom toolbar: explorer, search, palette, tab switcher — Obsidian-style
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
2026-06-03 12:04:22 -04:00
bruno
60fad18351
Fix search clear button: match input padding, remove fixed size causing misalignment
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 12s
2026-06-03 11:58:44 -04:00
bruno
93b23764ae
Improve search clear button: flex layout, split border-radius, proper centering
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
2026-06-03 11:50:34 -04:00
bruno
d25fff5505
Fix: hamburger first-click, add search clear X button
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-03 11:43:34 -04:00
bruno
e9685651cf
Fix: mobile help guide width overflow, box-sizing and max-width constraints
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-03 11:32:43 -04:00
bruno
227e157793
Fix: pattern regex v-flag, help mobile: TOC accordion not slide-over, search always in TOC
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-03 11:13:37 -04:00
bruno
baba4e9fc7
Palette: global search with +include -exclude operators in browse and file search
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
2026-06-03 11:04:30 -04:00
bruno
447dfbdea2
Palette: fix arrow keys in browse filter, add file browsing, add delete-file command
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-03 10:41:17 -04:00
bruno
81e53a930a
Palette: add browse filter bar for create file/folder, delete folder actions
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-03 10:26:07 -04:00
bruno
b513add15b
Fix: mobile help TOC toggle via inline onclick, overflow/wrapping fixes
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
2026-06-03 10:15:02 -04:00
bruno
26871dd580
Fix: remove duplicate export of refreshSidebarTreePreservingState
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 12s
2026-06-03 09:58:31 -04:00
bruno
91366212d4
Help: dedicated webhooks section with examples, event table, API details
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-03 09:42:08 -04:00
bruno
01af74a43f
Fix: export and import loadVaultSettings for hidden files save
CI / lint (push) Failing after 18s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
2026-06-03 09:31:37 -04:00
bruno
03586256f1
Help: mobile slide-over TOC with overlay, search content highlighting
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 7s
2026-06-03 09:27:06 -04:00
bruno
99b00eea0c
Improve help modal navigation with keyboard and search support
...
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
Refactor help navigation to support keyboard arrow keys, content pane
focus
toggling, and enhanced search filtering that hides non-matching
sections.
Improve mobile toggle behavior and accessibility with proper focus
management.
2026-06-03 09:12:26 -04:00
bruno
cb1191af79
Add help navigation search, mobile toggle, and scroll spy
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-03 08:36:02 -04:00
bruno
40a8801220
Add AI toolbar to popout HTML editor
CI / lint (push) Failing after 8s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 10s
2026-06-03 07:29:36 -04:00
bruno
8bdc2fae8a
Refactor palette keyboard focus handling
...
CI / lint (push) Failing after 8s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
Ensure proper focus management when switching between browse and
search modes, and avoid double-handling keyboard events when the
name input is active.
2026-06-02 23:00:37 -04:00
bruno
0d697bdecc
fix: touches clavier (↑↓ Esc) inactives en mode browse — écoute aussi sur l'overlay
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 11s
2026-06-02 21:06:13 -04:00
bruno
88cb01af0a
Remove .tmp_add_token.sh and update ROADMAP
2026-06-02 20:43:40 -04:00
bruno
21e8481372
📱 Ajout Roadmap : Barre d'outils mobile + palette fichiers/commandes
...
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 11s
- Barre de navigation inférieure persistante (toujours visible)
- Page d'accueil vault : Créer/Aller au fichier (aucun fichier ouvert)
- Palette de fichiers (Ctrl+P style) avec fuzzy search
- Palette de commandes (Ctrl+Shift+P style) : 9 actions
- Gestion des onglets ouverts dans la barre du bas
2026-06-02 16:48:29 -04:00
bruno
5932d2fa20
feat: vault picker visuel + modal nom harmonisé + refresh sidebar après suppression
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 11s
2026-06-02 15:49:26 -04:00
bruno
e405bdc929
feat: navigateur de dossiers dans la palette — créer/supprimer fichier/dossier par sélection visuelle
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-02 15:27:47 -04:00
bruno
9f00455064
docs: guide d'utilisation enrichi + navigation clavier — sections Tabs, Édition, Graphe, Palette, Partage, Sauvegardes, Sécurité
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 10s
2026-06-02 15:25:08 -04:00
bruno
34d89706be
feat: 6 nouvelles commandes palette — créer/supprimer fichiers/dossiers, éditer, pop-out
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 10s
2026-06-02 15:08:30 -04:00
bruno
120c7433f8
fix: bouton aide — help-open-btn au lieu de header-help-btn
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
2026-06-02 14:31:40 -04:00
bruno
800a8c34a1
fix: raccourcis palette — Ctrl+Shift+Espace fichiers, Ctrl+Alt+Espace commandes
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 12s
2026-06-02 14:01:35 -04:00
bruno
fc6452d4a4
fix: Alt+P au lieu de Ctrl+P (conflit navigateur) + bouton config correct
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 12s
2026-06-02 13:12:35 -04:00
bruno
08c29c9efe
feat: palette de commandes Ctrl+P — navigation rapide fichiers + commandes
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-02 12:30:41 -04:00
bruno
459bbe441d
Add backup files for TestVault and Vault notes
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 7s
2026-06-02 12:24:14 -04:00
bruno
ce51ed18e4
docs: Export PDF marqué FAIT (déjà implémenté) + test PDF endpoint
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
2026-06-02 11:41:37 -04:00
bruno
faa164ec8f
docs: roadmap — tests marqués FAIT (70%), prochaines étapes repriorisées
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-02 10:27:39 -04:00
bruno
3151721aad
test: coverage 70% — +109 tests (api integ, auth api, watcher mocked)
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s
2026-06-02 10:21:13 -04:00
bruno
e1a658cbcc
Add test infrastructure and example vault content
...
CI / lint (push) Failing after 9s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 27s
- Add docker-compose.test.yml for isolated testing
- Add test vault with sample Markdown notes across categories
- Add frontend audit script for module validation
- Increment user failed_attempts in test data
2026-06-02 09:28:37 -04:00
bruno
8f3e602869
docs: CHANGELOG.md + README v1.7.0 + ROADMAPs mis à jour
2026-06-02 09:27:11 -04:00
bruno
c74c2444d5
docs: section IA dans le guide d'utilisation + nav
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-05-30 23:14:59 -04:00
bruno
a4e2d0629a
fix: loading AI toast + flash vert auto-save + refresh doc après close editor
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 16s
2026-05-30 22:07:16 -04:00
bruno
adbeb54887
feat: loading AI + tooltips + auto-save silencieux + hover transparent fix
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-05-30 21:35:35 -04:00
bruno
a662a4a3c2
fix: hover transparent + auto-save éditeur 2s
2026-05-30 20:36:13 -04:00
bruno
1352818b25
fix: strip() clés API + log masqué pour debug 401
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 10s
2026-05-30 20:18:13 -04:00
bruno
aacdb1d42f
fix: messages d'erreur AI clairs (401→clé invalide) + succès toast
CI / lint (push) Failing after 3s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
2026-05-30 20:06:24 -04:00
bruno
6c7d7b4506
fix: hover foncé + /api/ai/status + cache toolbar si pas de clé API
CI / lint (push) Failing after 13s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 8s
2026-05-30 19:57:39 -04:00
bruno
e013ddc539
fix: AI toolbar container recréé après bodyEl.innerHTML = ''
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-05-30 19:03:20 -04:00
bruno
281636efa0
fix: AI toolbar créée hors try/catch + simplifié imports circulaires
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-05-30 17:48:11 -04:00
bruno
b76fc64325
fix: ajout méthode is_stale() manquante dans InvertedIndex
2026-05-30 17:00:00 -04:00
bruno
b92fd3da08
feat: AI Editor — toolbar avec menus dropdown, multi-provider (DeepSeek/OpenRouter/Gemini)
CI / lint (push) Failing after 7s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 11s
2026-05-30 16:44:42 -04:00
bruno
ca84bfdf11
style: header graph 2 lignes responsives — titre flexible + recherche dédiée
CI / lint (push) Successful in 14s
CI / security (push) Successful in 7s
CI / test (push) Successful in 16s
CI / build (push) Successful in 4s
2026-05-30 08:48:35 -04:00
bruno
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