Commit Graph
750 Commits
Author SHA1 Message Date
evgeny 8523448c3a Reserve desktop edit dispatch and reject malformed update events 2026-10-26 22:49:45 +01:00
evgeny 48bdb85ff9 Preserve composer media policy and display edit times for short or emoji text 2026-10-26 22:47:57 +01:00
evgeny 1afb1010cc Wire desktop context-menu editing and update visible messages in place 2026-10-26 22:38:42 +01:00
evgeny 2a9b5748e9 Show edited time and retain revision metadata in desktop rows 2026-10-26 22:38:17 +01:00
evgeny 20350338b8 Deliver committed edits to desktop without message notifications 2026-10-26 22:38:17 +01:00
evgeny e483027e3e Edit group text in desktop composer with save cancel and draft restoration 2026-10-26 22:38:06 +01:00
evgeny cd0329b301 Cover deleted PM composer state and log GUI deletion failures 2026-10-26 22:11:39 +01:00
evgeny e88f3ce46a Finish PM composer cleanup and skip history requests after shutdown 2026-10-26 22:11:39 +01:00
evgeny 6382c794ea Complete desktop PM deletion after the core transaction result 2026-10-26 22:11:39 +01:00
evgeny 4089944673 Guard desktop PM sends and history by conversation generation 2026-10-26 22:11:39 +01:00
evgeny e10354a0ac Keep PM composer work bound to its history generation 2026-10-26 22:11:39 +01:00
evgeny df80c43a57 Offer conversation deletion in the desktop PM context menu 2026-10-26 22:11:39 +01:00
evgeny f0b7b22f92 Read visible DM generations in the desktop conversation list 2026-10-26 22:11:39 +01:00
evgeny 07f63c3047 Document audited call video and session contracts 2026-10-26 21:54:18 +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 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 8e74619501 Make chat joins atomic and test invitation lifecycle failures 2026-10-26 09:19:35 +01:00
evgeny 539f09004c Use channel member snapshots for desktop participant details 2026-10-25 20:04:59 +01:00
evgeny c832a5d7a5 Unify member snapshots and fix Android member status flicker 2026-10-25 19:29:44 +01:00
evgeny ae85423e39 Add automatic socket protocol selector to desktop settings 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 c3cf86b9e0 Recover streams after five seconds and start from complete keys
Preserve queued media under backpressure, advertise retained keyframe ranges in stream wire v6, and reopen stalled subflows without resetting playback.

Cover large fragmented keys, sustained slow delivery, missing subflows, buffer eviction and stale bootstrap snapshots in integration regressions.
2026-10-25 12:03:49 +01:00
evgeny 4a785c2598 Improve stream recovery, delivery diagnostics and buffer indicators
Preserve essential FEC parts under pressure, coordinate stale-data gaps and reopen source subflows in parallel after transport failures.

Add per-peer network and playback diagnostics, Android and desktop buffer indicators, and regression coverage for Wi-Fi switching and congestion.
2026-10-25 01:18:02 +02: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 69e534304b Darken desktop chat backgrounds and lighter panels 2026-10-21 13:26:05 +02:00
evgeny 4dbc543cd3 Increase contrast of chat scrollbar thumb only 2026-10-21 13:21:30 +02:00
evgeny 4f6808156f Add chat history keyboard scrolling and remove unused PTT setting 2026-10-21 13:05:31 +02:00
evgeny 5870efdf04 Default stream redundancy to zero on Android and desktop 2026-10-21 12:42:23 +02:00
evgeny 34db81c5cf Show green stream watch buttons only for active streams 2026-10-21 12:30:08 +02:00
evgeny fcb0768052 Protect SoundTouch lookahead when catching up live stream audio 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 1764603977 Isolate live video decoding from audio preparation in ChatGUI 2026-10-21 01:00:31 +02:00
evgeny 32e648ea9e Release audio holds at video EOF and stop Android batches promptly 2026-10-21 00:15:34 +02:00
evgeny a342316e7a Verify delayed decoders with unequal audio and video tails 2026-10-21 00:13:01 +02:00
evgeny a2fb562a22 Drain desktop tracks independently and cancel obsolete media on reset 2026-10-20 23:54:55 +02:00
evgeny 23c4e4efbc Diagnose delayed decoder completion with buffered audio 2026-10-20 23:46:59 +02:00
evgeny 039c4a9ed4 Consume desktop media batches with per-track backpressure and wakeups 2026-10-20 23:31:50 +02:00
evgeny c6f7d50838 Measure stream viewer request and worker delays 2026-10-20 22:30:04 +02:00
evgeny 7ce60ca0f2 Trace desktop stream stalls across playback and preview UI 2026-10-20 22:20:31 +02:00
evgeny 1b036e4ea9 Trace stream startup decoding and presentation delays 2026-10-20 21:34:24 +02:00
evgeny 8673673fcb Handle stream tile coordinates with Qt 5 and Qt 6 APIs 2026-10-20 20:46:08 +02:00
evgeny e5510e9f62 Connect desktop multiview to publisher preview and controls 2026-10-20 20:37:13 +02:00
evgeny 44db42180e Notify caller when desktop stream controls close 2026-10-20 20:33:23 +02:00
evgeny 6dab5db56a Show silent local preview and focus remote desktop stream tiles 2026-10-20 20:32:52 +02:00
evgeny d7053a2366 Open active stream controls from any Android header 2026-10-20 19:58:55 +02:00
evgeny c4da659dcb Keep publisher shortcut available in every desktop group 2026-10-20 19:55:11 +02:00