diff --git a/CHANGELOG.md b/CHANGELOG.md index 981d2386..a5d51c86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- Special-case deleted stories in comments API + ## [1.17.0] - 2023-01-12 ### Added diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt index 95d41b5b..e175427c 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt @@ -22,6 +22,7 @@ import dev.msfjarvis.claw.api.LobstersApi import dev.msfjarvis.claw.database.local.SavedPost import dev.msfjarvis.claw.model.Comment import java.io.IOException +import java.net.HttpURLConnection import java.time.Month import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher @@ -87,7 +88,13 @@ constructor( is Success -> result.value is Failure.NetworkFailure -> throw result.error is Failure.UnknownFailure -> throw result.error - is Failure.HttpFailure, + is Failure.HttpFailure -> { + if (result.code == HttpURLConnection.HTTP_NOT_FOUND) { + throw IOException("Story was removed by moderator") + } else { + throw IOException("API returned an invalid response") + } + } is Failure.ApiFailure -> throw IOException("API returned an invalid response") } }