Skip to content

feat(wasm-visor): multi-type autoconnect — dial WS AND WT to each public visor#3306

Merged
0pcom merged 1 commit into
skycoin:developfrom
0pcom:feat/wasm-wt-multitype-autoconnect
Jun 26, 2026
Merged

feat(wasm-visor): multi-type autoconnect — dial WS AND WT to each public visor#3306
0pcom merged 1 commit into
skycoin:developfrom
0pcom:feat/wasm-wt-multitype-autoconnect

Conversation

@0pcom

@0pcom 0pcom commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

Final PR of the WebTransport carrier build — the browser dial side.

A native visor makes both stcpr and sudph to the same public visors (autoconnect.go) for redundancy + path diversity. The browser analog is WS (TCP) + WT (QUIC); the wasm autoconnect dialed only WS.

Now it dials both carriers to each public visor:

Counts distinct visors now (a peer may hold both a WS and a WT transport), and a peer with no WT record (404) just gets WS — graceful degradation until the fleet registers WT (needs #3302/#3303 deployed). Refreshes the committed wasm blob.

WT carrier build complete (across PRs)

#3302 AR cert-hash foundation → #3303 visor WT accept+register → #3304 native WT dial → #3305 browser-native WT dial (build tags) → this (wasm WS+WT multi-type autoconnect).

🤖 Generated with Claude Code

…lic visor

A native visor makes BOTH stcpr and sudph to the same public visors (autoconnect.go)
for redundancy + path diversity. The browser analog is WS (TCP) + WT (QUIC); until
now the wasm autoconnect dialed only WS.

The autoconnect now dials both carriers to each public visor:
- WS rides the stcpr cmux port (resolve stcpr IP, ws://ip:port/) — unchanged.
- WT: new arDmsg.resolveWT fetches the peer's AR WT record (/resolve/wt) — the
  https://host:port/skywire endpoint + the pinned self-signed cert hash (stored by
  BindWT) — sets the wtTable entry and SaveTransport(WT). Needs the browser-native
  WT dial (skycoin#3305) and the AR WT records (skycoin#3302/skycoin#3303 deployed).

Counts DISTINCT visors now (a peer may hold both a WS and a WT transport), and a
peer with no WT record (404) just gets WS — graceful until the fleet registers WT.
Refreshes the committed wasm blob.
@0pcom
0pcom merged commit f582fda into skycoin:develop Jun 26, 2026
0pcom added a commit that referenced this pull request Jul 7, 2026
…lic visor (#3306)

A native visor makes BOTH stcpr and sudph to the same public visors (autoconnect.go)
for redundancy + path diversity. The browser analog is WS (TCP) + WT (QUIC); until
now the wasm autoconnect dialed only WS.

The autoconnect now dials both carriers to each public visor:
- WS rides the stcpr cmux port (resolve stcpr IP, ws://ip:port/) — unchanged.
- WT: new arDmsg.resolveWT fetches the peer's AR WT record (/resolve/wt) — the
  https://host:port/skywire endpoint + the pinned self-signed cert hash (stored by
  BindWT) — sets the wtTable entry and SaveTransport(WT). Needs the browser-native
  WT dial (#3305) and the AR WT records (#3302/#3303 deployed).

Counts DISTINCT visors now (a peer may hold both a WS and a WT transport), and a
peer with no WT record (404) just gets WS — graceful until the fleet registers WT.
Refreshes the committed wasm blob.
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