fix(voice): discard continuations from closed conversations

This commit is contained in:
Sameh Khamis committed 2026-09-15 12:13:35 -07:00
1 parent aa6804802c
commit e7970c50b7
5 files changed
+63 -4

No files matched your search

+2 -1
View File
@@ -6,7 +6,8 @@ controller exports and session/backend contracts remain available. Tool protocol
response wording, push-to-talk timing, model preferences and Radio confirmation
order are preserved. Stopped connections, stale offers and delayed captures cannot affect a
replacement session; audio meters release failed initialization and reject revoked
frames. See [voice ownership](VOICE-OWNERSHIP.md).
frames. Delayed action results and post-capture continuations cannot resume a
stopped conversation or send output into a replacement. See [voice ownership](VOICE-OWNERSHIP.md).
The application shell composes focused state owners for navigation, destination
lookup/orbit, Cockpit, visual settings, panel layout, aircraft display and layer
+2
View File
@@ -25,6 +25,8 @@ stops audio analysis, releases media and clears conversation/input state. Full
removal also detaches UI, keyboard, annotation and Radio observers. Radio takeover
retains confirmed playback through that same shutdown path. A late offer, peer callback,
viewport capture or cancelled meter frame cannot enter a replacement session.
Action and post-capture continuations retain their conversation identity before
publishing output, queueing a response or changing status.
Behavioral invariants remain in force: a 500 ms Space hold claims push-to-talk;
short control taps and text entry remain native; a click-started session stays