diff --git a/CHANGELOG.md b/CHANGELOG.md index 757590c..69c75b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -227,7 +227,8 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html). « Fournisseur & modèle » perd ses intitulés (titre de section et libellé « Fournisseur : ») pour rester discrète ; la description du contexte Général n'est plus affichée (bandeau de statut masqué, description accessible au **survol** de l'en-tête) ; le placeholder - « Posez une question sur ces documents… » est retiré ; le bouton « Envoyer » devient un **emoji + « Posez une question sur ces documents… » est retiré ; l'indice clavier + « Entrée pour envoyer · Ctrl+Entrée… » est retiré ; le bouton « Envoyer » devient un **emoji compact** (✈️). Un **indicateur d'activité** apparaît pendant le traitement et détaille le workflow : envoi, réception de la réponse, appels d'outils (`Outil : X…`), attente de confirmation, succès ou échec. i18n FR/EN (`ai.activity_*`, `ai.composer_label`). Tests JSDOM @@ -235,6 +236,13 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ### Corrigé +- **BUG-015 — Assistant IA : sélection des menus `/` et `@` invisible au clavier** — l'élément + actif utilisait `background: var(--surface2)`, or `--surface2` est **identique** à + `--bg-primary` (fond du menu) dans le thème sombre par défaut : la ligne sélectionnée par les + flèches ↑/↓ ne se distinguait pas. L'état actif (et le survol) utilise désormais + `--bg-hover` avec une **barre d'accent** à gauche (`box-shadow: inset 3px 0 0 var(--accent)`), + pour les menus de commandes/mentions **et** la liste de modèles. Test JSDOM mis à jour. + - **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 diff --git a/docs/ISSUES_TODOLIST.md b/docs/ISSUES_TODOLIST.md index bab6656..fc12bed 100644 --- a/docs/ISSUES_TODOLIST.md +++ b/docs/ISSUES_TODOLIST.md @@ -124,6 +124,7 @@ Avant de corriger quoi que ce soit, un agent IA doit : | *BUG-012* | Assistant IA : la commande `@` n'affiche aucun menu de sélection en mode Général | 🟢 corrigé | P1 | 📱 frontend | IA | `frontend/js/bookslm.js` | Assistant en mode Général (aucun vault), taper `@` | `_showMentionMenu` rend **toujours** le menu (même vide) et `_activeVault()` retombe sur `state.selectedContextVault` puis le premier `state.allVaults`, avant `vault=all` pour les requêtes | Sans vault résolu, l'ancien code masquait le menu et le backend ignorait le contexte. Tests : `tests/frontend/ai.test.mjs` (+1) | | *BUG-013* | Assistant IA : les liens fichiers/répertoires des réponses affichent « Aucun vault actif pour ouvrir ce lien » | 🟢 corrigé | P1 | 📱 frontend | IA | `frontend/js/bookslm.js` | En mode Général, cliquer un lien de fichier/dossier dans une réponse | `_openFileLink()` et `_revealPath()` utilisent `_activeVault()` (vault de contexte → vault sélectionné → premier vault) au lieu de `_resolveVault()` seul | `_resolveVault()` est nul sans document ouvert ; les liens échouaient en mode Général. Tests : `tests/frontend/ai.test.mjs` (+1) | | *BUG-014* | Assistant IA : les flèches ↑/↓ ne naviguent pas dans les menus `/` et `@` | 🟢 corrigé | P1 | 📱 frontend | IA | `frontend/js/bookslm.js` | Ouvrir `/`, puis ↑/↓ (y compris après un clic hors zone de texte) | Navigation gérée au niveau du **panneau en phase de capture** (`panel.addEventListener('keydown', ..., true)`), donc indépendante du focus | Le `keydown` n'était écouté que sur la zone de texte ; dès que le focus changeait, les flèches étaient ignorées. Tests : `tests/frontend/ai.test.mjs` (+1) | +| *BUG-015* | Assistant IA : la ligne sélectionnée des menus `/` et `@` est invisible au clavier | 🟢 corrigé | P2 | 📱 frontend | IA | `frontend/style.css` | Ouvrir `/` ou `@`, naviguer avec ↑/↓ | État `.active` en `--bg-hover` + barre d'accent à gauche (`inset 3px 0 0 var(--accent)`) au lieu de `--surface2` | `--surface2` est identique à `--bg-primary` (fond du menu) en thème sombre : la sélection ne se voyait pas. Idem pour la liste de modèles | ### TODOs techniques (améliorations / nouvelles tâches) @@ -152,6 +153,7 @@ Avant de corriger quoi que ce soit, un agent IA doit : | 2026-09-12 | BUG-010, BUG-011 | Correction | `frontend/js/bookslm.js`, `frontend/js/ai.js`, `frontend/style.css`, `tests/frontend/ai.test.mjs` | BUG-010 : capture du `vault` des résultats `@` + `_contextVault()` propagé aux requêtes `/context`/`/chat` (mode Général). BUG-011 : popover modèle aligné à droite, largeur 340 px, noms multi-lignes + `title`. Vérifié en navigateur (Playwright) et tests frontend 43/43. | 🟢 corrigé (en attente vérif utilisateur) | | 2026-09-12 | BUG-012, #82 | Correction + UX | `frontend/js/bookslm.js`, `frontend/js/ai.js`, `frontend/style.css`, `frontend/sw.js`, `frontend/locales/{fr,en}.json`, `tests/frontend/ai.test.mjs` | BUG-012 : le menu `@` est toujours rendu et `_mentionVault()` retombe sur le vault de contexte puis le premier vault disponible. #82 : suppression des intitulés « Fournisseur & modèle » / « Fournisseur : », description du contexte Général déplacée en info-bulle, placeholder retiré, bouton Envoyer en emoji ✈️, indicateur d'activité (envoi/réception/outils/confirmation/succès/échec), `SW_VERSION` v5. Vérifié Playwright + tests frontend 45/45. | 🟢 corrigé (en attente vérif utilisateur) | | 2026-09-12 | BUG-013, BUG-014 | Correction | `frontend/js/bookslm.js`, `frontend/index.html`, `frontend/sw.js`, `tests/frontend/ai.test.mjs` | BUG-013 : liens fichiers/dossiers via `_activeVault()` (vault de contexte → sélection → premier vault). BUG-014 : navigation ↑/↓ gérée au niveau du panneau en phase de capture. Purge des caches élargie (`SW_VERSION` v6, migration `obsigate-*`). Vérifié : tests frontend 47/47, pytest 930. | 🟢 corrigé (en attente vérif utilisateur) | +| 2026-09-12 | BUG-015, #82 | Correction + UX | `frontend/js/bookslm.js`, `frontend/style.css`, `tests/frontend/ai.test.mjs` | BUG-015 : sélection des menus `/` et `@` rendue visible (`--bg-hover` + barre d'accent à gauche) car `--surface2` = `--bg-primary`. #82 : retrait de l'indice clavier sous la zone de saisie. Vérifié Playwright (contraste `#1f2430` vs `#0f1117` + barre accent) et tests frontend 47/47. | 🟢 corrigé (en attente vérif utilisateur) | --- diff --git a/docs/features/ai-provider-picker.md b/docs/features/ai-provider-picker.md index 4ac46c6..1c9c0c3 100644 --- a/docs/features/ai-provider-picker.md +++ b/docs/features/ai-provider-picker.md @@ -71,6 +71,10 @@ Général (BUG-013). - [x] Purge des caches élargie : `SW_VERSION` v6 + migration qui supprime tous les caches `obsigate-*` (clé `obsigate-sw-migration` → `v3`). +- [x] Indice clavier sous la zone de saisie retiré pour un composeur plus épuré (#82). +- [x] Sélection clavier des menus `/` et `@` rendue visible : état actif en `--bg-hover` + + barre d'accent à gauche (`--surface2` étant identique à `--bg-primary` en thème sombre, + la sélection était invisible) — BUG-015. ## H. Points d'attention - La table de capacités reste **statique** (`backend/model_capabilities.py`) : un modèle inconnu diff --git a/frontend/js/bookslm.js b/frontend/js/bookslm.js index 41cdd82..6abeb53 100644 --- a/frontend/js/bookslm.js +++ b/frontend/js/bookslm.js @@ -506,7 +506,6 @@ class BooksLM { -