Skip to content

fix(desktop): preserve recovered media when predecessors become obsolete - #75

Merged
rldyourmnd merged 2 commits into
mainfrom
fix/desktop-stale-frame-recovery
Oct 1, 2026
Merged

rldyourmnd merged 2 commits into
mainfrom
fix/desktop-stale-frame-recovery

Conversation

@rldyourmnd

@rldyourmnd rldyourmnd commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

A predecessor arriving after a newer recovery picture was treated as a rejected reader, requesting another key. Its stream stop could also invalidate sender recovery; a stop during payload writing ended the video writer.

Receiver and sender now distinguish a valid obsolete predecessor with one exact application STOP_SENDING code. Disposal releases admission without another repair, writer termination or a fresh delivery ACK for bitrate growth. Unknown stops, malformed current headers and actual failures keep their existing behavior. No serialized greeting/control/frame layout or authority changes; older senders retain their generic-stop fallback.

Validation: the delayed-header real-stream regression failed on old behavior by requesting another key; a separate unfinished-payload stop regression failed by ending the writer. Both passed afterward on Iroh and Noq, retaining malformed-frame repair, unknown-stop failure, admission release, no false bitrate growth and connection usability. All 74 macOS desktop units, 253 focused integration tests and strict full-workspace/all-target/all-feature lint passed. Both optimized builds were installed with executable/identity/IPC/service receipts. Linux focused qualification also completed; exact counts are retained privately. A sequence-correlated receipt regression also rejects a late failure invalidating an independently recovered chain and a second repair request.

The installed predecessor still showed multi-second media pauses, and controlled native timing was confounded by occlusion/targeting. This PR does not claim to fix every freeze or close native latency, quality and sustained stability gates. Scoped evidence: docs/reports/rds-obsolete-frame-20261002.md.

Ubuntu full-workspace CI exposed an unrelated fixture port reservation race before candidate identity assertions; its exact failure is retained and a repair is in progress. That job is not reported as passed.

@rldyourmnd
rldyourmnd marked this pull request as ready for review October 1, 2026 23:44
@rldyourmnd
rldyourmnd merged commit 5c6870d into main Oct 1, 2026
17 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant