diff --git a/app/src/main/java/chat/revolt/api/RevoltAPI.kt b/app/src/main/java/chat/revolt/api/RevoltAPI.kt index 8733b4cf..197ab99c 100644 --- a/app/src/main/java/chat/revolt/api/RevoltAPI.kt +++ b/app/src/main/java/chat/revolt/api/RevoltAPI.kt @@ -49,7 +49,6 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import kotlinx.serialization.cbor.Cbor import kotlinx.serialization.json.Json -import java.lang.reflect.InvocationTargetException import java.net.SocketException import chat.revolt.api.schemas.Channel as ChannelSchema @@ -186,26 +185,19 @@ object RevoltAPI { unreads.sync() } + @OptIn(ExperimentalCoroutinesApi::class) suspend fun connectWS() { socketCoroutine = CoroutineScope(Dispatchers.IO).launch { try { withContext(realtimeContext) { try { RealtimeSocket.connect(sessionToken) + } catch (e: SocketException) { + Log.d("RevoltAPI", "Socket closed, probably no big deal /// " + e.message) + RealtimeSocket.updateDisconnectionState(DisconnectionState.Disconnected) } catch (e: Exception) { - try { - if (e is SocketException || (e is InvocationTargetException && e.targetException is SocketException)) { - Log.d( - "RevoltAPI", - "Socket closed, probably no big deal /// " + e.message - ) - } else { - Log.e("RevoltAPI", "WebSocket error", e) - } - RealtimeSocket.updateDisconnectionState(DisconnectionState.Disconnected) - } catch (e: Exception) { - Sentry.captureMessage("Error in socket error handling: $e") - } + Log.e("RevoltAPI", "WebSocket error", e) + RealtimeSocket.updateDisconnectionState(DisconnectionState.Disconnected) } } } catch (e: Exception) {