fix: Memory Echo sans vol de scroll, badge IA sidebar, wizard langue

- Ne plus auto-scroller vers Memory Echo : pastille bas de page + reset scroll au titre
- Badges notes/carnets générés par l’IA dans la sidebar
- Wizard : langue du contenu = langue de la requête ; refresh carnet après création
- Voix : erreurs not-allowed/no-speech moins bruyantes
This commit is contained in:
Antigravity
2026-07-16 17:25:57 +00:00
parent 45297da333
commit 704fed1191
11 changed files with 672 additions and 210 deletions

View File

@@ -47,8 +47,22 @@ export function useVoiceTranscription({ onTranscript, onError, lang = 'fr-FR' }:
}
rec.onerror = (event: SpeechRecognitionErrorEvent) => {
console.error('[voice] SpeechRecognition error:', event.error)
onError?.(event.error === 'not-allowed' ? 'Microphone non autorisé.' : `Erreur: ${event.error}`)
// "not-allowed" = permission micro refusée — attendu, pas une erreur applicative
// "aborted" / "no-speech" = fin normale / silence — ne pas alarmer
const benign = event.error === 'not-allowed' || event.error === 'aborted' || event.error === 'no-speech'
if (!benign) {
console.warn('[voice] SpeechRecognition error:', event.error)
}
if (event.error === 'not-allowed') {
onError?.('Microphone non autorisé. Autorisez le micro dans le navigateur pour dicter.')
setState('idle')
return
}
if (event.error === 'aborted' || event.error === 'no-speech') {
setState('idle')
return
}
onError?.(`Erreur: ${event.error}`)
setState('error')
}