Claude af06a250fe Add first-run onboarding wizard for recording mechanics
Introduce a minimal, skippable first-run wizard that teaches the record
key. On first authenticated launch it renders as a full-screen takeover
(gated above PusherProvider) so the stream/compose keyboard handlers are
not mounted to compete for the same keys.

Steps: welcome, hold ` to record, tap V to switch audio/video, tap ` to
toggle recording, mic/camera permission priming, and a recap. The lessons
detect the real gestures and never block — Esc or the Skip control
dismisses at any point.

Reuses existing pieces: VideoAudioToggle, useMediaDevices().requestLabels
for permission priming, KeyHint, and isTypingTarget. Extracts the shared
HOLD_THRESHOLD_MS into lib/constants and reuses it in the compose overlay.

Resolves #259

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A9AHySdLb1zfZAEm6SuaQP
2026-06-21 11:35:01 -07:00
2026-02-19 19:41:26 -08:00
2026-06-02 08:56:29 -07:00
2026-06-11 16:52:05 -07:00
2026-01-27 11:16:58 -08:00
2026-02-19 19:41:26 -08:00
2026-06-20 17:22:45 -07:00
2026-06-11 10:58:36 -07:00
S
Description
No description provided
21 MiB
Languages
TypeScript 68.6%
Go 20.6%
C++ 8.7%
CSS 0.8%
CMake 0.3%
Other 0.8%