From b858161f92f63cfc94b3e39c27f779d8a081756d Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 6 Sep 2024 08:34:23 -0400 Subject: [PATCH] Fix NetworkResult handling of websocket timeouts. --- .../org/whispersystems/signalservice/api/NetworkResult.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/NetworkResult.kt b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/NetworkResult.kt index 1665eea6d2..ad05e1d07d 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/NetworkResult.kt +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/NetworkResult.kt @@ -6,10 +6,12 @@ package org.whispersystems.signalservice.api import org.whispersystems.signalservice.api.push.exceptions.NonSuccessfulResponseCodeException +import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException import org.whispersystems.signalservice.internal.util.JsonUtil import org.whispersystems.signalservice.internal.websocket.WebSocketRequestMessage import org.whispersystems.signalservice.internal.websocket.WebsocketResponse import java.io.IOException +import java.util.concurrent.TimeoutException import kotlin.reflect.KClass typealias StatusCodeErrorAction = (NetworkResult.StatusCodeError<*>) -> Unit @@ -67,6 +69,8 @@ sealed class NetworkResult( StatusCodeError(e) } catch (e: IOException) { NetworkError(e) + } catch (e: TimeoutException) { + NetworkError(PushNetworkException(e)) } catch (e: Throwable) { ApplicationError(e) }