Commit Graph
317 Commits
Author SHA1 Message Date
evgeny 5dab86e840 Initialize chat schema before storing and publishing local identity 2026-10-26 22:11:39 +01:00
evgeny f1da7d7ee8 Align desktop history reads with Merkle schema and fix PM test setup 2026-10-26 22:11:39 +01:00
evgeny cd0329b301 Cover deleted PM composer state and log GUI deletion failures 2026-10-26 22:11:39 +01:00
evgeny 8ccad3b56b Test PM deletion through the desktop window and history snapshot generations 2026-10-26 22:11: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 79b06846c6 Test Android bridge mute after real AEC and AGC across unmute 2026-10-26 17:14:18 +01:00
evgeny f0df3d8848 Make stale TX regressions assert observable behavior first 2026-10-26 14:57:24 +01:00
evgeny bbc9f750c3 Cover call audio TX ownership across lifecycle transitions 2026-10-26 14:57:24 +01:00
evgeny 962a2df3f8 Add local channel deletion to desktop channel settings 2026-10-26 10:47:39 +01:00
evgeny d67e0b0c23 Report desktop startup failures and validate generated configs 2026-10-26 10:12:30 +01:00
evgeny 8b0002e489 Disable UTUN by default in chat frontends and retain core bootstrap transports 2026-10-25 22:10:06 +01:00
evgeny 539f09004c Use channel member snapshots for desktop participant details 2026-10-25 20:04:59 +01:00
evgeny c26b626c35 Handle comments consistently in desktop socket protocol settings 2026-10-25 16:35:54 +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 5b5221189c Buffer stream PCM before playback and recover underruns without resets 2026-10-25 12:51:19 +01:00
evgeny 677f79881c Diagnose stream audio underruns and fixture timing jitter 2026-10-25 12:30:30 +01:00
evgeny 7c814f5cb9 Route desktop codec diagnostics through the shared log
Quiet capability probes, preserve runtime errors, and register the desktop portal application. Add logging and desktop launcher regression coverage.
2026-10-21 15:45:40 +02:00
evgeny 15b037aef7 Scroll to latest chat messages with End key 2026-10-21 13:31:50 +02:00
evgeny 4f6808156f Add chat history keyboard scrolling and remove unused PTT setting 2026-10-21 13:05:31 +02:00
evgeny 5d9da0c6b1 Preserve exact source EOF across tempo changes and expose DSP lookahead 2026-10-21 01:38:50 +02:00
evgeny c6ed01110e Exercise audio continuity during video stalls and generation changes 2026-10-21 01:03:19 +02:00
evgeny 58c0fc6bba Separate stream audio DSP from bounded PCM consumption 2026-10-21 00:54:30 +02:00
evgeny a342316e7a Verify delayed decoders with unequal audio and video tails 2026-10-21 00:13:01 +02:00
evgeny 23c4e4efbc Diagnose delayed decoder completion with buffered audio 2026-10-20 23:46:59 +02:00
evgeny fbab6eae5d Anchor batch regression at a single initial keyframe 2026-10-20 23:41:12 +02:00
evgeny 0d9c728efe Test bounded batches, track budgets, notifications and FIN 2026-10-20 23:34:57 +02:00
evgeny 6997a82af1 Enable publisher timing logs in diagnostic test runs 2026-10-20 22:32:33 +02:00
evgeny c6f7d50838 Measure stream viewer request and worker delays 2026-10-20 22:30:04 +02:00
evgeny 03e8caf849 Isolate publisher return test and use native widget input 2026-10-20 20:44:42 +02:00
evgeny 2781208361 Exercise native preview clicks and publisher controls escape 2026-10-20 20:42:23 +02:00
evgeny 64064c2cbf Cover desktop local preview and multiview navigation 2026-10-20 20:39:24 +02:00
evgeny b3116173ca Verify shared stream mixing and avoid retrying terminal closures 2026-10-20 17:12:16 +02:00
evgeny 05deb15c91 Embed stream players and verify grid and concurrent playback 2026-10-20 16:39:34 +02:00
evgeny 103e0b6865 Keep per-stream playback clocks on the shared audio output 2026-10-20 16:29:06 +02:00
evgeny 39446b6e2c Use independent viewer sessions in the desktop stream bridge 2026-10-20 16:13:14 +02:00
evgeny 475bec52ca Distinguish encoder KEY checks from receiver capability probes in tests 2026-10-20 01:27:03 +02:00
evgeny 4db89eeb32 Check cancelled codec preparation cannot publish partial capabilities 2026-10-20 01:25:24 +02:00
evgeny 36e8ab228c Verify startup codec preparation keeps GUI responsive and reuses probes 2026-10-20 01:23:21 +02:00
evgeny 0cd1955606 Keep all eight decoder probe frames while accelerating the tail 2026-10-20 01:10:29 +02:00
evgeny 8ad5c09474 Finish decoder capability probes after first paced output and drain 2026-10-20 01:07:31 +02:00
evgeny 521dce5528 Use verified Android encoder levels and expose negotiated frame rate 2026-10-20 00:21:21 +02:00
evgeny 3037c5fa87 Verify 50 fps backends and decode all frames during display catch-up 2026-10-20 00:16:23 +02:00
evgeny 8c826fa2e7 Exercise both video orientations at 30, 50 and 60 fps 2026-10-20 00:15:42 +02:00
evgeny 3db52c755c Preserve phase when sampling 50 fps from a 60 fps camera 2026-10-20 00:15:22 +02:00
evgeny a852a9738b Select camera capture rate and verify 30/60 fps pacing 2026-10-20 00:03:01 +02:00
evgeny 74a4135cdc Accept faster camera capture modes and pace up to 60 fps 2026-10-20 00:01:13 +02:00
evgeny 7be4b8884c Verify production HEVC modes and cross-platform reception 2026-10-19 23:36:58 +02:00
evgeny 7b341d9f4f Cancel desktop decoder probing when a call stops 2026-10-19 22:52:40 +02:00
evgeny 6e0d3f3022 Exercise real Full HD codecs and camera buffer boundaries 2026-10-19 22:46:35 +02:00