Commit Graph
963 Commits
Author SHA1 Message Date
evgeny de1da1c9b1 Translate encrypted attachment controls and request states 2026-10-18 02:26:01 +02:00
evgeny ade9401e05 Fix desktop attachment UI include path 2026-10-18 02:17:54 +02:00
evgeny 7cffb15c73 Add author request list with individual key approvals 2026-10-18 02:17:08 +02:00
evgeny 2b7def369d Render locked group attachments and local decrypted media 2026-10-18 02:16:29 +02:00
evgeny 9f813424bb Deliver attachment key state changes to desktop UI 2026-10-18 02:15:25 +02:00
evgeny 4703a46eb9 Add per-send encryption toggle for group files and voice 2026-10-18 02:15:16 +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 3f7cfe1c86 fix(chatgui): distinguish untranslated addresses from unmeasured profiles 2026-10-17 23:19:25 +02:00
evgeny a485b10e63 fix(chatgui): show measured NAT profile in member addresses 2026-10-17 23:18:57 +02:00
evgeny 60104ea093 fix(chatgui): label detected NAT with unknown type as NAT? 2026-10-17 22:02:36 +02:00
evgeny b539a6f338 gui: display EIM? when unsolicited ingress remains unverified 2026-10-17 18:19:23 +02:00
evgeny b9a5981f5c gui: shorten unknown NAT status to NAT? 2026-10-17 17:55:32 +02:00
evgeny 78f71ddbb0 nat: distinguish public interface addresses from unknown NAT candidates 2026-10-17 17:53:20 +02:00
evgeny 79d8789410 nat: prioritize mapping candidates and label unknown NAT explicitly 2026-10-17 17:47:18 +02:00
evgeny 1dc26bf715 Add bounded mouse zoom and panning to live stream viewer 2026-10-17 01:49:35 +02:00
evgeny 93dc21f3c8 Exercise capture conversion failure with distinct source generations 2026-10-17 01:30:48 +02:00
evgeny fd73fae77f Keep stream capture failures and cursor snapshots tied to their source 2026-10-17 01:30:06 +02:00
evgeny 9c7d088f8b Compare retained image pixels without assuming SIMD color rounding 2026-10-17 01:30:05 +02:00
evgeny 64bbbdc631 Guard RGB conversion bounds and use padded frames in file playback 2026-10-17 01:28:42 +02:00
evgeny f81b93ad0d Allocate padded RGB frames for FFmpeg video conversion 2026-10-17 01:28:04 +02:00
evgeny 88e3e27145 Show cursor in Windows stream preview 2026-10-17 01:02:46 +02:00
evgeny bf729502a1 Improve Windows screen capture frame rate 2026-10-17 00:38:29 +02:00
evgeny f5660a4642 Hide window capture sources 2026-10-17 00:19:28 +02:00
evgeny e440c62339 Use native Windows monitor handle for cursor overlay 2026-10-17 00:16:56 +02:00
evgeny 4a6f95cebd Add native Windows cursor overlay to screen broadcasts 2026-10-16 23:50:52 +02:00
evgeny 49d55a25a1 Poll stream image thread cleanup from GUI loop 2026-10-16 23:09:29 +02:00
evgeny 1e21912dc6 Trace stream image worker and GUI shutdown waits 2026-10-16 22:45:58 +02:00
evgeny a63af43e59 Handle AMF periodic keyframes 2026-10-16 21:52:10 +02:00
evgeny 98d0040b27 Fix AMF live encoder startup probe 2026-10-16 21:26:58 +02:00
evgeny 2a439754ba Fix Windows FFmpeg configure link flags 2026-10-16 19:42:47 +02:00
evgeny 4401c4b1e4 Fix libaom build with NASM 3 2026-10-16 19:27:51 +02:00
evgeny 8cb656dbdc Minimize FFmpeg features for ChatGUI 2026-10-16 19:08:53 +02:00
evgeny eb98d2c724 Fetch x265 tags before configuring version metadata 2026-10-16 19:04:25 +02:00
evgeny f90cbae94a Enable AMD AMF in Windows ChatGUI FFmpeg build 2026-10-16 18:50:42 +02:00
evgeny 7a2fa9e199 Move captured frame conversion to persistent worker 2026-10-16 18:08:42 +02:00
evgeny 5c9bf9e47c Log capture conversion thread and completion 2026-10-16 18:05:58 +02:00
evgeny 8d7ab6a1a6 Keep a converted frame for encoder reconfiguration 2026-10-16 18:05:07 +02:00
evgeny 97e20d2f1c Keep Qt video frame conversion off the publisher worker 2026-10-16 18:04:27 +02:00
evgeny 16e547d15d Drain publisher while asynchronous microphone teardown completes 2026-10-16 17:34:21 +02:00
evgeny 114c0b3e2f Aggregate recurring audio glitch logs between buffer changes 2026-10-16 17:33:32 +02:00
evgeny 688d559787 Wait for native thread exit outside GUI and cover FIN drain in tests 2026-10-16 17:31:20 +02:00
evgeny 0f5a5580c5 Test publisher shutdown with GUI-dependent thread-local cleanup 2026-10-16 17:27:15 +02:00
evgeny 85101765eb Keep GUI responsive until publisher threads finish resource cleanup 2026-10-16 17:26:30 +02:00
evgeny fb2a615165 Reproduce Android audio startup deadlock with real Opus playback 2026-10-16 17:25:19 +02:00
evgeny 0c26daf3f5 Document adaptive buffer limits and preserve failed-open backoff 2026-10-16 17:18:13 +02:00
evgeny b463fc3309 Keep adaptive requests above baseline and test backend fault events 2026-10-16 17:17:22 +02:00
evgeny e37b3be7da Defer new shared subscribers during microphone buffer resizing 2026-10-16 17:15:51 +02:00
evgeny ca09073a52 Test gradual audio buffer adaptation and nonblocking microphone stop 2026-10-16 17:13:59 +02:00
evgeny efe9e8311c Detach shared capture safely while its audio buffer is resizing 2026-10-16 17:12:51 +02:00
evgeny 3c73c7d645 Keep microphone buffer resizing outside the GUI close path 2026-10-16 17:11:57 +02:00