diff --git a/clients/android/app/build.gradle b/clients/android/app/build.gradle index 5137312..3f2e070 100644 --- a/clients/android/app/build.gradle +++ b/clients/android/app/build.gradle @@ -30,8 +30,8 @@ android { applicationId "su.cin.rapvpn" minSdk 26 targetSdk 35 - versionCode 192 - versionName "0.2.192" + versionCode 193 + versionName "0.2.193" buildConfigField "String", "DEFAULT_BACKEND_URL", "\"${normalizeGradleString(defaultBackendUrl)}\"" buildConfigField "String", "DEFAULT_CLUSTER_ID", "\"${normalizeGradleString(defaultClusterId)}\"" buildConfigField "String", "DEFAULT_ORGANIZATION_ID", "\"${normalizeGradleString(defaultOrganizationId)}\"" diff --git a/clients/android/app/src/main/java/su/cin/rapvpn/VpnPacketWebSocketRelay.java b/clients/android/app/src/main/java/su/cin/rapvpn/VpnPacketWebSocketRelay.java index e8aca4d..799a1c5 100644 --- a/clients/android/app/src/main/java/su/cin/rapvpn/VpnPacketWebSocketRelay.java +++ b/clients/android/app/src/main/java/su/cin/rapvpn/VpnPacketWebSocketRelay.java @@ -139,6 +139,12 @@ final class VpnPacketWebSocketRelay { boolean queued = socket.send(ByteString.of(payload)); if (!queued) { lastError = "websocket send queue rejected batch"; + synchronized (lock) { + if (socket == webSocket) { + reconnectAfterMs = 0; + closeLocked(); + } + } } return queued; }