Commit Graph
225 Commits
Author SHA1 Message Date
evgeny 8358210241 docs: record Android volume PTT panel verification 2026-10-03 14:13:48 +03:00
evgeny 163621ddfa Document verified desktop radio panel and VAD controls 2026-10-03 13:34:50 +03:00
evgeny ffd26c56b4 Reduce radio VAD prefetch to 600 milliseconds 2026-10-03 11:32:34 +03:00
evgeny 6985a2cf18 Document Android radio toolbar VAD control 2026-10-03 11:28:23 +03:00
evgeny 099c9b7eac Record successful VAD validation and full test results 2026-10-03 01:53:03 +03:00
evgeny 13b5136b92 Document radio VAD compressor behavior and validation 2026-10-03 01:50:31 +03:00
evgeny 01bc6e4cf0 Опиши контракты аудиотракта и результаты проверок 2026-10-02 10:22:47 +03:00
evgeny bdcf8b5634 Сохрани накопленные исправления аудио, async и диагностики 2026-10-02 01:49:32 +03:00
evgeny b1e3193899 Document typed PM media, shared preparation and completed validation 2026-10-01 19:22:06 +03:00
evgeny 142eefaf86 Record completed PM media integration and validation results 2026-10-01 17:00:55 +03:00
evgeny 7e780bb6a7 Document PM file custody, worker ownership and client integration 2026-10-01 16:44:38 +03:00
evgeny 6c86e380a8 Record DM stage validation and pending media delivery work 2026-10-01 15:06:08 +03:00
evgeny bd550159f0 Verify DM queues drain beyond one delivery batch after restart 2026-10-01 14:48:37 +03:00
evgeny 43c89ca1ed Document implemented DM guarantees and remaining media integration 2026-10-01 14:46:24 +03:00
evgeny ce5f5bb7d0 Improve Android onboarding, member UI and PTT permissions 2026-10-01 13:55:28 +03:00
evgeny 577bfb4e6f Record independent audio startup checks and phone updates 2026-10-01 03:05:00 +03:00
evgeny fbf50b093d Document independent call audio startup and delivery reserve 2026-10-01 02:58:45 +03:00
evgeny bc797550d9 docs: record SM startup timings after phone update 2026-10-01 02:25:49 +03:00
evgeny 5ebab7072c docs: record call startup validation results 2026-10-01 02:19:58 +03:00
evgeny 9ff4e68246 docs: describe call audio startup and loss tone gating 2026-10-01 02:14:15 +03:00
evgeny a3f6b6e86e docs: outline simple Android call startup improvements 2026-10-01 02:00:56 +03:00
evgeny 6f66df61f7 docs: record false audio loss tone during call startup 2026-10-01 01:58:20 +03:00
evgeny 72b5a9887f chatgui: measure duplex audio stalls and record SM call evidence 2026-10-01 01:36:34 +03:00
evgeny 076cc3c617 docs: record full recovery checks and root socket test 2026-10-01 01:19:37 +03:00
evgeny 91a69b939c docs: record conn_mgr recovery validation and check timeout limitation 2026-10-01 01:15:15 +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 9e3a417059 Synchronize standby transitions and immediate keepalive phase announcements 2026-09-30 20:42:40 +03:00
evgeny 3c5c9604b3 Keep Android calls active independently of screen and UI 2026-09-30 19:12:04 +03:00
evgeny 2d21c53b4b Improve call buffering, CM handle lifecycle and radio PTT controls 2026-09-30 17:31:53 +03:00
evgeny 0d44ada922 Improve Android radio capture lifecycle, VAD and PTT controls 2026-09-30 12:25:42 +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 74ca98b38f proxy: rename pcb guard, dedupe abort; tasks: FIN_WAIT_2 leak 2026-09-29 13:52:35 +03:00
evgeny e1946b208d Preserve proxy TCP streams across connect, backpressure and FIN 2026-09-29 04:00:34 +03:00
evgeny 72fee9e245 Separate core, UTUN and chat lifecycles with owned asynchronous work 2026-09-28 11:39:08 +03:00
evgeny bce17d9cfc Route UTUN configuration and group ownership through NCD 2026-09-27 21:59:32 +03:00
evgeny 26e6c05313 Apply fresh BGP addresses to shared NCD connections 2026-09-27 19:18:40 +03:00
evgeny ec51b2d61f Version signed node snapshots with persistent timestamps 2026-09-27 19:11:11 +03:00
evgeny 10d3ecfda4 Record final root transport and full suite validation 2026-09-27 12:19:52 +03:00
evgeny 03f71fd94e Bound ETCP receive window and fix timestamp and allocator UB 2026-09-27 12:16:15 +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 cc269e810c Звонки: надёжность отмены (INVITE-кодограмма + watchdog) и вибрация входящего по ringer-режиму 2026-09-24 10:15:19 +03:00
evgeny b90dc752d2 call: две фазы исходящего вызова — индикация + разные гудки (desktop/Android) 2026-09-23 19:16:53 +03:00
evgeny 6d3ad965ee topo: remember REQUEST_TABLE for not-yet-created groups, fulfill on create
При REQUEST_TABLE для ещё не созданной группы (CHAT-канал не загружен) пир
дропал запрос, и проситель навсегда не узнавал таблицу — односторонняя
видимость (звонок android→linux падал «peer offline»). Теперь запрос
запоминается в pending_table_reqs[32] и выполняется при создании группы
(topo_group_fulfill_table_reqs → handle_request_table).

Попутно: test_chat_join_e2e — критерий успеха через CHAT_EVT_CONNECT_RESULT
(JOIN_READY) вместо senders_list; doxygen-комментарии в etcp_api.h.
2026-09-18 23:36:45 +03:00
evgeny 51d6d22a27 sock_match: классификация сокета по адресу, а не по type из конфига (fix Q8/Android→LAN)
ip_is_public() вынесен в lib/platform_compat (единый классификатор IPv4 с ntohl).
auto_socket_reconcile_config: тип сокета выставляется по фактическому адресу.
sock_collect_views: has_priv/has_inet/is_eim — по классификации адреса и NAT-детекции.
is_local_subnet упрощён до !ip_is_public(). Тест test_sock_match обновлён.
2026-09-16 20:26:55 +03:00
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
2026-09-16 20:26:55 +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
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: сопутствующие изменения
2026-09-15 21:09:17 +03:00
evgeny 75e39d2fee chat_join: модуль join-протокола, invite-ссылки v2, синхронизация мемберов 2026-09-14 19:57:27 +03:00
evgeny 5b8c725c01 etcp_router: round-robin send + контроль заполненности send_q через waiter на send_input_q 2026-09-04 19:30:08 +03:00