Commit Graph

  • 217567383d fix(ui): timestamps in logs, proper call debounce, no cross-calling experimental-ui Siavash Sameni 2026-04-14 19:16:20 +04:00
  • 98ed981805 fix(ui): self-call prevention, debounce, codec in stats Siavash Sameni 2026-04-14 19:10:31 +04:00
  • 01a3133544 fix(ui): drawer buttons, stats fields, nicknames Siavash Sameni 2026-04-14 19:00:09 +04:00
  • 25471c694f feat(ui): voice drawer replaces full-screen call UI Siavash Sameni 2026-04-14 18:47:40 +04:00
  • a058a83c91 feat(ui): relay list management in settings Siavash Sameni 2026-04-14 18:37:58 +04:00
  • 9b8013ba7f merge main: PresenceList direct send fix Siavash Sameni 2026-04-14 18:36:01 +04:00
  • defd8eab07 fix(signal): send PresenceList directly to new client after ack main Siavash Sameni 2026-04-14 18:20:37 +04:00
  • cc23e829b2 feat(ui): handle PresenceList in lobby — show online users Siavash Sameni 2026-04-14 18:13:45 +04:00
  • 18c204c1ff merge main: PresenceList signal for lobby Siavash Sameni 2026-04-14 18:13:15 +04:00
  • 1120c7b579 feat(signal): PresenceList broadcast for lobby user discovery Siavash Sameni 2026-04-14 18:12:47 +04:00
  • 7e7391fdbb feat(ui): lobby-first main.ts rewrite for experimental-ui Siavash Sameni 2026-04-14 17:52:51 +04:00
  • aa0362f318 feat(ui): lobby-first HTML/CSS layout for experimental-ui Siavash Sameni 2026-04-14 17:43:15 +04:00
  • bb23976076 feat(quality): upgrade negotiation + asymmetric quality signals (#28, #29, #30) Siavash Sameni 2026-04-14 17:25:34 +04:00
  • 18e5e75f33 feat(analyzer): encrypted payload decoding in replay mode (#17) Siavash Sameni 2026-04-14 17:07:43 +04:00
  • 488efcb614 feat(ui): birthday attack toggle in settings (default off) Siavash Sameni 2026-04-14 16:54:22 +04:00
  • 8c360186df feat(nat): wire birthday attack end-to-end into connect flow Siavash Sameni 2026-04-14 16:50:11 +04:00
  • f06f9073ae feat(nat): birthday attack module + HardNatBirthdayStart signal (#86, #87) Siavash Sameni 2026-04-14 16:44:36 +04:00
  • 6c49d7436f feat(ui): direct-only mode setting (no relay fallback) Siavash Sameni 2026-04-14 16:04:45 +04:00
  • 1de280fe04 fix(nat): working NAT tickle + smart filter debug + timeout diags Siavash Sameni 2026-04-14 15:58:13 +04:00
  • bc6d327ebb feat(nat): smart candidate filtering + acceptor NAT tickle + 4s timeout Siavash Sameni 2026-04-14 15:42:02 +04:00
  • c478224d67 fix(ui): remove buffer clear that wiped connect events Siavash Sameni 2026-04-14 15:25:13 +04:00
  • 16dcc75514 fix(ui): move buffer clear from call-end to call-start Siavash Sameni 2026-04-14 15:17:16 +04:00
  • db5751985e fix(ui): replace findLast with reverse().find() for WebView compat Siavash Sameni 2026-04-14 15:06:07 +04:00
  • c0dd6c06ff feat(debug): per-candidate dial diagnostics in dual-path race Siavash Sameni 2026-04-14 12:16:34 +04:00
  • 6805caae0e fix(ui): P2P badge showing stale status from previous call Siavash Sameni 2026-04-14 12:02:06 +04:00
  • 5a03da72d3 feat(ui): selectable NAT detection mode + netcheck Tauri command Siavash Sameni 2026-04-14 11:43:17 +04:00
  • e3e63a40a0 feat(nat): wire hard NAT port prediction into call flow (#85) Siavash Sameni 2026-04-14 11:39:40 +04:00
  • 7b4bce69d5 docs: update all docs for hard NAT detection + relay wiring Siavash Sameni 2026-04-14 11:33:12 +04:00
  • ec1bdf3cd5 feat(nat): hard NAT port allocation detection + prediction + HardNatProbe signal (#29) Siavash Sameni 2026-04-14 11:29:35 +04:00
  • ee14862376 docs: add PRD for hard NAT traversal (port prediction + birthday attack) Siavash Sameni 2026-04-14 11:20:19 +04:00
  • f83361895e docs: add PRDs for Phase 8 Tailscale-inspired features Siavash Sameni 2026-04-14 11:08:46 +04:00
  • 0857d190ed chore: rename legacy Android build script to prevent accidental use Siavash Sameni 2026-04-14 10:42:23 +04:00
  • 5d431c0721 fix(android): restore tauri::Emitter import for Docker builder toolchain Siavash Sameni 2026-04-14 10:34:23 +04:00
  • 8fcf1be341 feat(nat): Tailscale-inspired STUN/ICE + port mapping + mid-call re-gathering (#28) Siavash Sameni 2026-04-14 10:17:17 +04:00
  • 9377a9009c feat(quality): bandwidth probing for upward adaptive quality (#10) Siavash Sameni 2026-04-13 16:47:21 +04:00
  • 4471797edf docs: update all PRDs and PROGRESS to current state (2026-04-13) Siavash Sameni 2026-04-13 16:40:56 +04:00
  • 425c67a08a feat(analyzer): replay, HTML report, encrypted decode stub (#15, #16, #17) Siavash Sameni 2026-04-13 16:31:28 +04:00
  • 88ca3e099a feat: wzp-analyzer binary — protocol analyzer with TUI (#13, #14, #15) Siavash Sameni 2026-04-13 16:26:46 +04:00
  • 1e82811cc1 feat(p2p): adaptive quality on direct calls (#23) Siavash Sameni 2026-04-13 16:14:06 +04:00
  • 81b5522942 refactor: clap CLI parser, safety docs, dead code docs, cross-refs Siavash Sameni 2026-04-13 15:40:49 +04:00
  • d539a6dfb9 test(federation): 29 tests for federation.rs (was 0), engine dedup PRD Siavash Sameni 2026-04-13 15:35:04 +04:00
  • ba12aae439 refactor: extract shared engine helpers, federation clone-before-send, constants Siavash Sameni 2026-04-13 15:22:44 +04:00
  • fdb78e08bd docs: full codebase refactoring audit with prioritized suggestions Siavash Sameni 2026-04-13 12:35:59 +04:00
  • 3a51db998a docs: relay concurrency refactor guide + PRD update for DashMap Siavash Sameni 2026-04-13 12:27:26 +04:00
  • a52b011fb5 feat(relay): replace global Mutex<RoomManager> with DashMap sharding Siavash Sameni 2026-04-13 12:17:57 +04:00
  • 2514151a89 docs: PRD for relay concurrency — per-room lock sharding Siavash Sameni 2026-04-13 12:01:21 +04:00
  • f265fd772d docs: relay concurrency model, Opus6k fix, build script fixes Siavash Sameni 2026-04-13 11:54:37 +04:00
  • 9ae9441de4 fix(audio): check capture ring available before read (fixes Opus6k choppy) Siavash Sameni 2026-04-13 11:46:15 +04:00
  • d9e7e72978 docs: update PROGRESS, PRDs for completed tasks #9, #11, #12, #27 Siavash Sameni 2026-04-13 11:34:01 +04:00
  • 8ff0c548a7 fix(audio): update frame_samples on codec profile switch, fix buf sizing Siavash Sameni 2026-04-13 11:33:02 +04:00
  • f17420aa98 fix(build): sync keystores from persistent cache before build Siavash Sameni 2026-04-13 11:11:28 +04:00
  • d424515542 feat: 5-tier quality classification, QualityDirective handling, debug tap stats Siavash Sameni 2026-04-13 10:23:48 +04:00
  • ea5fc17c34 fix(relay): debug tap signal logging, dual_path test regression, PRD updates Siavash Sameni 2026-04-13 09:54:52 +04:00
  • 1a7dd935ee fix(build): add zipalign + apksigner signing to build.sh Siavash Sameni 2026-04-12 20:13:20 +04:00
  • a7c2261b70 fix(build): clean stale APKs before build, prefer release APK on upload Siavash Sameni 2026-04-12 20:08:06 +04:00
  • eca0bb7531 Merge branch 'opus-DRED-v2' Siavash Sameni 2026-04-12 19:57:35 +04:00
  • d249b32ee5 test+docs: add tests for QualityDirective, ParticipantQuality; update docs opus-DRED-v2 Siavash Sameni 2026-04-12 19:56:46 +04:00
  • 22045bc5e6 feat: adaptive quality in desktop, relay quality directive, Oboe state polling Siavash Sameni 2026-04-12 19:54:04 +04:00
  • 766c9df442 feat(dred): continuous DRED tuning, PMTUD, extended Opus6k window Siavash Sameni 2026-04-12 19:38:37 +04:00
  • 6f43415285 merge opus-DRED-v2 into main Siavash Sameni 2026-04-12 17:41:57 +04:00
  • 24cc74d93c fix(audio): clear BT SCO communication device on call end Siavash Sameni 2026-04-12 17:40:44 +04:00
  • 300ea66d13 docs: update DESIGN, ARCHITECTURE, PRDs, PROGRESS for BT + network + build changes Siavash Sameni 2026-04-12 17:39:59 +04:00
  • 114d69e488 fix: use tracing::warn! instead of bare warn! in engine.rs Siavash Sameni 2026-04-12 17:31:12 +04:00
  • 15c237ceea fix(audio): defer MODE_IN_COMMUNICATION to call start, restore on end Siavash Sameni 2026-04-12 17:29:59 +04:00
  • a37c8b30fe fix(native): add missing bt_active field to stall detector config Siavash Sameni 2026-04-12 17:25:11 +04:00
  • 137fe5f084 fix(bluetooth): BT SCO mode skips 48kHz + VoiceCommunication on capture Siavash Sameni 2026-04-12 17:23:19 +04:00
  • 5dfb5b3581 fix(bluetooth): use Shared mode for Oboe + delay restart for BT route Siavash Sameni 2026-04-12 17:14:06 +04:00
  • fd0ccf8e99 fix(bluetooth): enable Oboe sample rate conversion for BT SCO (8/16kHz) Siavash Sameni 2026-04-12 17:08:48 +04:00
  • 2d4948a7b3 fix(bluetooth): add missing &[] arg to getAvailableCommunicationDevices JNI call Siavash Sameni 2026-04-12 17:02:57 +04:00
  • 19703ff66c fix(bluetooth): use setCommunicationDevice API on Android 12+ Siavash Sameni 2026-04-12 17:01:33 +04:00
  • 7e8dc400dc fix(bluetooth): wait for SCO link before Oboe restart + detect A2DP devices Siavash Sameni 2026-04-12 16:46:56 +04:00
  • a798634b3d fix(signal): add call_id to Hangup — prevents stale hangup killing new calls Siavash Sameni 2026-04-12 16:39:21 +04:00
  • d89376016a fix(build): sign release APKs with project keystore (wzp-release.jks) Siavash Sameni 2026-04-12 16:21:38 +04:00
  • 678695776e fix(build): correct APK output path — target/ is mounted from cache dir Siavash Sameni 2026-04-12 16:10:03 +04:00
  • 4c1ad841e1 feat(android): Bluetooth audio routing + network change detection + per-arch APK builds Siavash Sameni 2026-04-12 16:07:41 +04:00
  • 29cd23fe39 fix(p2p): connection cleanup — 4 fixes for stale/dead connections Siavash Sameni 2026-04-12 15:11:50 +04:00
  • 4d66d3769d fix(relay): set peer_relay_fp on originating relay when answer arrives Siavash Sameni 2026-04-12 14:49:34 +04:00
  • 002df15c5e fix(cli): add .. rest pattern for RegisterPresenceAck error arm Siavash Sameni 2026-04-12 14:32:57 +04:00
  • 1eb82d77b8 feat(relay+client): relay reports build version in Ack Siavash Sameni 2026-04-12 14:27:58 +04:00
  • f843a934fe fix(relay): forward MediaPathReport across federation Siavash Sameni 2026-04-12 14:14:30 +04:00
  • b79073c649 Revert "fix(connect): trust direct path on peer report timeout" Siavash Sameni 2026-04-12 14:10:44 +04:00
  • 82b439595c fix(connect): trust direct path on peer report timeout Siavash Sameni 2026-04-12 14:07:44 +04:00
  • 1904b19d05 fix(direct): validate A-role accepted connection, skip stale ones Siavash Sameni 2026-04-12 13:50:21 +04:00
  • 40955bd11c debug(media): add connection diagnostics for direct P2P drops Siavash Sameni 2026-04-12 13:29:58 +04:00
  • 7554959baa fix(ui): show correct P2P Direct / Via Relay badge Siavash Sameni 2026-04-12 13:22:00 +04:00
  • 0b62d3e22f fix(cli): add missing build_version fields to Offer/Answer Siavash Sameni 2026-04-12 13:09:26 +04:00
  • 4cfcd5117f fix(connect): install MediaPathReport oneshot BEFORE race starts Siavash Sameni 2026-04-12 13:06:13 +04:00
  • bd6733b2e5 feat(signal): advertise build version in Offer/Answer Siavash Sameni 2026-04-12 12:43:55 +04:00
  • 7d1b8f1fdc fix(android): add missing CallSetup pattern fields (.. rest) Siavash Sameni 2026-04-12 12:09:44 +04:00
  • c2d298beb5 feat(net): Phase 7 — dual-socket IPv4+IPv6 ICE Siavash Sameni 2026-04-12 11:54:13 +04:00
  • aee41a638d fix(audio+net): revert dual-stack [::]:0, add Oboe playout stall auto-restart Siavash Sameni 2026-04-12 11:24:16 +04:00
  • 9fb92967eb fix(net): bind all endpoints to [::]:0 for dual-stack IPv4+IPv6 Siavash Sameni 2026-04-12 11:09:06 +04:00
  • 9f2ff6a6ec fix(android-audio): Fix D+C — stop+prime cycle on every call start Siavash Sameni 2026-04-12 10:50:58 +04:00
  • 134ee3a77f fix(engine): pass is_direct_p2p explicitly instead of deriving from is_some Siavash Sameni 2026-04-12 10:34:21 +04:00
  • e61397ca85 fix(connect): remove pre-Phase-6 same-IP heuristic Siavash Sameni 2026-04-12 10:23:36 +04:00
  • f5542ef822 feat(p2p): Phase 6 — ICE-style path negotiation Siavash Sameni 2026-04-12 10:03:42 +04:00
  • de007ec2fd fix(p2p): skip direct P2P when peers are on different public IPs Siavash Sameni 2026-04-12 09:50:56 +04:00
  • 0a973b234b fix(engine): import tauri::Emitter for AppHandle::emit on Android target Siavash Sameni 2026-04-12 09:29:56 +04:00
  • 026940d492 fix(federation): diagnostic logging for cross-relay media routing Siavash Sameni 2026-04-12 09:27:34 +04:00
  • 0ccf4ed6b5 feat(call): media health watchdog — warn user when no audio arrives Siavash Sameni 2026-04-12 09:18:38 +04:00