Commit Graph
17 Commits
Author SHA1 Message Date
key 5027bef32d fix(mobile): support Android system file picker 2026-07-29 23:52:44 +08:00
key 6ba7df863f chore: add UI audits and reconcile release docs 2026-07-29 16:10:46 +08:00
key cc1865a979 docs(release): register Android 0.1.13 candidate 2026-07-29 12:18:00 +08:00
key 70e5516ff3 fix(release): close fixed-code mobile auth gaps 2026-07-29 11:59:30 +08:00
key 6bf365d591 docs(android): adopt login-page legal consent 2026-07-29 10:35:41 +08:00
key 71f005c229 fix(android): capture privacy exit states 2026-07-29 03:43:30 +08:00
key c3e0789f29 test(android): capture read-only acceptance evidence 2026-07-29 03:22:19 +08:00
key 04b35c055f docs: refresh Android 0.1.10 release evidence 2026-07-29 02:53:10 +08:00
key 376a7c4b84 docs: record Android 0.1.9 RC evidence 2026-07-29 02:23:06 +08:00
key fd59421574 docs: record Android overlay lifecycle evidence 2026-07-29 01:56:23 +08:00
key ba68fc8326 release: harden Android network security 2026-07-29 01:13:18 +08:00
key 9ea5d79a62 release: prepare August 1 Android RC 2026-07-29 00:35:15 +08:00
key 9ae5f750c8 fix: align Windows dev, App compiler, and ASR 2026-07-26 21:27:37 +08:00
admin f57e0a53c6 feat(mobile): expand TTS voices and align App SDK 2026-07-26 17:05:43 +08:00
adminandClaude Opus 5 5cf7ce5847 feat(practice): run realtime practice on App-Plus through renderjs
App-Plus has no WebRTC or getUserMedia in the logic layer, so realtime
practice was H5-only and the native entry had to advertise a record-then-
transcribe downgrade.

Move the media/WebRTC engine into `realtime-browser-engine.js` and drive it
from `RealtimePracticeAppBridge.vue`, whose renderjs script runs inside the
system WebView where those APIs do exist. The logic layer keeps the
authenticated calls: SDP exchange and `search_knowledge` tool invocation stay
server-proxied, so the access token is never handed to the view layer. Both
sides talk over the renderjs bridge only in session payloads the server
already assembled.

Verified against a real App build (`app-renderjs.js` holds RTCPeerConnection
and getUserMedia; `app-service.js` holds the SDP endpoint, renderjs side has
zero hits). Microphone permission, live transcription, remote playback,
foreground/background switching and disconnect fallback still require Android
and iOS device verification.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-25 23:58:10 +08:00
admin 6a90fd977c docs(mobile-app): sync native packaging guidance 2026-07-23 15:05:15 +08:00
admin 0f5c2e8667 feat(mobile-app): prepare native app packaging 2026-07-23 14:40:23 +08:00