Skip to content

fix(net): recover reliable streams from paths without ACK progress - #113

Merged
rldyourmnd merged 3 commits into
mainfrom
fix/path-ack-progress-20261006
Oct 6, 2026
Merged

rldyourmnd merged 3 commits into
mainfrom
fix/path-ack-progress-20261006

Conversation

@rldyourmnd

@rldyourmnd rldyourmnd commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

A validated preferred path can stop delivering packets while its cached RTT stays low. RTT-only selection then retains it until the desktop watchdog reconnects, stranding existing reliable streams. Explicit latency preference now tracks per-path ACK progress through a passive adapter that delegates the selected congestion controller unchanged. It probes idle standbys and retires an unresponsive path only after activating a recently confirmed established sibling in the same connection; Noq's last-open-path guard remains.

The proof budget respects the runtime clock and the path RTT. Defaults/pinned selectors, authorization, codec and input sequencing remain. No QUIC/TLS format or application-input replay is introduced. Iroh's narrow vendor patch gains three path-context methods in its existing patched file; Noq uses the same proof policy.

Validation: the final net revision passes all101tests on native Mac and Linux, including real Noq manual/automatic pending-byte recovery and the actual Iroh actor. Mac fmt and strict all-target net Clippy pass; the earlier strict workspace desktop/Noq Clippy and complete Mac workspace regression pass. Cross-platform CI exposed setup races; the fixtures now wait for the preferred link and positive standby ACK proof before injecting loss, while retaining bounded recovery deadlines. Three additional native Mac repetitions of both blackhole fixtures pass. Exact-head CI passes on Ubuntu and macOS, including all transport, desktop/X11, lint, supply-chain, CodeQL and release-package checks. Earlier ENOSPC/file-descriptor and fixture failures remain documented. iroh-base and n0-watcher are test-only direct dependencies on already resolved packages required by Iroh's custom-transport SPI.

Details: docs/reports/rds-path-ack-progress-20261006.md. The guarded Mac manager pilot is installed with protected Herdr/session identities unchanged. Server installation and actual two-device latency/stability acceptance remain open.

@rldyourmnd
rldyourmnd marked this pull request as ready for review October 6, 2026 14:51
@rldyourmnd
rldyourmnd merged commit 7fa7f53 into main Oct 6, 2026
23 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