evgeny
c0c4310f08
Clarify desktop demand reader ownership and preparation bounds
2 weeks ago
evgeny
98655284b2
Discard stale playback snapshots before reseeking a media cursor
2 weeks ago
evgeny
5c75487446
Continue bounded media assembly without waiting for new network data
2 weeks ago
evgeny
541518db81
Keep finished source data alive until delayed media readers close
2 weeks ago
evgeny
8d317dbb85
Keep viewer snapshots scoped and normalize Opus packet cadence
2 weeks ago
evgeny
650b65078a
Switch desktop media delivery to bounded demand reads from the shared ring
2 weeks ago
evgeny
29a8fb2531
Check source discovery requested before desktop startup
2 weeks ago
evgeny
061eb0f0f8
Preserve initial channel watches until desktop core attaches
2 weeks ago
evgeny
dd034a9d42
Cover channel closure and keep stream selection usable for long lists
2 weeks ago
evgeny
6e596f34a5
Notify viewers when channels close and refresh resumed playback state
2 weeks ago
evgeny
0a5b9b50f1
Connect desktop stream bridge to core lifecycle and events
2 weeks ago
evgeny
d9821fa89c
Add bounded desktop live media bridge and source lifecycle tests
2 weeks ago
evgeny
5a9e61164b
Measure uasync CPU load and display it in desktop and Android GUIs
...
Sample thread CPU usage without waking idle loops, expose a one-second moving average, and refresh compact GUI indicators at 3 Hz while visible on Android. Add load and bridge regression coverage, streaming notes, and task list cleanup.
2 weeks ago
evgeny
49e898b6f3
Deliver channel submission acknowledgements to the desktop composer
2 weeks ago
evgeny
653853588a
logging: preserve system diagnostics and inherit Android debug level
2 weeks ago
evgeny
b16a4995b7
logging: quiet routine audio and route polling, report audio recovery
2 weeks ago
evgeny
33c98a014f
Notify about live incoming channel and direct messages
2 weeks ago
evgeny
261198ab47
Expose initial synchronization in channel message events
2 weeks ago
evgeny
e5d8c34514
Fix desktop uasync readiness for radio member mute requests
2 weeks ago
evgeny
7e19cbaf3a
Add local per-member radio mute controls on desktop and Android
2 weeks ago
evgeny
c1048686d1
Route feedback state and command results to the desktop thread
3 weeks ago
evgeny
8e3ff6fd81
Deliver group avatar publication results through the GUI bridge
3 weeks ago
evgeny
f2d2e6be8f
Test avatar immutability, hash validation and quota accounting
3 weeks ago
evgeny
78bed5efe4
Route avatar events alongside file browser events in ChatGUI
3 weeks ago
evgeny
aca10e8268
Trace file bridge callbacks and use scoped VAD test logs
3 weeks ago
evgeny
b771e95997
Clear legacy GUI bridge and list messages from debug
3 weeks ago
evgeny
78a655bb05
Add asynchronous member file storage and desktop browser
3 weeks ago
evgeny
27d93ecaf9
Add English and Russian ChatGUI interface translations
3 weeks ago
evgeny
fb68e66ca4
Dispatch PM invitation results to desktop UI
3 weeks ago
evgeny
a97e8bcc1f
docs: update file inventory and module header contracts
...
Refresh both AGENTS guides and clarify module purpose, usage, ownership, threading, return values and wire formats in headers. Remove the unused timeout_heap freed_count field and unimplemented getter.
3 weeks ago
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.
3 weeks ago
evgeny
1d189195f9
Advertise desktop clients and log unknown automatic candidates
3 weeks ago
evgeny
bd082a26bf
Раздели аудиопотоки и привяжи AEC к фактическому общему выходу
3 weeks ago
evgeny
bdcf8b5634
Сохрани накопленные исправления аудио, async и диагностики
3 weeks ago
evgeny
225e11265f
Connect Qt preparation notifications to the conversation view
3 weeks ago
evgeny
55b21fdcda
Forward pinned attachment preparation events to Qt
3 weeks ago
evgeny
111432aa64
conn_mgr: race connection probes and report call path with correct RTT
3 weeks ago
evgeny
2d21c53b4b
Improve call buffering, CM handle lifecycle and radio PTT controls
3 weeks ago
evgeny
72fee9e245
Separate core, UTUN and chat lifecycles with owned asynchronous work
4 weeks ago
evgeny
3131dcbb7c
Fix ETCP session recovery and router lifecycle; confirm chat invites before publishing
4 weeks ago
evgeny
b90dc752d2
call: две фазы исходящего вызова — индикация + разные гудки (desktop/Android)
1 month ago
evgeny
19dc076528
chatgui: инициализация call/dm/media backfill при старте узла (fix звонков)
1 month 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).
1 month ago
evgeny
734a414186
etcp: единый реестр svc_id + убрать коллизию CHAT/CONN_MGR (0x11)
...
Все ETCP_ID_*/ETCP_RT_ID_* сведены в etcp_api.h (единственное место
определения) с реестром и предупреждением про коллизии в пределах одного
пространства имён. Убраны локальные define из topo_group.h,
topo_group_invite.h, db_sync.h, chat_sync.h, chat_join.h; хардкод 0x31 в
member_sync.c заменён на ETCP_RT_ID_MEMBER_SYNC.
Коллизия: chatgui-десктоп биндил мёртвый ETCP_RT_ID_CHAT 0x11 поверх
ETCP_RT_ID_CONN_MGR 0x11 — затирался conn_mgr_router_recv_handler, из-за
чего INDIRECT-обмен conn_mgr не работал и голос звонка не устанавливался.
Удалён мёртвый код recvCallback/messageReceived/send в utun_node.{cpp,h}.
1 month 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
1 month ago
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
1 month ago
evgeny
73fe99b33f
dm: прямой обмен сообщениями (DM) + soundtouch + архитектура звонков
...
- src/dm/: dm_core/dm_crypto/dm_mailbox — прямой обмен сообщениями (DM)
- lib/soundtouch-master/: vendored SoundTouch (изменение темпа/высоты аудио)
- doc/dm_arch.md, doc/chat_call_arch.md: архитектура DM и звонков
- tests: test_dm.c, test_dm_e2e.c
- chat: рефакторинг chat_* модулей, member_sync, invite_build
- chatgui/chatgui-android: синхронизация с новым API чата
- lib/u_async, debug_config, utun_instance: сопутствующие изменения
1 month ago
evgeny
481872d5db
chat: invite-ссылки с несколькими адресами + ncd-адреса узлов (join)
1 month ago
evgeny
7bba39ddcb
nodeinfo: 2 адреса на сокет (до/после NAT) + типы адресов local/public/nat/nat_eim/nat_strict
...
- topo_node: сокет рекламирует INTERFACE (до NAT) + NAT (после NAT, EIM);
strict/direct отдельным адресом не передаются
- topo_node_sqlite: addr_type_classify различает NAT_VERIFIED_*; добавлен
ADDR_TYPE_NAT (тип неизвестен), fallback больше не даёт DIRECT по IP
- chat_member: бейдж NAT-типа по приоритету (public>nat_eim>nat>nat_strict>local)
вместо MIN(addr_type)
- GUI (desktop+android): адреса мембера с socket_id и ролью (local/public/nat/nat_eim/nat_strict)
1 month ago
evgeny
0f308fdbd7
chatgui/chatgui-android: уведомления со звуком, флаги и прочие улучшения UI
2 months ago