evgeny
426fc2f4e8
conn_mgr: verify route loss and document handle lifetime recovery
2 weeks ago
evgeny
464575ef44
conn_mgr: exercise persistent retries with valid signed node updates
2 weeks ago
evgeny
111432aa64
conn_mgr: race connection probes and report call path with correct RTT
2 weeks ago
evgeny
9e3a417059
Synchronize standby transitions and immediate keepalive phase announcements
2 weeks ago
evgeny
3c5c9604b3
Keep Android calls active independently of screen and UI
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
52ffb91101
Fix TCP proxy use-after-free during synchronous close
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
a73ae13df4
lwip/proxy: trace PCB lifetime in debug category, drop old noisy debug
2 weeks ago
evgeny
e1946b208d
Preserve proxy TCP streams across connect, backpressure and FIN
2 weeks ago
evgeny
268243feeb
Isolate datagram proxy state and replies between instances and peers
2 weeks ago
evgeny
7a41fcf512
Notify TCP writers when the final synchronous send drains
2 weeks ago
evgeny
518df33b0e
Fix UDP and ICMP packet construction at the TUN boundary
2 weeks ago
evgeny
e3caf15f32
Guard routing loops and reconcile blocked transit against current paths
...
Track visited nodes outside the signed body for all routed packet types. Recheck queued transit routes without losing FIFO priority, reject unknown-group transit, and suppress BGP announcements caused only by RTT jitter.
Document routing rules and wire format. Validate graph churn, REINIT, encrypted transit, malformed paths, loop drops and queue cleanup; full suite: 106 passed, 1 skipped, plus proxy integration and sanitizer checks.
2 weeks ago
evgeny
39ce249361
Prune unconfirmed BGP paths and restart stalled exchanges
2 weeks ago
evgeny
b76e6553bc
Reconcile BGP paths and advertise selected routes per neighbor
2 weeks ago
evgeny
546e0c185d
Fix WITHDRAW removing nodes with surviving paths
2 weeks ago
evgeny
4503bdfa7e
diagnostics: explain and rate-limit rejected ETCP session data
2 weeks ago
evgeny
c63e93715f
fix: accept invite public keys with a leading zero byte
2 weeks ago
evgeny
72fee9e245
Separate core, UTUN and chat lifecycles with owned asynchronous work
2 weeks ago
evgeny
5838e63cde
Use shared group requests for config and chat connection planners
2 weeks ago
evgeny
0756a6e020
Serialize group topology lazily through a cancellable backpressure sender
2 weeks ago
evgeny
792776a1f6
Negotiate group sessions and scope topology messages to peer epochs
3 weeks ago
evgeny
52ef7a4b3c
Own recovery attempts in group sessions and require restored routes
3 weeks ago
evgeny
66c59501fc
Track topology exchange readiness per group and peer
3 weeks ago
evgeny
bce17d9cfc
Route UTUN configuration and group ownership through NCD
3 weeks ago
evgeny
9745a987ac
Define join contract and require committed CHAT membership for BGP
3 weeks ago
evgeny
1a8072e9b2
Release group NCD ownership when destroying peers
3 weeks ago
evgeny
26e6c05313
Apply fresh BGP addresses to shared NCD connections
3 weeks ago
evgeny
ec51b2d61f
Version signed node snapshots with persistent timestamps
3 weeks ago
evgeny
7374d1648c
Support 8 KiB member owner tags without signature or serialization truncation
3 weeks ago
evgeny
de714f5023
Add bounded Merkle pull lifecycle and terminal error handoff
3 weeks ago
evgeny
3e25bcef02
Refactor Merkle sync into bounded bidirectional rounds with atomic member updates
3 weeks ago
evgeny
1b92b4885b
Restrict dynamic auto socket test to Linux
3 weeks ago
evgeny
03f71fd94e
Bound ETCP receive window and fix timestamp and allocator UB
3 weeks ago
evgeny
59f4802904
Fix autosocket ownership and exercise interface churn under load
3 weeks ago
evgeny
3131dcbb7c
Fix ETCP session recovery and router lifecycle; confirm chat invites before publishing
3 weeks ago
evgeny
44d4265084
ll_queue: queue_waiter_cancel отменяет отложенный call_soon при internal==NULL (фикс UAF waiter_defer)
3 weeks ago
evgeny
8aaac45020
ll_queue: отложенный первый запуск автозабора (callback_defer) + тест
...
queue_set_callback_defer(q, 1) переносит первый запуск callback из
queue_data_put* в uasync_call_soon (очистка стека производителя).
Повторные запуски (queue_resume_callback) и так всегда deferred.
3 weeks ago
evgeny
265421eb96
tun proxy: фикс TCP-суммы (нечётный pbuf), FIN до дренажа to_lwip, tcp_bind/rexmit_fast/active_pcbs_changed + нагрузочный burst-тест
3 weeks ago
evgeny
a20d73d2be
proxy/tun: добавить DEBUG-логи диагностики застревания keep-alive (lwIP IN/OUT/RECVED/RTO/PERSIST + per-conn DIAG)
3 weeks ago
evgeny
08e8b2f1cc
route_connectivity: фикс UAF при удалении узла с влётными пробами; отмена TCP-пингов при teardown
...
- topo_nodeq_remove_node: единый хелпер удаления nq (cancel проб + free paths/subnets + remove + free), заменяет все free-сайты
- route_connectivity_cancel_all: итерация по всем группам + зануление ctx->nq + отмена standby-defer
- etcp_send_tcp_ping: out_cli — хендл stcp_client для досрочной отмены; conn_probe_ctx.tcp_cli
- conn_mgr: cand_tcp_pings[] — отмена влётных candidate TCP-пингов в conn_mgr_destroy
3 weeks ago
evgeny
6ee9bad17d
chat: defer media auto-download to per-channel backfill after sync
...
- db_sync insert-cb gets initial_sync flag (SEND_DATA=1, PUSH/local=0)
- on_msg_inserted skips media download during initial sync
- new chat_media_autodownload_backfill_channel (newest-first) triggered
on SYNC_DONE per channel (2s debounce)
4 weeks ago
evgeny
d1432b7d19
tests: fix Windows build — SKIP fork-based e2e, cross-platform mkdtemp/setenv
4 weeks ago
evgeny
b33caa56b8
uasync: pass socket name to all add_socket call sites
4 weeks ago
evgeny
8a9184675a
radio: дедупликация дублей в mesh + фикс OOB в hop_list
...
- radio_recv: кэш (src,stream,seq) с TTL 2с гасит кадры, пришедшие по второму пути (diamond/mesh)
- фикс записи за границу new_hops[hop_count] при hop_count==RADIO_MAX_HOPS
- счётчик c_dup_dropped + radio_dup_dropped() для диагностики
- тест test_radio_mesh (4 узла, diamond): C получает ровно N кадров, dup>0
4 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).
4 weeks ago
evgeny
1de1409699
conn_mgr: handle-based API (conn_mgr_open/close), фазы DIRECT/REVERSE/INDIRECT, тесты phases+handles
4 weeks ago