Commit Graph
686 Commits
Author SHA1 Message Date
evgeny d6ea893f16 Preserve bridge callbacks until native worker shutdown succeeds 2026-10-27 18:57:36 +01:00
evgeny d83d58c874 Keep Android shutdown independent of a retiring service 2026-10-27 18:55:29 +01:00
evgeny 1c82432de9 Own Android worker threads until cleanup and join finish 2026-10-27 18:52:46 +01:00
evgeny 69b87ef3ed Verify Android startup readiness with the main looper and native worker 2026-10-27 18:33:49 +01:00
evgeny 11b3ceaa9b Wait for Android core readiness before applying settings 2026-10-27 18:27:14 +01:00
evgeny 8e0090b54b Track Android startup until native core readiness is confirmed 2026-10-27 18:20:48 +01:00
evgeny a09b67a70f Fix the key regeneration job type in ChatViewModel 2026-10-27 18:10:09 +01:00
evgeny 848247bde6 Exercise Android identity regeneration through JNI on devices 2026-10-27 18:08:29 +01:00
evgeny 50ea132c15 Recreate the Android core when regenerating its identity 2026-10-27 18:05:06 +01:00
evgeny 2ff51d0016 Persist Android identities atomically before updating config 2026-10-27 17:51:41 +01:00
evgeny 02ec6a50a5 Verify config saves survive cancellation of their submitting scope 2026-10-27 17:35:26 +01:00
evgeny 5382b686e9 Keep config snapshots and network diagnostics precise 2026-10-27 17:18:13 +01:00
evgeny 893e714422 Show a specific error when database reset cannot finish 2026-10-27 17:18:13 +01:00
evgeny 3b42547740 Report native Android database cleanup failures accurately 2026-10-27 17:18:13 +01:00
evgeny b8e7b18937 Serialize Android config transactions and await them through UI lifecycles 2026-10-27 17:18:13 +01:00
evgeny 3ba581770c Build Android configuration from one preferences and key snapshot 2026-10-27 17:18:13 +01:00
evgeny 482026e208 Add an application-owned queue for atomic Android config writes 2026-10-27 17:18:13 +01:00
evgeny 6d925fecd1 Serialize Android network snapshots across monitor and core lifecycles 2026-10-27 15:04:27 +01:00
evgeny e3aa7839ae Include socket refresh monitoring in isolated host tests 2026-10-27 15:04:27 +01:00
evgeny 97a899c0c3 Model delayed network callbacks and config workers in host tests 2026-10-27 15:04:27 +01:00
evgeny 7b526ba681 Own Android network activity registrations across start and stop 2026-10-27 15:04:27 +01:00
evgeny f89c1975f7 Expose network activity callbacks to the isolated Android host tests 2026-10-27 15:04:27 +01:00
evgeny 8a22afc42d Add controlled host fixtures for Android network listeners 2026-10-27 15:04:27 +01:00
evgeny 7f0c080492 Validate saved Android socket ports before reuse 2026-10-27 14:22:32 +01:00
evgeny 080c7a5fd5 Clarify Android auto socket identity and port reuse contracts 2026-10-27 14:22:32 +01:00
evgeny 0fe14699b0 Document Android conversation targets and test message ID conversion 2026-10-27 14:22:32 +01:00
evgeny f04637a257 Keep Android message link parsing linear and validate authority 2026-10-27 14:22:32 +01:00
evgeny 3e96e429eb Preserve unsigned node IDs in Android invite previews
Encode JNI node IDs as decimal strings and decode both uint64 fields without floating point or signed parsing. Compare all invitation fields and binary contents. Cover boundary IDs, malformed JSON types, and model equality with nine JVM tests. Native build, invite codec/build tests, and both debug APK ABIs passed.
2026-10-27 14:22:32 +01:00
evgeny 7eaeb0e2f9 Preserve documentation audit and Android bridge fixes 2026-10-27 13:17:22 +01:00
evgeny fdb0381f5c fix(gui): retain sound preference keys until the queued request is copied 2026-10-27 07:25:26 +01:00
evgeny c8e1d120ba fix(android): include the owner block size contract for role parsing 2026-10-27 07:16:37 +01:00
evgeny e3ea2ef78f fix(chat): preserve unedited GUI tags and read complete role histories 2026-10-27 07:08:33 +01:00
evgeny 1b0034e1ba Handle saved-setting apply errors and document committed CLI interaction results 2026-10-27 03:58:19 +01:00
evgeny 9876677a5f Refresh committed feedback without repeating user actions after readback errors 2026-10-27 03:49:38 +01:00
evgeny 13039933da android: separate avatar taps from conversation context menus 2026-10-27 00:49:00 +01:00
evgeny 845bf2580d Merge upstream chat revisions with attachment transaction fixes 2026-10-26 23:35:21 +01:00
evgeny b19e6797c9 Preserve Android edit drafts across screen recreation and serialize saves 2026-10-26 22:54:36 +01:00
evgeny 0a75a53ed9 Correct Android attachment submission argument after editor integration 2026-10-26 22:45:04 +01:00
evgeny 93057c9eb7 Adapt signed history regression fixtures to canonical revision envelopes 2026-10-26 22:41:56 +01:00
evgeny b0d246913d Complete Android navigation after PM conversation deletion 2026-10-26 22:11:39 +01:00
evgeny f83033d3a1 Guard Android PM history and pending deletion across asynchronous sends 2026-10-26 22:11:39 +01:00
evgeny e5ca2e174c Honor core stop before and after Android restart with lifecycle regressions 2026-10-26 22:07:39 +01:00
evgeny f521bb37f4 fix(call): align audio frontend ownership with core lifecycle
Keep the borrowed audio provider on UTUN_INSTANCE across chat service restarts.
Attach and detach Android voice from the core worker and reject DSP startup
after detach. Preserve TX owner epochs, pending slots and foreign-instance RX
isolation. Remove the unused cross-thread online API and keep its check local
to call.c.

Add eight lifecycle regressions with real cores and the Android host bridge.
Audit public call, DSP, clock, headless and desktop audio contracts and record
the findings and validation scope.

Validation: voice/desktop 38/38, four native call suites, native and both Android
ABI builds, full check 204/204 plus proxy/burst/load. JVM results remain Gradle
UP-TO-DATE (155 app and 15 router). No hardware runtime validation.
2026-10-26 20:22:46 +01:00
evgeny 2e8885548b docs(call): clarify Android output and Bluetooth proxy ownership 2026-10-26 20:21:58 +01:00
evgeny 83df895532 build(android): run router lifecycle regressions with app unit tests 2026-10-26 20:21:58 +01:00
evgeny f724703156 test(android): cover Bluetooth router teardown and callback races 2026-10-26 20:21:58 +01:00
evgeny 34133e4f6f test(android): isolate router application and logging fixtures 2026-10-26 20:21:58 +01:00
evgeny 8cbadd821f test(android): model Bluetooth proxy ownership and device callbacks 2026-10-26 20:21:58 +01:00
evgeny 161422b2cd test(android): add isolated host context and clock fixtures 2026-10-26 20:21:58 +01:00
evgeny de83d7bbf4 fix(android): own Bluetooth proxies across router lifecycle 2026-10-26 20:21:58 +01:00