evgeny
6da6471204
Apply task-scoped media preparation events to the shared Qt composer
2 weeks ago
evgeny
e4a57970f0
Show preparation state for the current Qt conversation only
2 weeks ago
evgeny
55b21fdcda
Forward pinned attachment preparation events to Qt
2 weeks ago
evgeny
318d72708c
Preserve voice autoplay ordering while decoding in a worker
2 weeks ago
evgeny
172cc3a649
Update shared Qt playback controls after background decoding
2 weeks ago
evgeny
d4a27d1975
Decode voice files asynchronously before starting Qt playback
2 weeks ago
evgeny
c77cb9bb0a
Adopt decoded voice buffers without large copies on the Qt thread
2 weeks ago
evgeny
c58b92ecd7
Render typed PM media using shared Qt message roles
2 weeks ago
evgeny
a281165450
Keep channel download commands out of the shared message delegate
2 weeks ago
evgeny
4f76b4d765
Dispatch Qt attachments using the target captured by the composer
2 weeks ago
evgeny
d1f03f2f80
Enable shared Qt voice and video composition for PM
2 weeks ago
evgeny
0d3f2952c1
Move Qt recording buffers to background preparation without copies
2 weeks ago
evgeny
934f1ccd1f
Use the existing diagnostic macros for desktop PM errors
2 weeks ago
evgeny
7fee3ec551
Render asynchronous PM history and submit desktop file sends
2 weeks ago
evgeny
1ceb09062f
Show PM file delivery state without invoking group downloads
2 weeks ago
evgeny
570f3dfab3
Enable original file attachments in the desktop PM composer
2 weeks ago
evgeny
fe1d29f007
Check refill below the 60 ms reserve including SoundTouch
2 weeks ago
evgeny
5b0262d53f
Diagnose refill expectation with the corrected reserve
2 weeks ago
evgeny
7d9f13b8bc
Test startup backlog independently of delivery jitter
2 weeks ago
evgeny
5487bc8c20
call: suppress loss tone until first received PCM
2 weeks ago
evgeny
72b5a9887f
chatgui: measure duplex audio stalls and record SM call evidence
2 weeks ago
evgeny
111432aa64
conn_mgr: race connection probes and report call path with correct RTT
2 weeks ago
evgeny
1c51df039f
Fix call gap tone to follow 500ms of missing jitter PCM
2 weeks ago
evgeny
fb37ca747a
1
2 weeks ago
evgeny
2d21c53b4b
Improve call buffering, CM handle lifecycle and radio PTT controls
2 weeks ago
evgeny
7ebc282eb2
Prioritize supernodes in invites and update chat background and ringtone
2 weeks ago
evgeny
0d44ada922
Improve Android radio capture lifecycle, VAD and PTT controls
2 weeks ago
evgeny
f12f61d7ee
call: add SpeexDSP AEC (acoustic echo cancellation) for desktop + Android
2 weeks ago
evgeny
1176411b79
radio: Silero VAD + auto-PTT; chatgui/android: app icon and background
2 weeks ago
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)
2 weeks ago
evgeny
72fee9e245
Separate core, UTUN and chat lifecycles with owned asynchronous work
2 weeks ago
evgeny
3131dcbb7c
Fix ETCP session recovery and router lifecycle; confirm chat invites before publishing
2 weeks ago
evgeny
b90dc752d2
call: две фазы исходящего вызова — индикация + разные гудки (desktop/Android)
3 weeks ago
evgeny
7198154106
chatgui: клик по медиа с отсутствующим файлом — сброс пометки и перекачка
3 weeks ago
evgeny
0e625da109
call: ретрансмит INVITE каждые 2с + fail-fast при отсутствии маршрута (6с)
3 weeks ago
evgeny
cc0dcb071e
chat: UI настройки звука канала (Android toggle + JNI, desktop через C API) + trampoline
3 weeks ago
evgeny
845af9200d
Stop call ring sound immediately on accept
3 weeks ago
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: компактная раскладка имени интерфейса
3 weeks ago
evgeny
19dc076528
chatgui: инициализация call/dm/media backfill при старте узла (fix звонков)
3 weeks ago
evgeny
6a0373ee73
call: диагностика ставок TX/RX и детект сталла аудио-девайса с хард-ресинком
3 weeks ago
evgeny
e885fe30f5
chatgui: remove universal black background from video window (fix black boxes around controls)
3 weeks ago
evgeny
cd0757e272
chatgui: declare metatype for shared_ptr<vector<int16_t>> (Qt5 build fix)
3 weeks ago
evgeny
f5fece4959
chatgui: fix video playback on Windows (metatype registration + swscale YUVJ range)
3 weeks ago
evgeny
01987a75d0
chatgui: verify FFmpeg DLL deployment + fix dependency resolution order
3 weeks ago
evgeny
9d4538935d
chatgui: restore FFmpeg build script (build_ffmpeg.sh + .gitignore)
...
Скрипт был случайно удалён в d773f172 вместе с .gitignore/.opencode.
Без него на Windows не собирается ffmpeg/ffmpeg_build/install -> HAVE_FFMPEG
не определяется -> воспроизведение и транскодирование видео отключены.
3 weeks ago
evgeny
a5047c29f7
chatgui: always deploy non-Qt DLLs (FFmpeg, mingw-runtime) next to vibechat.exe
3 weeks ago
evgeny
2f1545de38
chatgui: fix Qt5 build — QMouseEvent/QWheelEvent position() -> localPos()/posF()
3 weeks ago
evgeny
39a1da4c28
chat: fix use-after-free in invite_candidates trampoline + accept JOIN_INFO_RESP/READY/ERROR for unknown channels
3 weeks ago
evgeny
a7a3666d85
radio: AGC release-rate (без кликов), jitter dead-zone, TX/RX-статистика, FGS-гонка и кэш настроек
3 weeks ago
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
3 weeks ago