Commit Graph

  • 9793733cd5 chatgui: диагностика воспроизведения голосовых сообщений (Windows) evgeny 2026-09-21 18:59:04 +0300
  • 19dc076528 chatgui: инициализация call/dm/media backfill при старте узла (fix звонков) evgeny 2026-09-21 17:20:41 +0300
  • 6a0373ee73 call: диагностика ставок TX/RX и детект сталла аудио-девайса с хард-ресинком evgeny 2026-09-21 16:54:14 +0300
  • 570b421ba0 conn_mgr: parallel reverse+indirect, retransmit, and call teardown fix evgeny 2026-09-21 15:22:16 +0300
  • ee54bd52b3 conn_mgr: fix reverse-phase timer leak causing use-after-free crash evgeny 2026-09-21 13:57:32 +0300
  • e885fe30f5 chatgui: remove universal black background from video window (fix black boxes around controls) evgeny 2026-09-21 12:50:06 +0300
  • cd0757e272 chatgui: declare metatype for shared_ptr<vector<int16_t>> (Qt5 build fix) evgeny 2026-09-21 12:42:21 +0300
  • f5fece4959 chatgui: fix video playback on Windows (metatype registration + swscale YUVJ range) evgeny 2026-09-21 12:39:18 +0300
  • 01987a75d0 chatgui: verify FFmpeg DLL deployment + fix dependency resolution order evgeny 2026-09-21 11:52:21 +0300
  • 9d4538935d chatgui: restore FFmpeg build script (build_ffmpeg.sh + .gitignore) evgeny 2026-09-21 11:29:47 +0300
  • 6ee9bad17d chat: defer media auto-download to per-channel backfill after sync evgeny 2026-09-21 02:07:24 +0300
  • a5047c29f7 chatgui: always deploy non-Qt DLLs (FFmpeg, mingw-runtime) next to vibechat.exe evgeny 2026-09-21 00:58:56 +0300
  • 2f1545de38 chatgui: fix Qt5 build — QMouseEvent/QWheelEvent position() -> localPos()/posF() evgeny 2026-09-21 00:51:48 +0300
  • de850db548 chat: remove join_password check from per-channel JOIN_INFO_REQ (server-link only) evgeny 2026-09-20 22:23:42 +0300
  • 39a1da4c28 chat: fix use-after-free in invite_candidates trampoline + accept JOIN_INFO_RESP/READY/ERROR for unknown channels evgeny 2026-09-20 22:03:31 +0300
  • d1432b7d19 tests: fix Windows build — SKIP fork-based e2e, cross-platform mkdtemp/setenv evgeny 2026-09-20 20:21:50 +0300
  • a7a3666d85 radio: AGC release-rate (без кликов), jitter dead-zone, TX/RX-статистика, FGS-гонка и кэш настроек evgeny 2026-09-20 20:07:48 +0300
  • ba1c2d85d3 reality_relay: async DNS вместо getaddrinfo + AGC-компрессор по умолчанию (-12 dBFS) evgeny 2026-09-20 15:28:46 +0300
  • 738cfe7835 radio: адаптивный джиттер-буфер (pre-roll, симметричный темп, reorder) + AGC-компрессор микрофона evgeny 2026-09-20 14:39:25 +0300
  • 27e66f1092 log: move socket diagnostics SYS->SOCKET and conn lifecycle ETCP->CONNECTION (avoid poll() flood) evgeny 2026-09-20 01:51:40 +0300
  • 1bde2eca35 diag: log conn add/remove/free pointers to pinpoint BGP senders_list UAF evgeny 2026-09-20 01:42:05 +0300
  • 16237b0df8 etcp_send: fix contract (caller owns entry on error) + fix 7 leak sites evgeny 2026-09-20 01:35:30 +0300
  • fae0a7c069 uasync: cast function pointers in socket_add log to void* evgeny 2026-09-20 01:18:33 +0300
  • b33caa56b8 uasync: pass socket name to all add_socket call sites evgeny 2026-09-20 01:13:38 +0300
  • c36cebe357 uasync: add socket name diagnostics and HUP/ERR auto-unregister safety net evgeny 2026-09-20 01:11:30 +0300
  • 90520a83ff topo_group_connect: не подключаться к самому себе в авто-цикле evgeny 2026-09-19 23:40:06 +0300
  • 6b92964794 radio/android: PTT FGS microphone permission + детект потери микрофона evgeny 2026-09-19 23:13:04 +0300
  • 688785fc6e etcp: фикс зависшего reinit_pending после реинита готового соединения evgeny 2026-09-19 23:13:04 +0300
  • 5e955168d2 chatgui-android: PTT-оверлей — talking flow, цвет idle/talking, drag-lock evgeny 2026-09-19 21:17:38 +0300
  • 841b3042cf etcp: фикс double-free буферов паковщика и повторных free после неудачного queue_data_put evgeny 2026-09-19 21:17:33 +0300
  • 4a785772be chatgui-android: PTT по volume-кнопкам (вверх/вниз) + синхронизация оверлея evgeny 2026-09-19 18:16:46 +0300
  • 8a9184675a radio: дедупликация дублей в mesh + фикс OOB в hop_list evgeny 2026-09-19 18:16:42 +0300
  • b96ed8bd00 radio: PTT-радио в каналах (src/radio + chatgui + chatgui-android) evgeny 2026-09-19 17:09:00 +0300
  • 398078a28f headless/call: закрывать клиента и логировать при ошибке send() (EPIPE/ECONNRESET) evgeny 2026-09-19 10:43:04 +0300
  • 6c42390fc2 utun: игнорировать SIGPIPE, чтобы send() в закрытый TCP-сокет не убивал демон evgeny 2026-09-19 10:32:57 +0300
  • 1de1409699 conn_mgr: handle-based API (conn_mgr_open/close), фазы DIRECT/REVERSE/INDIRECT, тесты phases+handles evgeny 2026-09-19 09:31:08 +0300
  • 734a414186 etcp: единый реестр svc_id + убрать коллизию CHAT/CONN_MGR (0x11) evgeny 2026-09-19 00:18:39 +0300
  • 6d3ad965ee topo: remember REQUEST_TABLE for not-yet-created groups, fulfill on create evgeny 2026-09-18 23:36:45 +0300
  • 8bfb456161 etcp: fix OOB/DoS in packet parsing and ping path evgeny 2026-09-18 17:58:40 +0300
  • 1340ab123b reality/stcp: fix OOB read in key_share parse, padding clamp, shbuf leak evgeny 2026-09-18 17:20:19 +0300
  • e7fc69bb1d topo: комментарии к функциям topo_node/topo_group evgeny 2026-09-17 17:30:05 +0300
  • 1fce405204 debug: вычистить логи из категории DEBUG_CATEGORY_DEBUG (удалить дампы, перекатегоризовать ERROR-проверки в ETCP) evgeny 2026-09-17 00:17:32 +0300
  • e6a4ffd418 reality: fix leak of ClientHello init buffer in reality_server_start_relay evgeny 2026-09-17 00:05:42 +0300
  • 1f1df4f437 mem: детект аномально больших аллокаций (LARGE ALLOC log + calloc overflow guard) evgeny 2026-09-16 21:12:46 +0300
  • 51a5c5bcbf router: fix UAF on rconn->recv_conn after ETCP_CONN destroy router-recv-conn-uaf evgeny 2026-09-16 15:46:37 +0300
  • 51d6d22a27 sock_match: классификация сокета по адресу, а не по type из конфига (fix Q8/Android→LAN) evgeny 2026-09-16 18:44:28 +0300
  • 21d9a4e5b7 dm: заполнять peer_name при автосоздании беседы (иначе в списке 0x...) evgeny 2026-09-16 17:18:48 +0300
  • 5293fdd3a9 call(android): звать call_audio_init перед start; логировать feed_pcm без instance evgeny 2026-09-16 17:03:34 +0300
  • 2de554f8b9 call: единый голосовой стек (libutun_voice) + SoundTouch на Android evgeny 2026-09-16 16:55:28 +0300
  • de930b21a2 ncd: fix UAF on deferred UP delivery after handle close evgeny 2026-09-16 16:06:43 +0300
  • e4557b0473 dm: маршрутизация через общую группу (group_id), JSON-эскейпинг; звонки: иконки/UI в desktop и android evgeny 2026-09-16 15:05:48 +0300
  • b483335c06 bgp/ncd: владение conn через NCD-handle в senders_list; call audio route persist + incoming call sound evgeny 2026-09-16 13:29:28 +0300
  • b11e77e4c0 call: P2P аудиозвонки — сигналинг, релей медиа, аудио-контур, headless/desktop/android evgeny 2026-09-16 10:17:57 +0300
  • 0157f7f96b build: fix --asan to build lib/libopus dependency evgeny 2026-09-15 22:44:27 +0300
  • 21ec740d82 socks_proxy: defer conn free to fix UAF from synchronous write_queue flush evgeny 2026-09-15 22:39:27 +0300
  • b085715654 tun/nat: fix UAF при teardown и use-after-free в tun_read_packet evgeny 2026-09-15 22:07:55 +0300
  • 6dc017337d chat: fix UAF в member list trampoline (req->inst после u_free) v2 evgeny 2026-09-15 21:52:46 +0300
  • 73fe99b33f dm: прямой обмен сообщениями (DM) + soundtouch + архитектура звонков evgeny 2026-09-15 21:09:17 +0300
  • 761f64cf76 chatgui-android: отображение REALITY-линков (TCP+REALITY) в статусе узлов и сокетов evgeny 2026-09-15 12:18:22 +0300
  • 27b591daee reality: использовать NTP-время вместо time(NULL) в анти-реплей проверке timestamp evgeny 2026-09-15 05:39:28 +0300
  • 481872d5db chat: invite-ссылки с несколькими адресами + ncd-адреса узлов (join) evgeny 2026-09-15 05:16:04 +0300
  • d88dccfa19 etcp/stcp: обрыв etcp_link->tcp_link при закрытии stcp_link (fix UAF) evgeny 2026-09-15 00:25:42 +0300
  • af382403ec tun_freebsd: reuse existing TUN interface on SIOCIFCREATE EEXIST evgeny 2026-09-14 23:17:59 +0300
  • 952504d8eb etcp: убрать ложный reinit по gop (got_initial_pkt) evgeny 2026-09-14 22:46:41 +0300
  • d58d4d39c4 chat join: запуск JOIN_INFO_REQ при уже поднятом соединении + добавление джойнера в группу evgeny 2026-09-14 22:46:41 +0300
  • 910cfeac20 chatgui: настройка звука уведомления на канал (sound_on_message) evgeny 2026-09-14 21:12:53 +0300
  • fc2262912a chat_join: верификация join-ключа на инвайтере (REQUEST_FWD) evgeny 2026-09-14 21:12:53 +0300
  • 75e39d2fee chat_join: модуль join-протокола, invite-ссылки v2, синхронизация мемберов evgeny 2026-09-14 19:57:27 +0300
  • a01a4ddba4 fix: UAF in _on_member_sync_done (channel_cache freed by refresh) evgeny 2026-09-14 15:19:07 +0300
  • 9ee61dce6c fix: ncd handle UAF in topo_recovery and topo_group_invite callbacks evgeny 2026-09-14 15:10:04 +0300
  • fc3295ce12 nat_detection: гасить NAT-чек при закрытии линка через link-status коллбэк (UAF na->link) evgeny 2026-09-14 14:37:34 +0300
  • e0f5afbff8 stcp: гасить on_close_cb/close_arg в stcp_link_close; keepalive: снапшот+ревалидация link до/после каскада (UAF) evgeny 2026-09-14 14:27:38 +0300
  • da329d0479 merkle_sync: ms_outq_drain_cb — сохранять e->len до etcp_send (UAF); документировать ownership etcp_send evgeny 2026-09-14 13:49:12 +0300
  • 1f8ccabdbf etcp: tcp_link_close_cb — сохранять link поля до каскада (UAF local_link_id) evgeny 2026-09-14 13:39:07 +0300
  • 187bcd80b9 uasync: ре-валидация node перед последующими коллбэками (счётчик cb_called) вместо снапшота evgeny 2026-09-14 12:56:52 +0300
  • 836c715299 uasync: снапшот полей socket_node в poll()/select() — защита от realloc во время коллбэков (UAF) evgeny 2026-09-14 12:47:35 +0300
  • 369b253bdb chatgui-android: автоскролл чата вниз при открытии клавиатуры и своих сообщениях evgeny 2026-09-14 12:14:44 +0300
  • d78d652bf5 shutdown: закрывать shared sqlite (topo_sqlite_db) в самом конце utun_instance_destroy (UAF при teardown) evgeny 2026-09-14 11:47:45 +0300
  • 884f36c2d4 ncd: cancel connect/fin_wait таймеры в ncd_deferred_close (UAF fin_wait_timeout_cb) evgeny 2026-09-14 11:34:36 +0300
  • f2f4a37344 routing: fix use-after-free в route_ping_cancel_for_conn (чтение request_id после u_free) + формат %08x evgeny 2026-09-14 11:29:31 +0300
  • 11991e688c build: ASAN-сборка включает lib/libopus (зависимость src) evgeny 2026-09-14 11:20:12 +0300
  • d730b06436 build: доработка build_bsd_full.sh (ASAN/hardened через clang, gmake fallback, -jN, FFmpeg) evgeny 2026-09-14 11:18:05 +0300
  • d0dfa97a47 transport: SOCKS5-прокси для ETCP-линков (CONNECT + UDP ASSOCIATE + пинги) evgeny 2026-09-14 00:24:11 +0300
  • 7c8d65db78 chat: локальное удаление канала (Android) + db_sync инстансы в куче evgeny 2026-09-13 22:08:33 +0300
  • ddfffad1ed conn: сопоставление сокетов по ролям (direct/nat/local) + hairpin; NTP-детект оффлайна evgeny 2026-09-13 16:48:00 +0300
  • ff53c735dd chat: превью медиасообщений в списке каналов (Android + desktop) evgeny 2026-09-13 15:55:33 +0300
  • 07ef7d9a01 chat: живой счётчик медиакеша + сверка + DESC-проход докачки/вычистки evgeny 2026-09-13 14:49:57 +0300
  • 1eb0566cb5 chat: enforce storage_total_size + media orphan cleanup; async_dns: fix use-after-free evgeny 2026-09-13 03:11:10 +0300
  • 7bba39ddcb nodeinfo: 2 адреса на сокет (до/после NAT) + типы адресов local/public/nat/nat_eim/nat_strict evgeny 2026-09-13 01:05:25 +0300
  • a823898379 chat/media: докачка недостающего медиа после стартовой синхронизации + HAVE_BLOCK анонс локальных блоков evgeny 2026-09-12 21:28:08 +0300
  • e636c3a420 docs: доступ на узел colo2 evgeny 2026-09-12 21:24:04 +0300
  • 5ee6bf53d8 conn_mgr: ping активных кандидатов с noop-колбэком вместо NULL (bad args) evgeny 2026-09-12 21:07:24 +0300
  • c6118280bd conn_mgr: не удалять как stale кандидатов с активным соединением evgeny 2026-09-12 20:00:48 +0300
  • 265008961a conn_mgr: кандидаты-посредники из topo_node-списка (активные соединения); гейт md_super_connect по is_supernode; откат ping→best_candidates evgeny 2026-09-12 19:38:48 +0300
  • 2045d4a169 media: восстановить conn_mgr_open (DIR/REV/IND) + популяция best_candidates из RTT + watchdog не трогает CONN-блоки evgeny 2026-09-12 18:47:01 +0300
  • 905fde5a27 media: BLOCK_REQ транзитом — убрать требование прямого соединения (NAT-узлы качают через роутер) evgeny 2026-09-12 18:27:23 +0300
  • 0055c2c6fe media: фикс детекта суперузла (json_flat_get), backfill осиротевших медиа, fallback на автора при пустом QUERY_RESP evgeny 2026-09-12 18:19:47 +0300
  • 5a83aaa786 opencode: подключить aiterm-mcp (интерактивный терминал для отладки) evgeny 2026-09-12 16:19:09 +0300
  • ce12f058d9 tcp_io: fix error_cb busy-spin on graceful EPOLLHUP; socks_proxy: close local socket on both FINs evgeny 2026-09-12 16:08:14 +0300
  • 56d0928632 etcp: wire-MTU кап 2048→1500 (согласовано с TUN_MAX_PACKET_SIZE), enc_buf привязан к MTU; тест multilink: per-link проверка трафика с ретраем через keepalive-тики evgeny 2026-09-12 13:53:55 +0300