Skip to content

feat(p2p): add relay-assisted direct terminal routing - #388

Merged
attson merged 30 commits into
mainfrom
design/accountless-p2p
Sep 24, 2026
Merged

attson merged 30 commits into
mainfrom
design/accountless-p2p

Conversation

@attson

@attson attson commented Sep 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • add authenticated Relay-assisted WebRTC signaling and encrypted direct terminal transport
  • use native Pion on desktop while retaining browser WebRTC for web and Capacitor
  • preserve Relay attach, history replay, authorization, and automatic fallback semantics
  • add personal Relay/P2P traffic analytics and active-session P2P byte reporting
  • move direct-routing controls into Relay settings and refine route/status UI
  • merge v0.5.21/v0.5.22 fixes and regenerate deterministic embedded Web assets
  • stabilize SSH tunnel tests by waiting for the async test server to register completed handshakes

Verification

  • go vet -tags webkit2_41 ./...
  • go test -tags webkit2_41 -timeout 120s ./... (all non-desktop packages passed; desktop timing assertions were stabilized)
  • go test -tags webkit2_41 -timeout 180s -count=1 ./desktop/
  • desktop/frontend: npm test && npm run build (190 files, 2446 tests)
  • web: npm test && npm run test:contract (235 unit tests, 16 contract tests)
  • mobile: npm test
  • scripts/build-web.sh repeated with Node 20 / Go 1.23.12; zero embed drift

liuzaisen added 30 commits September 22, 2026 15:51
# Conflicts:
#	internal/relay/web-dist/assets/FileExplorer-BumK3wPT.js
#	internal/relay/web-dist/assets/FileExplorer-CxEfTh8j.js
#	internal/relay/web-dist/assets/FileExplorer-DTHAXsem.js
#	internal/relay/web-dist/assets/index-7QWmdym1.js
#	internal/relay/web-dist/assets/index-B1eziXst.js
#	internal/relay/web-dist/assets/index-B2EmydOR.js
#	internal/relay/web-dist/assets/index-B5lmJj73.js
#	internal/relay/web-dist/assets/index-BHEGRR_x.js
#	internal/relay/web-dist/assets/index-BKS_vG9j.js
#	internal/relay/web-dist/assets/index-BKUnbiGw.js
#	internal/relay/web-dist/assets/index-BTPAbX_e.js
#	internal/relay/web-dist/assets/index-BVUZcNYA.js
#	internal/relay/web-dist/assets/index-BWdmQv68.js
#	internal/relay/web-dist/assets/index-C5ykaaYB.js
#	internal/relay/web-dist/assets/index-CBSusbSc.js
#	internal/relay/web-dist/assets/index-CC5g0Nm4.js
#	internal/relay/web-dist/assets/index-CHTSx7s6.js
#	internal/relay/web-dist/assets/index-CJ0n8Iq4.js
#	internal/relay/web-dist/assets/index-CL_O9F0b.js
#	internal/relay/web-dist/assets/index-CMGgZhk7.js
#	internal/relay/web-dist/assets/index-CVE6o20G.js
#	internal/relay/web-dist/assets/index-CWU_7NNG.js
#	internal/relay/web-dist/assets/index-Ccyjkum6.js
#	internal/relay/web-dist/assets/index-ChhOm7oD.js
#	internal/relay/web-dist/assets/index-Ci2MtInW.js
#	internal/relay/web-dist/assets/index-CidLZrB5.js
#	internal/relay/web-dist/assets/index-CjwJfWsk.js
#	internal/relay/web-dist/assets/index-CkmcuAx0.js
#	internal/relay/web-dist/assets/index-Cnryh6X_.js
#	internal/relay/web-dist/assets/index-DB-c3u2H.js
#	internal/relay/web-dist/assets/index-DDrs-wZn.js
#	internal/relay/web-dist/assets/index-DI-4cHpq.js
#	internal/relay/web-dist/assets/index-DKJlFFIC.js
#	internal/relay/web-dist/assets/index-DL67eyEa.js
#	internal/relay/web-dist/assets/index-DO3lkMm1.js
#	internal/relay/web-dist/assets/index-DPiyrqAG.js
#	internal/relay/web-dist/assets/index-DR4XN96w.js
#	internal/relay/web-dist/assets/index-DRFRE0Ca.js
#	internal/relay/web-dist/assets/index-DTgf7QAl.js
#	internal/relay/web-dist/assets/index-DZ8umVch.js
#	internal/relay/web-dist/assets/index-DZaDIMfZ.js
#	internal/relay/web-dist/assets/index-D_m4khmP.js
#	internal/relay/web-dist/assets/index-Dbd_l3lS.js
#	internal/relay/web-dist/assets/index-DblmzGAc.js
#	internal/relay/web-dist/assets/index-DfP-AjMF.css
#	internal/relay/web-dist/assets/index-Di5PmtZ2.js
#	internal/relay/web-dist/assets/index-DmehD3IR.js
#	internal/relay/web-dist/assets/index-DpmQw5ax.js
#	internal/relay/web-dist/assets/index-Dy-6tZbQ.js
#	internal/relay/web-dist/assets/index-KcexLGIr.js
#	internal/relay/web-dist/assets/index-P3XN_P9_.js
#	internal/relay/web-dist/assets/index-V3ZvDuX4.js
#	internal/relay/web-dist/assets/index-X9DIw5ut.js
#	internal/relay/web-dist/assets/index-Y9ahX5ER.js
#	internal/relay/web-dist/assets/index-Z6WUIGxm.js
#	internal/relay/web-dist/assets/index-cGfdCuRo.js
#	internal/relay/web-dist/assets/index-gs2Ov3d4.js
#	internal/relay/web-dist/assets/index-wpy5ZEXj.js
#	internal/relay/web-dist/assets/index-xt2oAeAM.js
#	internal/relay/web-dist/index.html
#	internal/relay/web-dist/sw.js
@attson
attson merged commit 53bde7b into main Sep 24, 2026
7 checks passed
@attson
attson deleted the design/accountless-p2p branch September 24, 2026 06:54

This branch was successfully deployed

1 active deployment
ci — 4c44c93f Deployed Sep 24, 2026 by attson via darwin/amd64 #928
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