Commit Graph
2672 Commits
Author SHA1 Message Date
evgeny 083495986e Document HCI queue delays and explain incompatible GATT properties 2026-10-29 19:10:13 +01:00
evgeny c5711b5974 Preserve Android BLE failure status and callback diagnostics 2026-10-29 19:00:11 +01:00
evgeny de6e2ada0c Report BLE frame gaps and preserve BlueZ I/O errors 2026-10-29 18:56:50 +01:00
evgeny 8811276ca8 Trace BLE frame delivery and authenticated packet dispatch 2026-10-29 18:46:00 +01:00
evgeny 33b4f0acc8 Record BLE throughput results and harden the hardware probe 2026-10-29 18:38:11 +01:00
evgeny 3def3f5af2 Use unacknowledged BLE DATA and request faster connections 2026-10-29 18:28:05 +01:00
evgeny 9382abb6e6 Fix Windows system library dependencies for uasync 2026-10-29 17:46:18 +01:00
evgeny 5152b17114 Fix BLE link display and remove obsolete tool projects 2026-10-29 17:10:39 +01:00
evgeny f84622966e Add BLE ETCP links and GATT invitations for desktop and Android
Attach packet drivers to initially empty ETCP connections. Share BLE neighbor
tracking and group fallback between desktop and Android in cgathui_common.

Deliver join links through a dedicated Write/Indicate characteristic with
independent fragmentation queues, application acknowledgements, deduplication
and bounded retries. Merge LAN/BLE discovery and add a separate Bluetooth
invitation reception setting to both clients.

Validation: 230 core tests, BLE transport/BlueZ/UI tests, ASAN/UBSAN,
Linux GUI and Android builds, and Windows backend cross-compilation.
Physical Android/Linux invitation exchange passed with either GATT initiator.
The Android-initiated run also verified all 32 ETCP packets of 1500 bytes;
the desktop-initiated load run reached 7/32 within its 45-second time limit.
2026-10-29 16:41:04 +01:00
evgeny ef6a5673bd Preserve member connection state when its refresh fails 2026-10-29 14:02:25 +01:00
evgeny 05ea602a3a Distinguish failed member-link snapshots from confirmed disconnection 2026-10-29 14:02:25 +01:00
evgeny a4c7899ffb Keep native member query failures distinct from valid empty snapshots 2026-10-29 14:02:25 +01:00
evgeny 0878947e13 Describe Android view-model snapshots and application-owned configuration 2026-10-29 14:00:16 +01:00
evgeny 2460e810d6 Document asynchronous BLE detach and report probe cleanup failures 2026-10-29 13:59:14 +01:00
evgeny 0f03aa8b5c Align Android architecture with serialized lifecycle and Bluetooth ownership 2026-10-29 13:56:57 +01:00
evgeny f1f113a5f2 Describe readiness recovery when a rejected restart retains the core 2026-10-29 13:56:57 +01:00
evgeny 0800fd61a7 Retry failed BLE SDK releases and propagate radio command rejection 2026-10-29 13:54:52 +01:00
evgeny 5410c4c6c6 Retain BLE cleanup ownership until each Android release succeeds 2026-10-29 13:53:22 +01:00
evgeny 6c7f5b7032 Apply Bluetooth flag changes atomically without replacing concurrent selections 2026-10-29 13:53:22 +01:00
evgeny 8dc10bb54f Keep Bluetooth settings writes alive and contain Android launch failures 2026-10-29 13:51:59 +01:00
evgeny ae4f524448 Observe confirmed Bluetooth preferences from the application owner 2026-10-29 13:51:58 +01:00
evgeny 1651d1b870 Document native ownership and reject media creation during core cleanup 2026-10-29 13:50:21 +01:00
evgeny 4a5a8cf057 Keep malformed events and deleted database state out of Android UI 2026-10-29 13:49:57 +01:00
evgeny c5879042fb Validate complete channel event frames before publishing state 2026-10-29 13:49:00 +01:00
evgeny d636a03928 Test restart readiness recovery and explicit UTF-8 database cleanup 2026-10-29 13:39:58 +01:00
evgeny 132e222415 Resume retained core owners and observe unexpected service loss 2026-10-29 13:35:42 +01:00
evgeny 791ff42547 Keep database reset atomic and owned beyond the activity lifecycle 2026-10-29 13:35:42 +01:00
evgeny 665137314a Serialize native lifecycle mutations and renew readiness across restart 2026-10-29 13:35:42 +01:00
evgeny 0568d263e0 Reject fresh radio and publisher owners during core cleanup 2026-10-29 13:35:42 +01:00
evgeny 044ff034a6 Await radio and shared audio release before native core teardown 2026-10-29 13:35:42 +01:00
evgeny ea67b491f9 Show private conversation start failures and test stale confirmation isolation 2026-10-29 13:35:41 +01:00
evgeny 321a2c3ed7 Match private conversation confirmations before opening the requested peer 2026-10-29 13:35:41 +01:00
evgeny 69ae8b57cb Bind private conversation start requests to the worker conversation ID 2026-10-29 13:35:41 +01:00
evgeny c1ad35e152 Persist channel mute consistently and own panel preference changes 2026-10-29 13:35:41 +01:00
evgeny fb696d0d56 Report rejected core actions and log nickname write outcomes 2026-10-29 13:35:41 +01:00
evgeny 3aecc095ff Return queue rejection for invite and private conversation requests 2026-10-29 13:35:41 +01:00
evgeny da540627fc Keep accepted commands bound to their instance while restart readiness closes 2026-10-29 13:35:41 +01:00
evgeny f15ca995b7 Close frontend readiness while a restart is pending and retain failed core state 2026-10-29 13:35:41 +01:00
evgeny f50310afed Verify config callback thread attachment and reject truncated database paths 2026-10-29 13:35:41 +01:00
evgeny 20f506fc3c Contain JNI config failures and validate audio result buffers 2026-10-29 13:35:41 +01:00
evgeny af776deed6 Keep member snapshots atomic and verify escaped socket names 2026-10-29 13:35:41 +01:00
evgeny 89a4630477 Build complete network JSON snapshots and verify SQL failure recovery 2026-10-29 13:35:41 +01:00
evgeny 05ab3b8054 Return complete channel snapshots and distinguish database errors from empty history 2026-10-29 13:35:41 +01:00
evgeny 57227b331d Exercise event callback replacement and exceptions on a real JVM 2026-10-29 13:35:41 +01:00
evgeny 2f4cded218 Preserve event callback lifetime and contain JNI delivery exceptions 2026-10-29 13:35:41 +01:00
evgeny 17f79b16cd Run checked JVM string tests with the Android verification tasks 2026-10-29 13:35:41 +01:00
evgeny c0a4beeec4 Verify JNI UTF-8 strings against a real JVM with checked JNI 2026-10-29 13:35:41 +01:00
evgeny 86f0ac7625 Route remaining JNI producers through the core task owner 2026-10-29 13:35:41 +01:00
evgeny 95f0e89567 Read JNI database and live network snapshots in the core worker 2026-10-29 13:35:41 +01:00
evgeny 8614ba5428 Use ordinary UTF-8 across JNI strings and test cancelled media ownership 2026-10-29 13:35:41 +01:00