Commit Graph
1572 Commits
Author SHA1 Message Date
evgeny 1cdead18de Expose bounded DM history snapshots with text and media delivery state 2026-10-01 15:59:38 +03:00
evgeny b47918fad5 Keep media publication and durable deletion off the event loop 2026-10-01 15:57:30 +03:00
evgeny 55c9d79a01 Integrate atomic media registration and orderly transfer/worker shutdown 2026-10-01 15:53:53 +03:00
evgeny d7a12b24bf Coordinate offline DM media custody and durable deletion on supernodes 2026-10-01 15:52:05 +03:00
evgeny 41fc5902be Implement durable DM downloads, media-node custody, quota and expiry 2026-10-01 15:47:05 +03:00
evgeny e47c7fb2ac Allow file owners to revoke active transfers on custody expiry or deletion 2026-10-01 15:42:54 +03:00
evgeny 84c148acff Prepare and publish target-encrypted DM files with exact media receipts 2026-10-01 15:42:02 +03:00
evgeny d559cbf473 Add configurable seven-day DM custody TTL and reserved storage quota 2026-10-01 15:36:31 +03:00
evgeny 5e9a9059c8 Bind signed file descriptors to atomic DM enqueue and receive 2026-10-01 15:28:40 +03:00
evgeny 27fa3a4812 Define independent DM media metadata, receipts and custody contracts 2026-10-01 15:27:44 +03:00
evgeny 3d0ab35efe Register file transfer and DM media services in the common core 2026-10-01 15:22:10 +03:00
evgeny f39ba840b8 Add bounded signed file transfers with per-operation CM ownership 2026-10-01 15:21:44 +03:00
evgeny 0e0f611d3c Check atomic DM enqueue rollback and explain sequence conflicts 2026-10-01 14:41:33 +03:00
evgeny 467d2e7605 Prepare DM media as authenticated records using target key 2026-10-01 14:33:45 +03:00
evgeny 10de4f1c71 Commit DM activity timestamps together with message state 2026-10-01 14:28:47 +03:00
evgeny 794d7b70f3 Authorize DM custody by signed group role instead of NAT type 2026-10-01 14:27:54 +03:00
evgeny 3cdb3e6580 Create DM router streams before checking queue capacity 2026-10-01 14:24:18 +03:00
evgeny 5800902a42 Deliver offline DM through durable supernode custody 2026-10-01 14:18:50 +03:00
evgeny cc072cceb2 Persist DM outbox and verify exact delivery receipts 2026-10-01 14:14:46 +03:00
evgeny 67bbf80769 Fix DM CCM length setup and separate media nonces 2026-10-01 14:04:25 +03:00
evgeny 50e3db81ea Separate playback backlog from adaptive call reserve 2026-10-01 02:49:35 +03:00
evgeny d8745fd303 Measure call jitter from media delivery timestamps 2026-10-01 02:48:53 +03:00
evgeny 5487bc8c20 call: suppress loss tone until first received PCM 2026-10-01 02:08:17 +03:00
evgeny 426fc2f4e8 conn_mgr: verify route loss and document handle lifetime recovery 2026-10-01 01:06:56 +03:00
evgeny a65ef30d78 conn_mgr: resume recovery when local sockets change 2026-10-01 00:51:17 +03:00
evgeny 8f5f2b089c conn_mgr: keep demand alive across bounded recovery attempts 2026-10-01 00:50:44 +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 1c51df039f Fix call gap tone to follow 500ms of missing jitter PCM 2026-09-30 21:14:37 +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 7ebc282eb2 Prioritize supernodes in invites and update chat background and ringtone 2026-09-30 12:56:59 +03:00
evgeny 0d44ada922 Improve Android radio capture lifecycle, VAD and PTT controls 2026-09-30 12:25:42 +03:00
evgeny 52ffb91101 Fix TCP proxy use-after-free during synchronous close 2026-09-30 10:43:02 +03:00
evgeny 556b0bc7b7 call/radio: mic AGC compressor + selectable input device; proximity lock 2026-09-29 19:34:23 +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 961a234d7d proxy: detach lwIP pcb on local close, guard abort against freed pcb
При half-close (exit закрылся первым, браузер держит соединение) pcb уходил в
TIME_WAIT, а conn_finish ждал flow.fin_sent (доставку FIN в exit) — при backpressure
это не наступало, pc->pcb оставался висячим. Таймер TIME_WAIT освобождал pcb без
err_cb, и CLOSE_ALL давал double free. Теперь pcb отсоединяется по завершении
локальной стороны, а tcp_abort/tcp_close защищены проверкой memory_pool_is_freed.
2026-09-29 13:37:00 +03:00
evgeny a73ae13df4 lwip/proxy: trace PCB lifetime in debug category, drop old noisy debug 2026-09-29 13:18:18 +03:00
evgeny e1946b208d Preserve proxy TCP streams across connect, backpressure and FIN 2026-09-29 04:00:34 +03:00
evgeny 09bc8c35c5 Release TUN proxy connections when lwIP aborts their PCB 2026-09-29 03:59:30 +03:00
evgeny f19ff11b36 Scope TCP proxy streams and restart messages to their peer 2026-09-29 03:58:53 +03:00
evgeny 268243feeb Isolate datagram proxy state and replies between instances and peers 2026-09-29 03:58:14 +03:00
evgeny 4be1e62251 Parse IPv4 options and reject malformed TUN proxy packets 2026-09-29 03:57:37 +03:00
evgeny 10b66e2ad0 Validate SOCKS5 authentication and destination addresses 2026-09-29 03:57:21 +03:00
evgeny 518df33b0e Fix UDP and ICMP packet construction at the TUN boundary 2026-09-29 03:56:55 +03:00
evgeny fdec5b65c5 Add independent radio compressor and Android audio controls 2026-09-29 03:37:47 +03:00
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)
2026-09-29 02:31:41 +03:00
evgeny 331970a121 Radio: Opus mode/bitrate + mic source + PTT release tail; drop online status from member JSON 2026-09-29 00:40:10 +03:00