evgeny
add016894b
Use bounded independent Android cache files for each attachment
1 week ago
evgeny
fd3fc971fa
Return Android video recording to its original channel or PM
1 week ago
evgeny
fef800ef7a
Use the same Android media interface for channels and PM
1 week ago
evgeny
1cd366c0e1
Share Android conversation composition attachments and message lists
1 week ago
evgeny
dbec6e75e8
Pin Android recording targets and stop capture outside the main thread
1 week ago
evgeny
80b4e6f3e9
Normalize PM voice and video into the Android message model
1 week ago
evgeny
6185869c6d
Use fixed conversation targets for Android media preparation
1 week ago
evgeny
dc1110af4d
Add Android PM attachment selection, saving and delivery labels
1 week ago
evgeny
1457275139
Update Android PM screens from asynchronous core events
1 week ago
evgeny
52e38ff5d6
Parse PM snapshots and delivery states in the Android repository
1 week ago
evgeny
ce5f5bb7d0
Improve Android onboarding, member UI and PTT permissions
1 week ago
evgeny
4a2efe21c7
Start Android capture and playback independently
1 week ago
evgeny
00666499fe
android: start call capture before playback setup
1 week ago
evgeny
111432aa64
conn_mgr: race connection probes and report call path with correct RTT
1 week ago
evgeny
e914a1bdc1
Improve Android member details contrast
1 week ago
evgeny
b36c685cfa
Show ongoing Android calls on the lock screen
1 week ago
evgeny
3c5c9604b3
Keep Android calls active independently of screen and UI
1 week ago
evgeny
2d21c53b4b
Improve call buffering, CM handle lifecycle and radio PTT controls
1 week ago
evgeny
752c1f140c
Add unified Android dark theme and improve UI contrast
1 week ago
evgeny
db3cacd33e
Rename Android app to vibechat
1 week ago
evgeny
0d44ada922
Improve Android radio capture lifecycle, VAD and PTT controls
1 week ago
evgeny
745ec3dbd2
android radio: preserve output route on reconfigure, link input/output settings
1 week ago
evgeny
15958a078e
android: self-managed Telecom ConnectionService for call audio routing
1 week ago
evgeny
61bf235ef4
radio: PTT double-tap latch + single-tap off (in-chat & overlay); compressor initial gain = mid-range
1 week ago
evgeny
556b0bc7b7
call/radio: mic AGC compressor + selectable input device; proximity lock
1 week ago
evgeny
f12f61d7ee
call: add SpeexDSP AEC (acoustic echo cancellation) for desktop + Android
1 week ago
evgeny
1176411b79
radio: Silero VAD + auto-PTT; chatgui/android: app icon and background
1 week ago
evgeny
fdec5b65c5
Add independent radio compressor and Android audio controls
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
331970a121
Radio: Opus mode/bitrate + mic source + PTT release tail; drop online status from member JSON
2 weeks ago
evgeny
3131dcbb7c
Fix ETCP session recovery and router lifecycle; confirm chat invites before publishing
2 weeks ago
evgeny
018c8e795d
android: фикс UAF AudioTrack при переключении группы рации (start → releaseLocked)
2 weeks ago
evgeny
0209bcf5d3
android: рация — единый режим per-канал, не гаснет при выходе/заходе в группу
2 weeks ago
evgeny
3f7b4351cd
stcp: фикс UAF log_dump, дренаж очередей при закрытии, защита pre-closed серверной ветки, логирование тихих сбросов rx
2 weeks ago
evgeny
ceaf466b1c
chatgui-android: входящий звонок поверх блокировки (inline-оверлей) + вибрация всегда кроме silent
2 weeks ago
evgeny
cc269e810c
Звонки: надёжность отмены (INVITE-кодограмма + watchdog) и вибрация входящего по ringer-режиму
2 weeks ago
evgeny
b90dc752d2
call: две фазы исходящего вызова — индикация + разные гудки (desktop/Android)
2 weeks ago
evgeny
cc0dcb071e
chat: UI настройки звука канала (Android toggle + JNI, desktop через C API) + trampoline
3 weeks ago
evgeny
5628138d16
etcp: keepalive sleep-протокол на флагах (KA_FLAG_SLEEP + sleep_time, announce-retry, ack/echo)
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
01987a75d0
chatgui: verify FFmpeg DLL deployment + fix dependency resolution order
3 weeks ago
evgeny
a7a3666d85
radio: AGC release-rate (без кликов), jitter dead-zone, TX/RX-статистика, FGS-гонка и кэш настроек
3 weeks ago
evgeny
ba1c2d85d3
reality_relay: async DNS вместо getaddrinfo + AGC-компрессор по умолчанию (-12 dBFS)
3 weeks ago
evgeny
6b92964794
radio/android: PTT FGS microphone permission + детект потери микрофона
...
- FOREGROUND_SERVICE_MICROPHONE запрос + foregroundServiceType microphone|specialUse (Android 14+)
- RadioOverlayService.start: не стартовать без mic-разрешения, ServiceCompat.startForeground с TYPE_MICROPHONE
- RadioAudioEngine: micDead-флаг и лог при обрыве captureLoop/read
- radio.c: лог первого кадра burst на транзитных узлах
- SettingsScreen: категория radio в списке debug-категорий
3 weeks ago
evgeny
5e955168d2
chatgui-android: PTT-оверлей — talking flow, цвет idle/talking, drag-lock
...
- RadioAudioEngine: StateFlow talking для реактивной подсветки кнопки
- RadioOverlayService: градиент idle/talking, drag-lock, сброс isShown при destroy
- ChatScreen: скрывать PTT-кнопку при активном оверлее, подсветка по talking
3 weeks ago
evgeny
4a785772be
chatgui-android: PTT по volume-кнопкам (вверх/вниз) + синхронизация оверлея
...
- volume up/down обе держат PTT (holdCount), настройка radio_volume_ptt
- syncRadioOverlay при включении/выключении рации
3 weeks ago
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).
3 weeks ago
evgeny
2de554f8b9
call: единый голосовой стек (libutun_voice) + SoundTouch на Android
...
- voice_jitter (кодированные Opus-кадры + decode-on-pull + SoundTouch time-stretch)
вместо PCM-буфера audio_jitter; излишек держится до декодирования
- call_audio.c/.h — единая реализация для desktop/Android/headless (C-интерфейс)
- libutun_voice (voice_sources.cmake): SoundTouch + voice_jitter + call_audio + call_tones
- Android: pull-модель (nativeCallAudioPull), убран Kotlin FIFO, ANDROID_STL=c++_static
- headless audio-сокет: PCM-протокол (decode-only, без тактирования), daemon остаётся C-only
- CALL_STATS расширен dropped/underruns; удалены audio_jitter.cpp и libutun_lite/call_audio.c
- тест test_voice_jitter (ёмкость/догон/стационар), test_call_headless переведён на PCM
3 weeks ago
evgeny
e4557b0473
dm: маршрутизация через общую группу (group_id), JSON-эскейпинг; звонки: иконки/UI в desktop и android
3 weeks ago
evgeny
b483335c06
bgp/ncd: владение conn через NCD-handle в senders_list; call audio route persist + incoming call sound
3 weeks ago