You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of the team-ux initiative (brainstorm 2026-07-24).
Problem
The only artifact a host can share for a live session is a bare sessionId:token string built by buildInviteCode (src/services/inviteCode.ts) — labeled "invite link" in ShareMenu.tsx but it is neither a link nor scannable. The recipient has to know to open the Team Sessions rail → find a 10px "Join by code" text button (src/components/hosts/TeamSessions.tsx) → paste it. Copy is manual (no auto-copy on generate). There's no cross-device path (desktop→phone) short of retyping a long string.
Proposed reflow (host side, ShareMenu.tsx)
Replace the raw id:token artifact with a human-friendly, high-entropy code. Passphrase-style words (e.g. brave-otter-marble-7) or a longer grouped alphanumeric (e.g. K7M2-P9QX-3B) — shorter than a URL, readable over the phone, but with enough entropy that TTL + rate-limiting makes brute force infeasible. The code is a convenience layer over the real token, resolved server-side; the token itself is never shortened.
Security posture: code resolvable only by a signed-in user; short TTL (~10 min, regenerable); rate-limited resolution; one active code per session. (Decided against a 6-char code — too brute-forceable for a live terminal.)
Auto-copy on generate + success toast (teamActionFeedback.ts), so the default path is generate → it's already on your clipboard.
Make "Join by code" a first-class, discoverable entry (not a 10px button): command-palette action + a clear affordance in the Team Sessions rail. Accept the human code, the QR, or a pasted link interchangeably.
Part of the team-ux initiative (brainstorm 2026-07-24).
Problem
The only artifact a host can share for a live session is a bare
sessionId:tokenstring built bybuildInviteCode(src/services/inviteCode.ts) — labeled "invite link" inShareMenu.tsxbut it is neither a link nor scannable. The recipient has to know to open the Team Sessions rail → find a 10px "Join by code" text button (src/components/hosts/TeamSessions.tsx) → paste it. Copy is manual (no auto-copy on generate). There's no cross-device path (desktop→phone) short of retyping a long string.Proposed reflow (host side,
ShareMenu.tsx)id:tokenartifact with a human-friendly, high-entropy code. Passphrase-style words (e.g.brave-otter-marble-7) or a longer grouped alphanumeric (e.g.K7M2-P9QX-3B) — shorter than a URL, readable over the phone, but with enough entropy that TTL + rate-limiting makes brute force infeasible. The code is a convenience layer over the real token, resolved server-side; the token itself is never shortened.teamActionFeedback.ts), so the default path is generate → it's already on your clipboard.Join side
Depends on / relates
voltius://scheme). Ships fine without it (code + auto-copy + QR-of-a-fallback-URL first); deep link upgrades the scan/click.Still open