Skip to content

v1.0 Build 29 — Persistent TURN cache, slider auto-solver, Backup & Restore

Choose a tag to compare

@anton48 anton48 released this 01 May 22:21
· 398 commits to main since this release

Highlights

10 days of work, 62 commits since v1.0-build24.

Reliability — TURN credential persistence

  • VK TURN creds now persist across launches in App Group creds-pool.json.
  • Per-slot saturation cooldown driven by last_used_at — only the slots VK still holds allocations on are skipped, the rest load immediately.
  • Periodic save (60s) keeps the on-disk view fresh through extension jetsam.
  • Pending creds: recently-used disk creds load and mature past the saturation window instead of being skipped outright.

Reliability — freeze-aware watchdog

  • Tick-gap detection in watchdog / zombie probe / DTLS recv suppresses false positives when iOS pauses the process for minutes.
  • TX-vs-RX cross-check in WakeHealthCheck for fast post-wake recovery without spurious ForceReconnects.

VK hostile mode mitigation

  • Slider auto-solver on top of PoW captcha keeps the connect flow clean while VK runs in hostile mode (PoW returns status:ERROR).

UX — Settings → Backup & Restore

  • Export Full Backup: gathers all @AppStorage (WireGuard keys, VK link, peer, tuning knobs) plus creds-pool.json into one JSON via Share Sheet.
  • Import Full Backup: inverse via DocumentPicker, gated by a confirm alert that surfaces the backup's date and TURN-cred count.
  • Reset TURN Cache: deletes only creds-pool.json — pool is rebuilt by the regular VK API path on next connect.

Defaults

  • NumConnections: 10 → 30
  • credPoolCooldownSeconds: 120 → 150

Empirical validation

  • 30/30 conns + 4/4 pool slots within ~4 min from cold start (vpn.wifi.20.log).
  • Fresh-install path (Reset → Connect with no cached creds) recovers cleanly through PoW + slider with tunnel up at ~28s (vpn.wifi.0.log).
  • Import + Connect: 6 cached slots loaded, tunnel up in ~3s (vpn.wifi.1.log).
  • Multiple overnight sleep cycles (7+ hours) without deadlocks since the freeze-detection rework.

Known issues

  • iOS-stuck-VPN after install-on-running-extension: dev-flow only, workaround is manual Disconnect before xcrun devicectl install.
  • VK hostile mode: PoW grinding for fresh fetches is slower than usual; cached creds avoid this entirely.