Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ fastcdc = "5"
# selector API so `max_multipath_paths = 1` can actually pin an iroh
# connection to its handshake path (iroh floors the transport-config cap
# at 14 and QNT cannot be disabled through it either).
iroh = { version = "1", features = ["unstable-custom-transports"] }
iroh-relay = "1"
iroh = { version = "1.3", features = ["unstable-custom-transports"] }
iroh-relay = "1.3"
noq = "1"
noq-proto = "1"
postcard = "1"
Expand Down
23 changes: 23 additions & 0 deletions docs/reports/rds-transport-responsiveness-20261006.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Iroh actor responsiveness baseline — 2026-10-06

W1/W10 resilience increment: require Iroh/relay1.3 and lock Iroh/base/relay1.3.0.
Noq remains1.3.0. No new dependency, transport setting, wire message, authority,
stream-priority or input-ordering change.

[Iroh1.3](https://github.com/n0-computer/iroh/releases/tag/v1.3.0) includes
[4512](https://github.com/n0-computer/iroh/pull/4512), which keeps a remote actor
responsive while an Initial/datagram send waits behind a blocked relay queue.
The owned bounded send work uses concurrent selected destinations and a deadline;
QUIC retransmits Initials. Upstream regression covers the full real relay queue,
responsive RemoteInfo, direct delivery, expiry, queue limit and shutdown. The
published1.3.0 source contains the bounded futures and three-second send deadline.

This addresses a known setup/recovery risk. It does not establish the cause of a
steady-state input pause or close native latency/stability acceptance. A small
control/frame backlog must still be joined across application, transport, native
input and presentation, with qualified clocks for cross-host comparisons.

Formatting/diff checks pass. macOS full workspace desktop-feature tests are in
progress; cross-platform CI, strict Clippy and installed qualification remain
required. No installed endpoint or protected desktop service was changed by this
source increment.
20 changes: 20 additions & 0 deletions docs/research.md
Original file line number Diff line number Diff line change
Expand Up @@ -874,3 +874,23 @@ Real holds, client repeats, shared ownership and restoration remain required.
The dedicated Xvfb regression observes map notifications alongside delayed
release, repeats, modifiers and Backspace. Native composited-desktop timing
must still establish how much this defect contributed to a reported stall.

## Transport responsiveness baseline — 2026-10-06

The Iroh adapter now requires the 1.3 release line, with the lockfile binding
Iroh/base/relay1.3.0. Noq remains1.3.0; transport settings and protocol surfaces
are unchanged. [Iroh1.3 release](https://github.com/n0-computer/iroh/releases/tag/v1.3.0)
includes [upstream4512](https://github.com/n0-computer/iroh/pull/4512): a full relay
send queue previously retained the remote actor while it awaited a datagram
send. The replacement owns at most16pending sends per peer, sends selected
paths concurrently, bounds each send to3seconds and disposes pending work when
the actor exits. The actor can continue handling route and connection events.
This repairs a known establishment/recovery risk; it is not proof that every
steady-state desktop input pause had this cause.

[QUIC9000](https://www.rfc-editor.org/rfc/rfc9000.html#section-2.2) guarantees ordered
delivery within a stream and isolates ordering between different streams; it
does not remove congestion/flow-control or application-reader delays. Existing
RDS desktop control priority, isolated media streams, bounded input queues and
validated payload receipts remain. A fast write means local admission, not
remote receipt. Installed burst/idle and network-change acceptance remains open.
Loading