fix(desktop): isolate managed acknowledgements from video and decode - #82
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Managed desktop ACK/heartbeat observation could wait behind a video body on the local IPC socket and behind ordered native decode, even though remote QUIC control had higher priority. The native viewer now attaches a dedicated same-UID event socket. Retained control, event and media/decode futures progress independently; either socket departure ends only its desktop. Decoder FIFO, payload/global-worker limits and the shared peer connection remain.
The additive local v5 commands retain existing wire tags and legacy combined/headless APIs; an older manager refuses the extension without silent fallback. Upgrade the local agent and viewer together. Remote ALPN/framing and grants are unchanged. Route guards retain active claims, bound capacity/attachment, and cancel subscriber/desktop work on every exit. Full event queues and two-second blocked writes fail explicitly. Viewer diagnostics identify separated mode and correct the stale acquiring-surface stage after a successful redraw without a new CPU frame.
Validation: Mac five-crate all-feature baseline 309 passed/0 failed/1 explicit OpenSSH ignore; final client 21/0/0; updated remote-refusal/full-TCP-budget regression passes both transport variants. Default/all-feature strict workspace lint and formatting passed before final registry review; final lint/release and CI are running. Deterministic blocked video-body and full-media-queue tests prove independent event progress, including eight heartbeat echoes. Real same-UID manager API tests cover Iroh/Noq and shared-peer survival. Lifecycle tests cover single claim, active-route capacity, unexpected bytes, bounded event writes and owner-only cancellation. Original failed development/build observations are retained privately.
Scope: W2.4/W6.7. Native installed latency, loaded Full HD quality and sustained-network acceptance remain open; independent event observation does not bypass QUIC congestion or guarantee OS route availability. Research/contract/evidence: docs/native-viewer.md, docs/local-sessions.md, docs/reports/rds-event-isolation-20261002.md. No dependency changes or private runtime facts.