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:
@@ -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')
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user