Commit Graph
85 Commits
Author SHA1 Message Date
evgeny fdecfe1b78 Drive video controls from SDK outcomes and preserve paused playback 2026-10-29 13:34:25 +01:00
evgeny 9383a68f17 Release failed member snapshot requests and validate deletion frames 2026-10-29 13:34:25 +01:00
evgeny 35fe0ecda1 Exercise stream decoder and audio device failure ownership 2026-10-29 13:34:24 +01:00
evgeny aa27892c12 Reject regressed stream PTS before submitting it to the decoder 2026-10-29 13:34:24 +01:00
evgeny ffa5dece4f Validate stream snapshot counts and verify native metadata mappings 2026-10-29 13:34:24 +01:00
evgeny a1dcf28bf9 Reject malformed stream batches before mutating the playback queue 2026-10-29 13:34:24 +01:00
evgeny cc7648bb33 Validate length-prefixed NAL headers consistently with Annex B input 2026-10-29 13:34:24 +01:00
evgeny 270eb0c3b0 android: add photo and video capture orientation controls 2026-10-28 12:58:21 +01:00
evgeny c137ad89d1 Clarify JNI log scenario coverage and callback descriptor checks 2026-10-28 12:28:28 +01:00
evgeny a77fc553e7 Contain JNI logging failures and preserve UTF-8 payloads 2026-10-28 12:28:28 +01:00
evgeny 401e65c132 Read Android log snapshots without losing queued updates 2026-10-28 12:28:28 +01:00
evgeny 0a36dc5ac6 Make Android UDP log forwarding opt-in with a persisted target 2026-10-28 12:08:07 +01:00
evgeny c0acb6b268 Remember separate photo and video recording preferences 2026-10-28 12:08:07 +01:00
evgeny c9f8f17858 Restore video call modes and remember the selected bitrate range 2026-10-28 12:08:07 +01:00
evgeny c368b77a00 Unify video call controls and support one-tap option menus 2026-10-28 12:08:07 +01:00
evgeny 8b3b6fb5af Reject malformed feedback events before updating UI state 2026-10-28 11:36:13 +01:00
evgeny 317f362a7a Reproduce malformed feedback event handling in the UI 2026-10-28 11:36:13 +01:00
evgeny 37515df8c1 Validate poll drafts and reject malformed feedback snapshots 2026-10-28 11:36:13 +01:00
evgeny 89efd10450 Reproduce invalid poll draft and inactive custom answer handling 2026-10-28 11:36:13 +01:00
evgeny f6b5e5b42c Route group avatar snapshots separately from feedback changes 2026-10-28 11:36:13 +01:00
evgeny e91987d241 Reproduce Android avatar and feedback event ID collision 2026-10-28 11:36:13 +01:00
evgeny bc296af99f Test server link presentation and authorization errors in clients 2026-10-28 11:07:58 +01:00
evgeny 005d136dc7 Make Android microphone capture stoppable and cleanup resilient
Use nonblocking AudioRecord reads with data and timestamp deadlines. Serialize idempotent close, finish interrupted joins before release, isolate callback failures, and abort stereo fallback when partial-record cleanup fails.

Close failed shared readers to new subscriptions, roll back worker startup, isolate observers, preserve interrupt state, and release the last consumer exactly once. Add an independent capture-tests JVM module to the standard Android unit-test task.

Validation: 38 capture scenarios (25 AudioRecord plus 13 PCM/PTT), 455 JVM tests, assembleDebug, core build, and full check.sh (225 tests plus proxy/burst/load) passed.
2026-10-28 00:53:01 +01:00
evgeny d83d58c874 Keep Android shutdown independent of a retiring service 2026-10-27 18:55:29 +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 02ec6a50a5 Verify config saves survive cancellation of their submitting scope 2026-10-27 17:35:26 +01:00
evgeny 482026e208 Add an application-owned queue for atomic Android config writes 2026-10-27 17:18:13 +01:00
evgeny 7f0c080492 Validate saved Android socket ports before reuse 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 c832a5d7a5 Unify member snapshots and fix Android member status flicker 2026-10-25 19:29:44 +01:00
evgeny fc8a06547d Test automatic socket protocol configuration and Android port reuse 2026-10-25 16:35:54 +01:00
evgeny 0e17756e19 Show stream playback buffer chains on desktop and Android
Send coalesced per-hop telemetry every 200 ms ahead of video DATA using the shared ETCP transport. Measure pending frames before ETCP handoff, retain stale and unavailable node values, and display the worst path with playback tempo.

Bump stream wire protocol to v7. Validate with 187 core tests, 21 desktop player tests, two Android indicator tests, and an Android APK build.
2026-10-25 15:21:23 +01:00
evgeny bb380441a3 Fix shared microphone crackle from timestamp jitter 2026-10-22 16:53:25 +02:00
evgeny bebc579180 Share media playback devices and await cleanup before calls 2026-10-22 15:07:25 +02:00
evgeny b72e51accb Keep shared microphone PCM continuous across device changes 2026-10-22 15:07:25 +02:00
evgeny 50cf61e9cd Mix partial stream PCM without copying stale buffer tails 2026-10-21 01:11:35 +02:00
evgeny c887780022 Consume Android batches with independent track completion 2026-10-21 00:13:01 +02:00
evgeny 9e5b2ad435 Add adaptive Android grid with automatic source reconciliation 2026-10-20 17:07:19 +02:00
evgeny 4e386fc8e3 Mix Android streams on one AudioTrack with independent clocks 2026-10-20 16:58:32 +02:00
evgeny 9c7b49e91f Add call status sharing and automatic stream orientation 2026-10-20 15:49:32 +02:00
evgeny d71d0dc4af Check fullscreen video fitting without cropping or rotating thumbnails 2026-10-20 00:54:29 +02:00
evgeny 9bc3e7228c Test Android frame pacing and extend hardware diagnostics to 60 fps 2026-10-20 00:13:48 +02:00
evgeny 10018d008e Update call video controls and sensor rotation across Android and desktop 2026-10-19 20:24:39 +02:00
evgeny 94e79e5630 Color Android member phone actions using live call presence 2026-10-19 15:20:25 +02:00
evgeny be295f768c feat(chat): add local DM deletion and improve Android member list
Delete local conversations atomically, retain replay protection and sequence counters, and guard asynchronous media work by history generation. Add Android avatar menu and confirmation, persistent file cleanup, and regression coverage.

Fix unnamed member wire padding and compact Android member action spacing.

Validation: 158 core tests passed; targeted DM tests, desktop build, Android unit tests and debug APK build passed.
2026-10-18 02:04:05 +02:00
evgeny 7c7b9646f3 test(android): distinguish untranslated and unmeasured interface addresses 2026-10-17 23:20:55 +02:00
evgeny 3e29a7ca1c test(android): expect distinct NAT? and EIM? address labels 2026-10-17 22:17:53 +02:00