From c7a1ddd589003fec414b0fca0328d00dd4bf5a80 Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Tue, 26 Mar 2024 18:25:34 +0100 Subject: [PATCH] fix crash when instance info fails to load (#4335) Steps to reproduce: Cold start the app while being logged in and offline. --- .../tusky/components/instanceinfo/InstanceInfoRepository.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/components/instanceinfo/InstanceInfoRepository.kt b/app/src/main/java/com/keylesspalace/tusky/components/instanceinfo/InstanceInfoRepository.kt index 3d04278e8..cd73d3f21 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/instanceinfo/InstanceInfoRepository.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/instanceinfo/InstanceInfoRepository.kt @@ -21,7 +21,7 @@ import at.connyduck.calladapter.networkresult.getOrElse import at.connyduck.calladapter.networkresult.getOrThrow import at.connyduck.calladapter.networkresult.map import at.connyduck.calladapter.networkresult.onSuccess -import at.connyduck.calladapter.networkresult.recover +import at.connyduck.calladapter.networkresult.recoverCatching import com.keylesspalace.tusky.db.AccountManager import com.keylesspalace.tusky.db.AppDatabase import com.keylesspalace.tusky.db.EmojisEntity @@ -117,7 +117,7 @@ class InstanceInfoRepository @Inject constructor( val instance = this.instanceName return api.getInstance() .map { it.toEntity() } - .recover { t -> + .recoverCatching { t -> if (t.isHttpNotFound()) { api.getInstanceV1().map { it.toEntity(instance) }.getOrThrow() } else {