feat: refine native iOS chat experience
This commit is contained in:
1 parent
9c5e9bce5b
commit
7bd893ae5c
14 files changed
+415
-93
No files matched your search
@@ -88,6 +88,27 @@ chat titled **Native qualification · disposable**, never unrelated user chats.
|
||||
Further native live attempts stopped at parent's request while user uses voice.
|
||||
No test-host UI guard was retained and no subsequent device action performed.
|
||||
|
||||
## English Dragon HD Omni voice picker — 2026-10-03
|
||||
|
||||
User reported missing new voices on iOS. Root cause: native picker used a fixed
|
||||
12-voice list, and SettingsStore rejected persisted IDs outside that list.
|
||||
Picker now loads authenticated same-origin `GET /voices` through existing pinned,
|
||||
redirect-rejecting networking, supports name/locale/gender/model search, and shows
|
||||
retry/failure state. Ava Omni remains default; fallback personas now use Omni.
|
||||
Dynamic catalog IDs persist across relaunch; legacy Dragon HD IDs migrate to Omni.
|
||||
Offline UI fixtures do not call the NAS. No login, TLS, microphone or account
|
||||
storage behavior changed. Requires backend `/voices` route from voice-api commit
|
||||
`6b8d55f`; real regional synthesis remains unqualified.
|
||||
|
||||
Final simulator unit run passed (60 tests including opt-in TLS cases returning
|
||||
without live probes), `/tmp/hope-omni-ios-final-test.log`. Signed iPhone build passed,
|
||||
`/tmp/hope-omni-phone-final.log`. Initial installation failed with CoreDevice
|
||||
connection reset; fresh device check showed paired/available, but the single retry
|
||||
was denied because the iPhone was locked (MobileImageMounterDeviceLocked). After
|
||||
user unlocked it, installation and launch succeeded on the paired iPhone 14 Pro Max
|
||||
at 08:00 local (dev.shane.voice). No live catalog/audio verification implied.
|
||||
No credentials/preferences reset. No live voice/audio qualification claim.
|
||||
|
||||
## Approved Opal pink redesign — 2026-10-02
|
||||
|
||||
User approved the Opal HTML direction with the existing square reactive persona.
|
||||
@@ -369,6 +390,14 @@ Project `Voice.xcodeproj`, scheme `Voice_iOS`, iPhone 17 Pro simulator
|
||||
Exact historical qualifications: [VERIFICATION.md](VERIFICATION.md). Artifacts
|
||||
live on this Mac under the XcodeBuildMCP workspace, not in Git.
|
||||
|
||||
## UX reliability refinement — 2026-10-03
|
||||
|
||||
Implemented the approved native UX refinement without changing backend contracts: Chats now shows accurate search/workspace/archive empty states and scope, clearer author hierarchy, named selected attachments, and a workspace editor that preserves its draft and reports an in-place failure. Private file preview clears stale data before a new request, identifies the file, and renders loading/error/retry states; unsupported Library accounts no longer appear to load indefinitely. Voice selection now reports a failed live application without overwriting the previous selection. Login preserves an in-memory password only until successful authentication, makes server save feedback explicit, and settings requires a confirmed account-switch warning before changing server. Connection diagnostics now identify token/session setup scope rather than claiming voice qualification.
|
||||
|
||||
Voice preference migration normalizes every legacy fallback persona to Dragon HD Omni while preserving safe dynamic English catalog IDs across relaunch. Added offline regressions for workspace result semantics, stale preview cleanup, static and dynamic voice migration. Sol code review initially found confirmation wiring, async-test compilation, fallback migration, and dynamic catalog persistence blockers; all were fixed before final test/build evidence below. Native iPhone build is signed but not installed in this refinement.
|
||||
|
||||
Verification scoped to current source: **60 unit tests passed** with `/tmp/hope-ios-redesign-derived/Logs/Test/Test-Voice_iOS-2026.10.03_18-46-50--0400.xcresult`; final confirmation-flow UI regression passed at `/tmp/hope-ios-redesign-ui-derived/Logs/Test/Test-Voice_iOS-2026.10.03_18-54-51--0400.xcresult`. An earlier complete offline run executed all existing UI tests but predated the final confirmation-test stabilization. A signed generic iPhone Debug build passed at `/tmp/hope-ios-redesign-phone/Build/Products/Debug-iphoneos/Voice.app`, log `/tmp/hope-ios-redesign-phone-build.log`. No production request, live voice test, device installation, or physical audio claim is made by this refinement.
|
||||
|
||||
## What remains, in order
|
||||
|
||||
1. **Qualify real audio:** microphone capture, TTS audibility, speaker/headphones,
|
||||
|
||||
Reference in new issue
Block a user