Skip to content

feat(share): zero-config onboarding — public relay as default transport - #24

Merged
AbsoluteMode merged 1 commit into
mainfrom
feat/default-relay
Jul 31, 2026
Merged

feat(share): zero-config onboarding — public relay as default transport#24
AbsoluteMode merged 1 commit into
mainfrom
feat/default-relay

Conversation

@AbsoluteMode

Copy link
Copy Markdown
Owner

Onboarding drops to share initshare invite: with nothing configured the client uses https://relay.terra-sandbox.ru. Safe to bake in because the relay is blind — everything it carries is sealed and signed client-side, so the relay choice is coordination, not trust, and a built-in default is the one value two strangers already agree on.

Precedence: SESSION_RECALL_RELAY_URL (own relay) → SESSION_RECALL_SHARE_TRANSPORT_DIR (shared folder) → default relay. SESSION_RECALL_RELAY_URL=none|off opts out of the network entirely (with a folder configured it disables only the relay).

Rejected: carrying the relay URL in the pairing bundle — peer-supplied data must not choose where this client sends.

Tests: 274 passed.

🤖 Generated with Claude Code

… transport

`share init` → `share invite` now works out of the box: with nothing
configured, the client talks to https://relay.terra-sandbox.ru. Baking the
URL in is safe because the relay is blind — everything it carries is sealed
and signed client-side, so which relay both sides use is coordination, not
trust — and a built-in default is the one value two strangers already agree
on.

Explicit config still wins: SESSION_RECALL_RELAY_URL for your own relay,
SESSION_RECALL_SHARE_TRANSPORT_DIR for a shared folder, and
SESSION_RECALL_RELAY_URL=none for installs that must never speak to the
network (with a folder configured, none disables only the relay).

The relay URL is deliberately NOT taken from the pairing bundle: a bundle is
peer-supplied data, and a URL inside it would let a malicious bundle point
this client at an attacker's server. Changing relays stays manual.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@AbsoluteMode
AbsoluteMode merged commit 64eca15 into main Jul 31, 2026
7 checks passed
@AbsoluteMode
AbsoluteMode deleted the feat/default-relay branch July 31, 2026 07:35
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.

2 participants