Commit Graph
221 Commits
Author SHA1 Message Date
evgeny 53c32e5669 Document compact NAT profiles and stable measurement lifetime 2026-10-12 17:13:22 +02:00
evgeny 5429431567 Invalidate changed endpoints and verify the Android address contract 2026-10-12 17:11:56 +02:00
evgeny db8a5ee2df Retain stable NAT results and compact the address database 2026-10-12 17:04:59 +02:00
evgeny e47ae480f5 Remove time-dependent profile matching from connection setup 2026-10-12 17:01:28 +02:00
evgeny f900cda9c0 Use the last published address profile without a time limit 2026-10-12 17:01:02 +02:00
evgeny 38eaae8bb6 Remove measurement IDs and timestamps from NODEINFO profiles 2026-10-12 17:00:38 +02:00
evgeny 164a3a1f0f Keep connection attempts available for STUN hints and verify signed provenance 2026-10-12 00:58:50 +02:00
evgeny 01b0992c39 Select interface STUN fallback only when ETCP lacks independent observers 2026-10-12 00:57:54 +02:00
evgeny 735ac36579 Sign endpoint profile provenance and restrict external-address publication 2026-10-12 00:56:43 +02:00
evgeny ff69552a61 Measure owned endpoint mapping and inbound reachability separately 2026-10-12 00:01:40 +02:00
evgeny 197696075c Release owned BGP path entries before removing their queues 2026-10-12 00:01:39 +02:00
evgeny 30106c8f93 Attach stream subscriptions to CHAT lifecycle and member profiles 2026-10-12 00:01:39 +02:00
evgeny 653853588a logging: preserve system diagnostics and inherit Android debug level 2026-10-07 21:21:33 +02:00
evgeny 1bb885fd11 logging: explain failed probes and RTT persistence errors 2026-10-07 21:15:39 +02:00
evgeny 7eb6d6ee68 logging: move socket mechanics and periodic probe decisions to trace 2026-10-07 21:14:38 +02:00
evgeny 15d460ee7c logging: explain BGP readiness, route selection and peer removal 2026-10-07 21:13:53 +02:00
evgeny 7e19cbaf3a Add local per-member radio mute controls on desktop and Android 2026-10-07 13:35:25 +02:00
evgeny a069d11ef9 Protect REALITY STCP traffic with authenticated TLS-like records 2026-10-07 12:30:45 +02:00
evgeny 04ff801531 Document Merkle v3 and signed feedback state contracts 2026-10-06 20:11:25 +02:00
evgeny 982e5a06ab Integrate feedback tables with channel and sync lifecycle 2026-10-06 20:06:39 +02:00
evgeny 894b24698e Update Merkle integration tests and channel index cleanup 2026-10-06 19:57:25 +02:00
evgeny e3745f279e Store signed group avatars without replacing channel keys 2026-10-06 13:37:18 +02:00
evgeny 25e2ffeea7 Stream member files with router backpressure and parallel transfer handles 2026-10-05 23:36:49 +02:00
evgeny c259a7330b Trace file router sessions and crypto decisions in debug 2026-10-05 21:41:46 +02:00
evgeny 865657b3bd Expose group peer readiness transitions to subscribers 2026-10-04 16:39:19 +02:00
evgeny 9dd2dffc80 Expose live radio subscriptions in member updates 2026-10-04 15:58:54 +02:00
evgeny a97e8bcc1f docs: update file inventory and module header contracts
Refresh both AGENTS guides and clarify module purpose, usage, ownership, threading, return values and wire formats in headers. Remove the unused timeout_heap freed_count field and unimplemented getter.
2026-10-04 13:10:01 +02:00
evgeny df346fc097 Log standby retry transitions and await the actual wake phase 2026-10-02 12:04:34 +03:00
evgeny 7ec5f931bb Defer automatic retries until Android standby wakes 2026-10-02 11:56:44 +03:00
evgeny 1d189195f9 Advertise desktop clients and log unknown automatic candidates 2026-10-02 11:47:24 +03:00
evgeny dc34faaada Route chat retries through automatic peer selection 2026-10-02 11:44:46 +03:00
evgeny a7632cfee1 Select chat auto peers by device class and transport UP 2026-10-02 11:43:10 +03:00
evgeny 1c499dc230 Classify chat supernodes independently of address type 2026-10-02 11:37:09 +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 2d21c53b4b Improve call buffering, CM handle lifecycle and radio PTT controls 2026-09-30 17:31:53 +03:00
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.
2026-09-28 15:36:47 +03:00
evgeny 39ce249361 Prune unconfirmed BGP paths and restart stalled exchanges 2026-09-28 14:58:13 +03:00
evgeny b76e6553bc Reconcile BGP paths and advertise selected routes per neighbor 2026-09-28 14:37:44 +03:00
evgeny 546e0c185d Fix WITHDRAW removing nodes with surviving paths 2026-09-28 14:20:55 +03:00
evgeny c63e93715f fix: accept invite public keys with a leading zero byte 2026-09-28 12:26:13 +03:00
evgeny 01fcefdec5 docs: clarify core, group and chat header contracts 2026-09-28 12:01:08 +03:00
evgeny 72fee9e245 Separate core, UTUN and chat lifecycles with owned asynchronous work 2026-09-28 11:39:08 +03:00
evgeny 5838e63cde Use shared group requests for config and chat connection planners 2026-09-28 11:07:25 +03:00
evgeny 0756a6e020 Serialize group topology lazily through a cancellable backpressure sender 2026-09-28 02:45:00 +03:00
evgeny 792776a1f6 Negotiate group sessions and scope topology messages to peer epochs 2026-09-28 02:15:54 +03:00
evgeny 52ef7a4b3c Own recovery attempts in group sessions and require restored routes 2026-09-27 23:06:48 +03:00
evgeny 66c59501fc Track topology exchange readiness per group and peer 2026-09-27 22:14:03 +03:00