docs: README + device testing checklist (Phase 9)
This commit is contained in:
1 parent
12ded179eb
commit
e63e53ee74
3 files changed
+160
-1
No files matched your search
@@ -0,0 +1,59 @@
|
||||
# Device testing checklist
|
||||
|
||||
Simulator verification covered connect/disconnect, transcripts (text mode), media
|
||||
reconciliation/UI, tasks panel, and the hardening pass. The items below need a **real
|
||||
iPhone on the LAN** (`https://192.168.86.2:9178`) because mic input, WebRTC capture,
|
||||
and audio session behavior don't work in this simulator environment (CoreAudio `-4010`,
|
||||
0 input channels).
|
||||
|
||||
Setup: build with Xcode for a physical device (or `xcodebuild ... -destination`), install,
|
||||
ensure the server cert pin is current (see README — re-export after any server restart).
|
||||
|
||||
## 1. Mic input with real speech
|
||||
|
||||
- [ ] Start → agent joins → mic enables **without** `-4010`.
|
||||
- [ ] Speak: orb/status transitions to **listening**; mic meter moves with voice level.
|
||||
- [ ] Stop speaking, wait >2 s while agent is silent → **thinking** chip appears.
|
||||
- [ ] Agent replies: state goes to **speaking** (remote audio drives it), TTS audible.
|
||||
- [ ] User transcript finals arrive in the list with correct role/timestamps.
|
||||
|
||||
## 2. Barge-in
|
||||
|
||||
- [ ] While the agent is speaking, start talking → conversation continues without a
|
||||
"barge-in" glitch; state returns to listening/thinking as expected.
|
||||
- [ ] Text mode: barge-in hint line visible while in text mode.
|
||||
|
||||
## 3. Wake lock (screen off)
|
||||
|
||||
- [ ] During an active conversation, press the side button (screen off).
|
||||
- [ ] Screen stays on / auto-lock is suppressed for the duration of the session
|
||||
(`isIdleTimerDisabled`); after hang-up, auto-lock returns.
|
||||
|
||||
## 4. Audible media playback
|
||||
|
||||
- [ ] Requires a track in an iOS-decodable format (m4a/aac/mp3) — current library tracks
|
||||
are webm and will fail with `-11828` until the server serves a supported format.
|
||||
- [ ] Play a library track: audio is audible, now-playing card shows art/title/status.
|
||||
- [ ] Pause / ±10 s / stop / seek all work; agent mics off while playing
|
||||
(`media_state` published), mics back on when stopped.
|
||||
- [ ] End conversation while music was playing before → playback resumes.
|
||||
|
||||
## 5. Audio interruption (phone call / Siri)
|
||||
|
||||
- [ ] Mid-conversation, trigger an interruption (incoming call or "Hey Siri").
|
||||
- [ ] Mic is muted on interruption begin; conversation/media pause cleanly.
|
||||
- [ ] On end (with `shouldResume`), mic and media resume automatically.
|
||||
- [ ] Media panel: AVPlayer pauses on interruption and resumes after.
|
||||
|
||||
## 6. Mic permission denied fallback
|
||||
|
||||
- [ ] Deny microphone permission in iOS Settings for the app, relaunch.
|
||||
- [ ] Start → session reaches **ready** despite mic failure (non-fatal); orange error
|
||||
banner shows the mic error; text mode remains fully usable.
|
||||
|
||||
## 7. General device sanity
|
||||
|
||||
- [ ] Connect / hang-up / reconnect matrix (3×) — no crashes, state resets cleanly.
|
||||
- [ ] Change server URL in Settings while idle → session recreates without crash.
|
||||
- [ ] Reconnect banner appears on network loss mid-call; recovers on return.
|
||||
- [ ] Voice/model picker changes take effect live on the agent and survive relaunch.
|
||||
Reference in new issue
Block a user