Commit Graph
344 Commits
Author SHA1 Message Date
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
v1.8.0
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