DISCONNECT. Pressing Disconnect while the app is still connecting now
does what it says. During the app's own preparation — fetching VK
credentials, a captcha — the tap cancels the attempt; until now the
button read Disconnect there while the tap was taken for a second
Connect and ignored, and the tunnel came up anyway. Once iOS has started
the tunnel the tap stops it as before, and the screen shows a grey
"Connection cancelled by the user" instead of the red "The tunnel
stopped: The tunnel was stopped while it was starting." A captcha or an
error arriving late from the cancelled attempt is no longer shown, and
after a server switch from the Live Activity the previous session's stop
is no longer reported on top of the new connection.
RELAY REFUSALS. When VK's relay refuses an allocation (error 486) on a
freshly minted identity that has never had one accepted, minting more
identities cannot help — each is refused the same way, and the run used
to end in a VK captcha. The pool now pauses minting after two such
refusals, for 30 seconds at first and doubling up to five minutes while
the refusals go on; connections that are up keep running. A 486 on an
identity that already carries allocations is the ordinary
ten-per-identity quota and pauses nothing. The refusals and the pause
appear in the main screen's statistics when there are any.
STOPS AND SWITCHES. A relay that accepted the allocation and then
answered nothing used to hold a stop or a restart for one to eight
seconds, the length of a TURN permission request's retransmissions; a
cancel now ends that wait at once, and the allocation is still released
so it does not stay on VK's quota. A connection waiting for a free
credential slot no longer misses a wake-up that lands between its failed
attempt and its wait — it used to sleep 2–7 seconds, sometimes 30–60, for
the next one — so after a cold start or a network switch the last
connections come up sooner.
VK ACCOUNT. "Get VK call URL" needs the VK login saved by "Use VK account
(cookie) auth"; the toggle itself may be off. Without a saved login the
button is disabled and the caption says why — until now it flashed an
empty screen and blamed a login that did not exist. PRIVACY: Reset TURN
Cache and the change between anonymous and VK-account mode now delete
the csqtt transport's credential cache as well as the native one. A csqtt
server profile used to keep its cache across both, so after VK-account
mode was switched off the next anonymous csqtt connection could run on
the VK account's cached credentials. If a cache cannot be deleted, the
connection is refused with the reason instead of going ahead on it.
CSQTT. A server switch from the Live Activity, or the automatic reconnect
that repairs routing, is not started on a csqtt server when VK asks for a
captcha: csqtt's extension cannot show one, and the start used to die a
few seconds later. The tunnel stays stopped, the app says why, and
Connect shows the captcha. The Live Activity card is removed reliably in
that case.
Client only — the server side is unchanged, so srtp-build306 remains
current.