evgeny
5e9a9059c8
Bind signed file descriptors to atomic DM enqueue and receive
3 weeks ago
evgeny
27fa3a4812
Define independent DM media metadata, receipts and custody contracts
3 weeks ago
evgeny
3d0ab35efe
Register file transfer and DM media services in the common core
3 weeks ago
evgeny
f39ba840b8
Add bounded signed file transfers with per-operation CM ownership
3 weeks ago
evgeny
0e0f611d3c
Check atomic DM enqueue rollback and explain sequence conflicts
3 weeks ago
evgeny
467d2e7605
Prepare DM media as authenticated records using target key
3 weeks ago
evgeny
10de4f1c71
Commit DM activity timestamps together with message state
3 weeks ago
evgeny
794d7b70f3
Authorize DM custody by signed group role instead of NAT type
3 weeks ago
evgeny
3cdb3e6580
Create DM router streams before checking queue capacity
3 weeks ago
evgeny
5800902a42
Deliver offline DM through durable supernode custody
3 weeks ago
evgeny
cc072cceb2
Persist DM outbox and verify exact delivery receipts
3 weeks ago
evgeny
67bbf80769
Fix DM CCM length setup and separate media nonces
3 weeks ago
evgeny
50e3db81ea
Separate playback backlog from adaptive call reserve
3 weeks ago
evgeny
d8745fd303
Measure call jitter from media delivery timestamps
3 weeks ago
evgeny
5487bc8c20
call: suppress loss tone until first received PCM
3 weeks ago
evgeny
426fc2f4e8
conn_mgr: verify route loss and document handle lifetime recovery
3 weeks ago
evgeny
a65ef30d78
conn_mgr: resume recovery when local sockets change
3 weeks ago
evgeny
8f5f2b089c
conn_mgr: keep demand alive across bounded recovery attempts
3 weeks ago
evgeny
111432aa64
conn_mgr: race connection probes and report call path with correct RTT
3 weeks ago
evgeny
1c51df039f
Fix call gap tone to follow 500ms of missing jitter PCM
3 weeks ago
evgeny
9e3a417059
Synchronize standby transitions and immediate keepalive phase announcements
3 weeks ago
evgeny
3c5c9604b3
Keep Android calls active independently of screen and UI
3 weeks ago
evgeny
2d21c53b4b
Improve call buffering, CM handle lifecycle and radio PTT controls
3 weeks ago
evgeny
7ebc282eb2
Prioritize supernodes in invites and update chat background and ringtone
3 weeks ago
evgeny
0d44ada922
Improve Android radio capture lifecycle, VAD and PTT controls
3 weeks ago
evgeny
52ffb91101
Fix TCP proxy use-after-free during synchronous close
3 weeks ago
evgeny
556b0bc7b7
call/radio: mic AGC compressor + selectable input device; proximity lock
4 weeks ago
evgeny
f12f61d7ee
call: add SpeexDSP AEC (acoustic echo cancellation) for desktop + Android
4 weeks ago
evgeny
1176411b79
radio: Silero VAD + auto-PTT; chatgui/android: app icon and background
4 weeks ago
evgeny
74ca98b38f
proxy: rename pcb guard, dedupe abort; tasks: FIN_WAIT_2 leak
4 weeks ago
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.
4 weeks ago
evgeny
a73ae13df4
lwip/proxy: trace PCB lifetime in debug category, drop old noisy debug
4 weeks ago
evgeny
e1946b208d
Preserve proxy TCP streams across connect, backpressure and FIN
4 weeks ago
evgeny
09bc8c35c5
Release TUN proxy connections when lwIP aborts their PCB
4 weeks ago
evgeny
f19ff11b36
Scope TCP proxy streams and restart messages to their peer
4 weeks ago
evgeny
268243feeb
Isolate datagram proxy state and replies between instances and peers
4 weeks ago
evgeny
4be1e62251
Parse IPv4 options and reject malformed TUN proxy packets
4 weeks ago
evgeny
10b66e2ad0
Validate SOCKS5 authentication and destination addresses
4 weeks ago
evgeny
518df33b0e
Fix UDP and ICMP packet construction at the TUN boundary
4 weeks ago
evgeny
fdec5b65c5
Add independent radio compressor and Android audio controls
4 weeks ago
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)
4 weeks ago
evgeny
331970a121
Radio: Opus mode/bitrate + mic source + PTT release tail; drop online status from member JSON
4 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.
4 weeks ago
evgeny
fa9e102271
Preserve config string terminator when preparing key updates
4 weeks ago
evgeny
39ce249361
Prune unconfirmed BGP paths and restart stalled exchanges
4 weeks ago
evgeny
b76e6553bc
Reconcile BGP paths and advertise selected routes per neighbor
4 weeks ago
evgeny
546e0c185d
Fix WITHDRAW removing nodes with surviving paths
4 weeks ago
evgeny
4503bdfa7e
diagnostics: explain and rate-limit rejected ETCP session data
4 weeks ago
evgeny
c63e93715f
fix: accept invite public keys with a leading zero byte
4 weeks ago
evgeny
01fcefdec5
docs: clarify core, group and chat header contracts
4 weeks ago