every.channel: sanitized baseline
This commit is contained in:
commit
897e556bea
258 changed files with 74298 additions and 0 deletions
58
evolution/proposals/ECP-0038-share-links.md
Normal file
58
evolution/proposals/ECP-0038-share-links.md
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
# ECP-0038: Share Links (every.channel://watch) and UI Share Controls
|
||||
|
||||
Status: Draft
|
||||
|
||||
## Problem
|
||||
|
||||
Sharing currently exposes a raw MoQ bundle (endpoint addr JSON, broadcast, track) which is copy/paste friendly for developers but awkward for regular users. We also need explicit UI controls for:
|
||||
|
||||
- Sharing via a single link.
|
||||
- Sharing to nearby nodes (mDNS).
|
||||
- Sharing publicly (DHT address lookup), while still requiring explicit gossip bootstrap peers.
|
||||
|
||||
## Decision
|
||||
|
||||
Introduce a compact share link format:
|
||||
|
||||
`every.channel://watch?...`
|
||||
|
||||
and add UI affordances to copy and consume this link.
|
||||
|
||||
The link is a convenience wrapper around existing MoQ parameters. No new trust model is introduced here.
|
||||
|
||||
## Link Format (v1)
|
||||
|
||||
Scheme and path:
|
||||
|
||||
- `every.channel://watch`
|
||||
|
||||
Query parameters:
|
||||
|
||||
- `remote` (required): iroh `EndpointAddr` JSON string (or id-only string when discovery is enabled).
|
||||
- `broadcast` (required): MoQ broadcast name.
|
||||
- `track` (optional): MoQ track name (default remains `chunks` in the app).
|
||||
- `stream_id` (optional): key id override (rare; for debugging).
|
||||
- `secret` (optional): network secret hex (only when the publisher used one).
|
||||
- `discovery` (optional): comma-separated discovery modes, currently `mdns`, `dht`, `dns`.
|
||||
|
||||
## UI (user-facing language)
|
||||
|
||||
- Share card includes:
|
||||
- Copyable share link.
|
||||
- Copyable node id.
|
||||
- Viewer panel exposes:
|
||||
- "Nearby (same Wi-Fi)"
|
||||
- "Public (internet)"
|
||||
- "Show in directory"
|
||||
- optional "directory contacts" and "sharing key"
|
||||
- "Watch a link" accepts a share link and can parse it to fill hidden advanced fields.
|
||||
|
||||
## Consequences
|
||||
|
||||
- Sharing becomes one-string shareable without asking recipients to understand the underlying bundle structure.
|
||||
- Public announcements still require bootstrap peers; DHT only provides address lookup.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Add an explicit public bootstrap peer list mechanism (governance-controlled).
|
||||
- Add optional signing of share links (identity binding) once stream signing is enforced.
|
||||
Loading…
Add table
Add a link
Reference in a new issue