evgeny
1e9264735b
Fix desktop hover and emoji playback; share Android chat background
2026-10-02 23:19:13 +03:00
evgeny
35648a19ce
Avoid Windows poll macro collision in PTT hotkey manager
2026-10-02 17:32:46 +03:00
evgeny
23368a5bbe
Add Android boot startup, lazy settings, emoji and DM calls
...
Add battery optimization controls and configurable boot startup. Keep message sounds in the application and render general settings lazily to avoid ANRs. Add animated emoji controls and live BGP availability for direct-message calls on Android and desktop.
2026-10-02 17:18:24 +03:00
evgeny
bd082a26bf
Раздели аудиопотоки и привяжи AEC к фактическому общему выходу
2026-10-02 10:22:34 +03:00
evgeny
217e5795bf
Раздели PCM-сессии и исправь частоту и перемотку звука
2026-10-02 02:00:50 +03:00
evgeny
40b974b29c
Исправь потоковый AGC и применяй mute после AEC
2026-10-02 01:56:10 +03:00
evgeny
bdcf8b5634
Сохрани накопленные исправления аудио, async и диагностики
2026-10-02 01:49:32 +03:00
evgeny
203ae61eda
Share bounded thumbnail workers and keep PM downloads in DM transport
2026-10-01 19:12:25 +03:00
evgeny
3b0609fe76
Reject corrupt voice containers and remove unused synchronous playback
2026-10-01 18:51:44 +03:00
evgeny
20322e7ecb
Show PM voice and video delivery status in both shared renderers
2026-10-01 18:49:59 +03:00
evgeny
be8dbcf25e
Remove duplicate GUI voice encoding and keep shared worker codec
2026-10-01 18:48:09 +03:00
evgeny
225e11265f
Connect Qt preparation notifications to the conversation view
2026-10-01 18:39:31 +03:00
evgeny
6da6471204
Apply task-scoped media preparation events to the shared Qt composer
2026-10-01 18:39:31 +03:00
evgeny
e4a57970f0
Show preparation state for the current Qt conversation only
2026-10-01 18:39:31 +03:00
evgeny
318d72708c
Preserve voice autoplay ordering while decoding in a worker
2026-10-01 18:29:43 +03:00
evgeny
172cc3a649
Update shared Qt playback controls after background decoding
2026-10-01 18:29:07 +03:00
evgeny
d4a27d1975
Decode voice files asynchronously before starting Qt playback
2026-10-01 18:27:44 +03:00
evgeny
c77cb9bb0a
Adopt decoded voice buffers without large copies on the Qt thread
2026-10-01 18:27:44 +03:00
evgeny
c58b92ecd7
Render typed PM media using shared Qt message roles
2026-10-01 17:57:43 +03:00
evgeny
a281165450
Keep channel download commands out of the shared message delegate
2026-10-01 17:56:29 +03:00
evgeny
4f76b4d765
Dispatch Qt attachments using the target captured by the composer
2026-10-01 17:54:48 +03:00
evgeny
d1f03f2f80
Enable shared Qt voice and video composition for PM
2026-10-01 17:53:41 +03:00
evgeny
0d3f2952c1
Move Qt recording buffers to background preparation without copies
2026-10-01 17:52:38 +03:00
evgeny
934f1ccd1f
Use the existing diagnostic macros for desktop PM errors
2026-10-01 16:32:14 +03:00
evgeny
7fee3ec551
Render asynchronous PM history and submit desktop file sends
2026-10-01 16:24:09 +03:00
evgeny
1ceb09062f
Show PM file delivery state without invoking group downloads
2026-10-01 16:22:54 +03:00
evgeny
570f3dfab3
Enable original file attachments in the desktop PM composer
2026-10-01 16:22:32 +03:00
evgeny
72b5a9887f
chatgui: measure duplex audio stalls and record SM call evidence
2026-10-01 01:36:34 +03:00
evgeny
111432aa64
conn_mgr: race connection probes and report call path with correct RTT
2026-10-01 00:42:47 +03:00
evgeny
2d21c53b4b
Improve call buffering, CM handle lifecycle and radio PTT controls
2026-09-30 17:31:53 +03:00
evgeny
f12f61d7ee
call: add SpeexDSP AEC (acoustic echo cancellation) for desktop + Android
2026-09-29 17:01:30 +03:00
evgeny
1176411b79
radio: Silero VAD + auto-PTT; chatgui/android: app icon and background
2026-09-29 16:19:25 +03:00
evgeny
ce1f23fe46
Radio: stereo capture/playback with mono fallback; CAMCORDER source; bump RADIO_MAX_OPUS
...
- stereo capture: Android AudioRecord stereo (CAMCORDER source for stereo,
voice sources fall back to CAMCORDER) + desktop separate miniaudio
capture/playback devices (no asymmetric duplex)
- Opus stereo encode/decode, voice_jitter stereo (per-channel frame_size,
slot-based SoundTouch)
- radio_audio_start takes explicit capture_channels (stereo->mono fallback)
- RADIO_MAX_OPUS 256->512 (128kbps stereo frames up to 320B)
- radio_capture_stereo setting + desktop radio settings UI (opus mode/bitrate,
capture stereo)
- radio_send_to send stats logging (etcp_send ok/fail per second)
2026-09-29 02:31:41 +03:00
evgeny
3131dcbb7c
Fix ETCP session recovery and router lifecycle; confirm chat invites before publishing
2026-09-27 02:51:47 +03:00
evgeny
b90dc752d2
call: две фазы исходящего вызова — индикация + разные гудки (desktop/Android)
2026-09-23 19:16:53 +03:00
evgeny
7198154106
chatgui: клик по медиа с отсутствующим файлом — сброс пометки и перекачка
2026-09-22 21:59:59 +03:00
evgeny
0e625da109
call: ретрансмит INVITE каждые 2с + fail-fast при отсутствии маршрута (6с)
2026-09-22 16:06:52 +03:00
evgeny
cc0dcb071e
chat: UI настройки звука канала (Android toggle + JNI, desktop через C API) + trampoline
2026-09-22 01:25:55 +03:00
evgeny
845af9200d
Stop call ring sound immediately on accept
2026-09-21 19:41:21 +03:00
evgeny
9793733cd5
chatgui: диагностика воспроизведения голосовых сообщений (Windows)
...
- sound_manager: ma_engine_init/playRawPcm логируют через DEBUG_* (qWarning/qDebug терялись в GUI-приложении без консоли); детальный результат старта PCM (rc/is_playing/cursor)
- main: ранняя инициализация лога в GUI-потоке до SoundManager::init, чтобы диагностика инициализации попала в файл
- messagedelegate: лог клика по Play/timeline (filePath/dlState/существует ли файл)
- voiceplayback: лог заголовка opus (sr/ch/frameSamples)
Попутные правки:
- u_async: фикс двойного close wakeup_pipe (eventfd/Windows)
- chat_core: NULL-guard в get_db/is_initialized
- android: sqlite открывается в utun_instance_init, cleanup stale-потока без утечки fd
- android SettingsScreen: компактная раскладка имени интерфейса
2026-09-21 18:59:04 +03:00
evgeny
6a0373ee73
call: диагностика ставок TX/RX и детект сталла аудио-девайса с хард-ресинком
2026-09-21 16:54:14 +03:00
evgeny
e885fe30f5
chatgui: remove universal black background from video window (fix black boxes around controls)
2026-09-21 12:50:06 +03:00
evgeny
cd0757e272
chatgui: declare metatype for shared_ptr<vector<int16_t>> (Qt5 build fix)
2026-09-21 12:42:21 +03:00
evgeny
f5fece4959
chatgui: fix video playback on Windows (metatype registration + swscale YUVJ range)
2026-09-21 12:39:18 +03:00
evgeny
2f1545de38
chatgui: fix Qt5 build — QMouseEvent/QWheelEvent position() -> localPos()/posF()
2026-09-21 00:51:48 +03:00
evgeny
738cfe7835
radio: адаптивный джиттер-буфер (pre-roll, симметричный темп, reorder) + AGC-компрессор микрофона
...
- voice_jitter: vj_create_cfg (target_ms/min_tempo/max_tempo/pre_roll), pre-roll
с таймаутом, vj_end для дренажа остатка, глубина учитывает внутренний буфер SoundTouch
- radio_audio: reorder по seq (mesh, out-of-order через соседей), force-flush pending
по таймауту и FIN, компрессор микрофона (AGC, конфиг [chatserver]), статистика буфера
- audio_compressor: clear_output для потокового слива без потери gain_smoothed
- chatgui messagelist: fromUtf8 для emoji-строк
- тесты: pre-roll/симметричный темп, reorder, late-drop
2026-09-20 14:39:25 +03:00
evgeny
b96ed8bd00
radio: PTT-радио в каналах (src/radio + chatgui + chatgui-android)
...
Новый модуль src/radio (radio/radio_audio/radio_headless) — push-to-talk
радио поверх topo-групп, доставка аудио в канал, headless-режим и тесты.
Интеграция в chatgui (ptt_hotkey_manager, radio_audio_engine, радионастройки,
вызовы) и chatgui-android (RadioAudioEngine, RadioOverlayService, UI).
2026-09-19 17:09:00 +03:00
evgeny
e4557b0473
dm: маршрутизация через общую группу (group_id), JSON-эскейпинг; звонки: иконки/UI в desktop и android
2026-09-16 15:05:48 +03:00
evgeny
b483335c06
bgp/ncd: владение conn через NCD-handle в senders_list; call audio route persist + incoming call sound
2026-09-16 13:29:28 +03:00
evgeny
b11e77e4c0
call: P2P аудиозвонки — сигналинг, релей медиа, аудио-контур, headless/desktop/android
...
- src/call/: сигналинг (call.c, call_proto.h, ETCP_RT_ID_CALL 0x36) + релей медиа
+ headless аудио-сокет (call_headless.c, call_audio_bind) + Opus/jitter/тоны
- chat: события CHAT_EVT_CALL_* (34–40), CHAT_EVT_DM_MESSAGES (41), DM-трамплины
- chatgui: call window, miniaudio I/O, audio_frame_ring, test_audio_jitter
- chatgui-android: CallScreen/IncomingCallDialog, аудио-роутинг, JNI, рингтон
- tests: test_call, test_call_headless
2026-09-16 10:17:57 +03:00