Siavash Sameni
8fcf1be341
feat(nat): Tailscale-inspired STUN/ICE + port mapping + mid-call re-gathering ( #28 )
...
Mirror to GitHub / mirror (push) Failing after 23s
Build Release Binaries / build-amd64 (push) Failing after 6m8s
Phase 8: 5 new modules bringing NAT traversal close to Tailscale's approach.
- stun.rs: RFC 5389 STUN client — public server reflexive discovery,
XOR-MAPPED-ADDRESS parsing, parallel probe with retry, STUN fallback
in desktop try_reflect_own_addr()
- portmap.rs: NAT-PMP (RFC 6886) + PCP (RFC 6887) + UPnP IGD port
mapping — gateway discovery, acquire/release/refresh lifecycle,
new PeerCandidates.mapped candidate type in dial order
- ice_agent.rs: candidate lifecycle — gather(), re_gather(),
apply_peer_update() with monotonic generation counter,
CandidateUpdate signal message forwarded by relay
- netcheck.rs: comprehensive diagnostic — NAT type, IPv4/v6,
port mapping availability, relay latencies, CLI --netcheck
- relay_map.rs: RTT-sorted relay map, preferred() selection,
populate_from_ack() for RegisterPresenceAck.available_relays
Relay: CallRegistry stores + cross-wires caller/callee_mapped_addr
into CallSetup.peer_mapped_addr. Region config + available_relays
populated from federation peers in RegisterPresenceAck.
Desktop: place_call/answer_call call acquire_port_mapping() and
fill caller/callee_mapped_addr. STUN+relay combined NAT detection.
571 tests pass (66 new), 0 regressions, 0 warnings.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-14 10:17:17 +04:00
Siavash Sameni
ea5fc17c34
fix(relay): debug tap signal logging, dual_path test regression, PRD updates
...
Build Release Binaries / build-amd64 (push) Failing after 3m39s
Mirror to GitHub / mirror (push) Failing after 28s
- Add log_signal() and log_event() to DebugTap for RoomUpdate,
QualityDirective, join/leave lifecycle events (task #11 )
- Fix dual_path.rs Phase 7 regression: add missing ipv6_endpoint arg
to 3 race() call sites
- Update PRDs to reflect actual implementation status: mark adaptive
quality, coordinated codec, P2P, network awareness, protocol analyzer
- Update PROGRESS.md with QualityDirective gap and dual_path regression
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-13 09:54:52 +04:00
Siavash Sameni
4c1ad841e1
feat(android): Bluetooth audio routing + network change detection + per-arch APK builds
...
Bluetooth: wire existing AudioRouteManager SCO support through both app
variants. Replace binary speaker toggle with 3-way route cycling
(Earpiece → Speaker → Bluetooth). Tauri side adds JNI bridge functions
(start/stop/query SCO, device availability) and Oboe stream restart.
Network awareness: integrate Android ConnectivityManager to detect
WiFi/cellular transitions and feed them to AdaptiveQualityController
via lock-free AtomicU8 signaling. Enables proactive quality downgrade
and FEC boost on network handoffs.
Build: add --arch flag to build-tauri-android.sh supporting arm64,
armv7, or all (separate per-arch APKs for smaller tester binaries).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-12 16:07:41 +04:00