fix: prevent profile-switch transcription deadlock

This commit is contained in:
2026-09-16 15:00:49 +02:00
parent cbf854fb2a
commit 93eb3d4e98
5 changed files with 73 additions and 16 deletions
@@ -121,6 +121,8 @@ If the user selects pause from the stop prompt, Meeting Assistant SHALL pause tr
When a new non-empty live transcript segment is written, Meeting Assistant SHALL dismiss all outstanding transcript-inactivity notifications and invalidate their pending actions.
Notification dismissal SHALL NOT block processing the final transcript segments emitted while switching launch profiles. Any deferred dismissal SHALL recheck that its originating run is still the active recording before dismissing notifications.
While transcription is intentionally paused, Meeting Assistant SHALL NOT show transcript-inactivity prompts and SHALL NOT apply the ordinary transcript-inactivity auto-stop threshold.
Meeting Assistant SHALL normally stop a meeting that remains continuously paused for the configured maximum pause duration, defaulting to 4 hours, without first showing a transcript-inactivity notification. This maximum continuous-pause cutoff SHALL remain active when ordinary transcript-inactivity prompting and auto-stop are disabled.
@@ -205,6 +207,15 @@ When a recording stops normally and its meeting note, transcript, and assistant
- **WHEN** the older meeting writes a late transcript segment
- **THEN** the newer meeting's notification and pending actions remain active
#### Scenario: Final transcript during a profile switch dismisses notifications without blocking the switch
- **GIVEN** a meeting is actively recording with either the `default` or `english` profile
- **WHEN** the user switches to the other profile
- **AND** the old recognizer emits a final non-empty transcript segment while draining
- **THEN** Meeting Assistant writes that final segment before the profile-switch marker
- **AND** completes the switch and transcribes buffered audio in the same meeting
- **AND** dismisses the originating active run's outstanding inactivity notifications
- **AND** subsequent profile switches and normal meeting completion remain available
#### Scenario: Empty stopped recording is cleaned up
- **GIVEN** a recording is active
- **AND** the meeting note, transcript, and assistant context only contain generated default content