Skip to content

fix(desktop): bound capture cadence and qualify tunnel packetization - #88

Merged
rldyourmnd merged 2 commits into
mainfrom
fix/transport-packetization-20261004
Oct 4, 2026
Merged

rldyourmnd merged 2 commits into
mainfrom
fix/transport-packetization-20261004

Conversation

@rldyourmnd

@rldyourmnd rldyourmnd commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

A ready damage producer could exceed negotiated max_fps because the limit lived in backend idle waiting. Capture admission now enforces the minimum start interval regardless of readiness, counts capture/encode time toward that interval and checks cancellation while waiting. The regression fails before the fix and observes the required spacing afterward.

Endpoint files now expose existing path-kind restrictions and an opt-in conservative packetization policy: primary QUIC UDP payloads capped at 1200 bytes with MTU discovery/GSO disabled. Iroh and owned Noq share the policy; adaptive defaults, identity, authorization, congestion control and OS routing remain. Default serialization preserves the legacy file shape; explicit new fields require compatible binaries.

Validation: strict feature-complete workspace Clippy/check; 86 network unit tests; byte-verified 256 KiB bidirectional UDP-proxy tests on both backends with actual packet lengths bounded by 1200; complete desktop suite including the capture-cadence and interruptible-repair regressions. Required Linux/macOS CI and actual-device comparisons are separate. This does not close latency/stability acceptance or recommend one transport policy universally.

Follow-up accounting fix: a producer can wait internally before capture, so admission anchors its next interval to the clamped shared-clock capture timestamp. Deliberate admission waiting rebases producer cadence and does not count as encoder starvation. The real SyntheticProducer test under a slower negotiated rate now verifies both spacing and unchanged miss accounting after initialization. Recovered-delivery quality cases passed three repeated local runs; strict Clippy passes.

@rldyourmnd
rldyourmnd merged commit 286283a into main Oct 4, 2026
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