fix(desktop): recover frame references and bound relay qualification - #33
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.
A newer delta interrupted its predecessor even though it could depend on that frame; queue drops also left the sender emitting broken reference chains. Preserve partial delta writes before dependent successors, allow an independent keyframe to replace an in-flight delta, and request IDR after any encoded admission loss. Bound queue collapse and refuse noncontiguous deltas until an IDR after final pacing selection. Keep the existing two-slot queue and wire contract.
Validation: a partial-delta regression failed before the fix; fmt and default/X11 workspace clippy pass; 555 workspace tests and 28 X11 unit tests pass. Native H.264 coverage checks a pixel after a lost reference and IDR recovery. Seven serial real-QUIC session scenarios pass on clean source, including a 60-second synthetic-header measurement (p95 3 ms clean; impaired queue p95 37 ms, age p95 110 ms). These are not displayed-pixel or real-codec network latency claims. An intermediate FIFO-only prototype failed the unchanged queue-age limit and was replaced; no threshold was relaxed.
Exact source, hashes, results and limits:
docs/reports/rds-desktop-references-20260926.mdand its JSON companion. The first GitHub Linux run stalled in the pre-existing unboundedrelay_forwards_handshake_and_datagramsfixture. The live log identified the scenario but not its blocked await. Add five-second per-phase deadlines/diagnostics, scoped connect/accept ownership and explicit cleanup; retain every original identity/payload/forwarding assertion. One full local run plus a fixed ten-run batch passed all six owned-relay scenarios (66 executions), and scoped clippy passes. This improves bounded failure diagnosis; it does not claim a localized relay-runtime fix. GitHub qualification for final head314ab2d1a6bc92cda255fe6eb87b62534aae2257is complete: Linux/macOS CI, CodeQL, supply chain and native packaging all passed. The Linux log confirms the bounded owned-relay scenario, native H.264 reference recovery, and all seven dedicated Xvfb capture/input checks executed and passed. This is a W6.1 increment; real-codec impairment/overload qualification, viewer/rendering, wire session IDs and platform/input-to-visible gates remain open. No deployment or release is introduced.