[P2][ui] Utiliser des budgets adaptés à chaque opération sonore et terminale #32

Open
opened 2026-07-31 21:05:15 +00:00 by mathieu · 2 comments
Owner

Constat

Chaque player son utilise le contexte long de Sound et peut monopoliser le worker jusqu'au Close (internal/ui/sound.go:97-164). OSD utilise toujours max(success,error)+1s, même si un seul timeout correspond au résultat (internal/session/factory.go:79-100, internal/ui/osd.go:131-155). Une valeur non pertinente peut bloquer la session des heures.

Tâche

Donner un budget total court à chaque playback/fallback et sélectionner le timeout OSD correspondant au terminal (failed => error, sinon success), plus la grâce de sortie.

Critères d'acceptation

  • Un player bloqué est tué pendant la session et ne condamne pas le cue suivant.
  • Les fallbacks immédiats gardent leur ordre dans un budget total unique.
  • Le timeout OSD non pertinent n'influence jamais Close.
  • Aucun helper/player ne survit.

Validation

go test -race ./internal/ui ./internal/session ./internal/sysexec

## Constat Chaque player son utilise le contexte long de `Sound` et peut monopoliser le worker jusqu'au Close (`internal/ui/sound.go:97-164`). OSD utilise toujours `max(success,error)+1s`, même si un seul timeout correspond au résultat (`internal/session/factory.go:79-100`, `internal/ui/osd.go:131-155`). Une valeur non pertinente peut bloquer la session des heures. ## Tâche Donner un budget total court à chaque playback/fallback et sélectionner le timeout OSD correspondant au terminal (`failed` => error, sinon success), plus la grâce de sortie. ## Critères d'acceptation - Un player bloqué est tué pendant la session et ne condamne pas le cue suivant. - Les fallbacks immédiats gardent leur ordre dans un budget total unique. - Le timeout OSD non pertinent n'influence jamais Close. - Aucun helper/player ne survit. ## Validation `go test -race ./internal/ui ./internal/session ./internal/sysexec`

Correctif proposé dans la PR #42 (#42). Les validations ciblées sous race sont détaillées dans la PR.

Correctif proposé dans la PR #42 (https://git.2027a.net/mathieu/murmur/pulls/42). Les validations ciblées sous race sont détaillées dans la PR.

Correctif proposé et validé dans la PR #42 : #42.

Correctif proposé et validé dans la PR #42 : https://git.2027a.net/mathieu/murmur/pulls/42.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
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
mathieu/murmur#32
No description provided.