Skip to content

v1.0.9

Choose a tag to compare

@anton48 anton48 released this 05 Apr 14:21
· 478 commits to main since this release

Changes

  • Fix route restoration after captcha: replaced Timer.scheduledTimer debounce with timestamp-based polling — timer created inside Task { @MainActor } could silently fail to fire, leaving default route in "direct" mode permanently after captcha was solved
  • Prevent duplicate captcha waiters: added atomic guard (captchaWaiterActive) so only one waitCaptchaAndRestart goroutine runs at a time
  • Periodic self-retry (every 2 min): when captcha is pending, automatically probes VK to detect cooldown — resumes without user intervention
  • Probe suppression: suppresses probes for 10 min after user opens captcha WebView to prevent "Attempt limit reached" errors
  • Full route removal during captcha: suspendDNSForCaptcha now removes default route entirely (captureTraffic=false) so WebView can load CDN resources (JS, CSS, captcha images)
  • Remove unreliable auto-unblock: RefreshCaptchaURL no longer auto-clears captcha state, preventing rapid WebView flashing