[M1] UI : TranscriptWidget dépliable sous le player audio #8

Closed
opened 2026-04-06 01:33:34 +00:00 by charles · 0 comments
Owner

Contexte

Composant GTK4 qui s'affiche sous le widget AudioPlayerWidget existant de Fractal, permettant à l'utilisateur de déclencher et voir la transcription.

Critères d'acceptation

  • Bouton "Transcrire" affiché sous le player pour tout message m.audio ou m.voice
  • TranscriptWidget : widget dépliable (GtkExpander ou GtkRevealer) affichant le texte transcrit
  • Indicateur de confiance visuel : badge coloré (vert/orange/rouge) selon Confidence
  • Mode automatique : si auto_transcribe = true dans la config, transcription lancée à la réception sans clic
  • État "en cours" : spinner + texte "Transcription en cours…"
  • État "erreur" : message d'erreur + bouton "Réessayer"
  • Option de stockage : bouton "Enregistrer comme annotation Matrix" (MSC proposé) vs local uniquement

Notes techniques

  • Dépend de : #7 (pipeline audio)
  • S'intègre dans fractal-gtk/src/session/content/room_history/message_row/
  • Widget conforme au design libadwaita (couleurs, espacements)
  • L'annotation Matrix est optionnelle et ne bloque pas le MVP
## Contexte Composant GTK4 qui s'affiche sous le widget `AudioPlayerWidget` existant de Fractal, permettant à l'utilisateur de déclencher et voir la transcription. ## Critères d'acceptation - [ ] Bouton "Transcrire" affiché sous le player pour tout message `m.audio` ou `m.voice` - [ ] `TranscriptWidget` : widget dépliable (GtkExpander ou GtkRevealer) affichant le texte transcrit - [ ] Indicateur de confiance visuel : badge coloré (vert/orange/rouge) selon `Confidence` - [ ] Mode automatique : si `auto_transcribe = true` dans la config, transcription lancée à la réception sans clic - [ ] État "en cours" : spinner + texte "Transcription en cours…" - [ ] État "erreur" : message d'erreur + bouton "Réessayer" - [ ] Option de stockage : bouton "Enregistrer comme annotation Matrix" (MSC proposé) vs local uniquement ## Notes techniques - Dépend de : #7 (pipeline audio) - S'intègre dans `fractal-gtk/src/session/content/room_history/message_row/` - Widget conforme au design libadwaita (couleurs, espacements) - L'annotation Matrix est optionnelle et ne bloque pas le MVP
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/my-fractal#8
No description provided.