fix(ai): liens sans vault, navigation clavier des menus et purge caches (BUG-013, BUG-014)
CI / lint (push) Successful in 1m9s
CI / security (push) Successful in 45s
CI / test (push) Successful in 2m27s
CI / build (push) Successful in 40s
CI / e2e (push) Successful in 10m47s

BUG-013: _openFileLink/_revealPath utilisent _activeVault() (contexte -> selection -> premier vault). BUG-014: navigation up/down geree au niveau du panneau en phase de capture, independante du focus. Caches: SW_VERSION v6 + migration qui purge tous les caches obsigate-*.
This commit is contained in:
2026-09-12 16:44:12 -04:00
parent ee4c273d73
commit a5201a62e0
7 changed files with 108 additions and 14 deletions
+16
View File
@@ -235,6 +235,22 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### Corrigé
- **BUG-014 — Assistant IA : navigation clavier ↑/↓ des menus inopérante** — la navigation était
liée au `keydown` du champ de saisie : dès que le focus quittait la zone de texte (clic sur le
menu, bouton Envoyer…), les flèches ne faisaient plus défiler les items. La gestion est déplacée
au niveau du **panneau en phase de capture**, ce qui fonctionne quel que soit l'élément focalisé
dans la barre latérale. Tests JSDOM (`tests/frontend/ai.test.mjs` +1).
- **BUG-013 — Assistant IA : « Aucun vault actif pour ouvrir ce lien »** — les liens
fichiers/répertoires des réponses utilisaient `_resolveVault()` seul, nul en mode Général sans
document ouvert. `_openFileLink()` et `_revealPath()` utilisent désormais `_activeVault()` qui
retombe sur le vault de contexte, le vault sélectionné dans la barre latérale, puis le premier
vault disponible. Tests JSDOM (`tests/frontend/ai.test.mjs` +1).
- **Assistant IA — caches obsolètes** — `SW_VERSION` porté à **v6** et migration de purge élargie à
tous les caches `obsigate-*` (clé `obsigate-sw-migration` → `v3`), afin que les clients bloqués sur
une ancienne version récupèrent bien le menu `@` et les correctifs.
- **BUG-012 — Assistant IA : la commande `@` n'affichait aucun menu en mode Général** — sans vault
résolu, la détection `@` ne listait rien (menu masqué) et le backend ignorait ensuite le
contexte. Le menu est désormais **toujours rendu** et `_mentionVault()` retombe sur le vault de