Symptom. A first-time "Manage devices" or "Start a session" screen with zero devices shows only "No devices saved yet." plus a "Scan a device QR" button — no inline explanation of what a "device" is (a laptop running weft start) versus a "session" (a live Copilot run launched on that device).
Why it matters. The codebase itself flags this exact confusion as a known risk — App.tsx has an inline comment (#weft-scan-ux) about making sure "Add a device" doesn't read as "Join a session" — but the empty-state copy on the screens where a new user actually lands doesn't proactively resolve it.
Source. mobile/src/ui/screens/DevicesScreen.tsx (start-empty/"No devices saved yet." with no further copy); mobile/src/ui/screens/StartSessionScreen.tsx (same minimal empty-state copy); mobile/src/app/App.tsx (#weft-scan-ux comment acknowledging the confusion risk).
Direction. Add one explanatory line to each empty state, e.g. "A device is a laptop running weft start — pair one here, then start sessions on it from your phone."
Symptom. A first-time "Manage devices" or "Start a session" screen with zero devices shows only "No devices saved yet." plus a "Scan a device QR" button — no inline explanation of what a "device" is (a laptop running
weft start) versus a "session" (a live Copilot run launched on that device).Why it matters. The codebase itself flags this exact confusion as a known risk —
App.tsxhas an inline comment (#weft-scan-ux) about making sure "Add a device" doesn't read as "Join a session" — but the empty-state copy on the screens where a new user actually lands doesn't proactively resolve it.Source.
mobile/src/ui/screens/DevicesScreen.tsx(start-empty/"No devices saved yet."with no further copy);mobile/src/ui/screens/StartSessionScreen.tsx(same minimal empty-state copy);mobile/src/app/App.tsx(#weft-scan-uxcomment acknowledging the confusion risk).Direction. Add one explanatory line to each empty state, e.g. "A device is a laptop running
weft start— pair one here, then start sessions on it from your phone."