Files
OSGKeyboard/docs/FLOW_BLUETOOTH_TESTING.md
T
Rocky 31f5937a7f feat(keyboard): improve typing, voice flow, and polish reliability
Reduce extension memory pressure and delivery races while adding richer candidates, tactile feedback, and safer two-level creative polishing.
2026-08-05 21:39:31 +08:00

35 lines
1.3 KiB
Markdown

# Flow Bluetooth HFP release gate
Run this checklist on a physical iPhone before every release that changes Flow,
PiP, ASR warmup, or audio-session code. Simulator audio is not an HFP substitute.
## Required devices
- Built-in iPhone microphone
- One Bluetooth HFP headset (AirPods or equivalent)
## Pass criteria
1. Start a PiP Flow session and record 50 consecutive utterances with the
built-in microphone.
2. Repeat 50 utterances with the Bluetooth headset already connected.
3. Switch Prompt in the host app, return to the original text field, and record
20 more Bluetooth utterances.
4. During recording, connect and disconnect the headset once. The app must
recover automatically before speech starts, or stop with an explicit
audio-device-changed error after speech has started.
5. Recreate the keyboard extension once while processing and once after the
Host writes the final result.
The run fails if any of the following occurs:
- `-10868` or `formats don't match`
- `capture.engine.startFailed`
- A completed utterance reports zero input frames
- `host.delivered` has no matching `keyboard.insert`
- The same utterance is inserted more than once
- A background task exceeds 30 seconds
- AVAudioSession activation blocks the main thread
Archive the filtered `[trace]` log with the release test record.