diff --git a/app/src/main/java/ink/trmnl/android/data/RepositoryConfigProvider.kt b/app/src/main/java/ink/trmnl/android/data/RepositoryConfigProvider.kt index 5f46308..1ca56d9 100644 --- a/app/src/main/java/ink/trmnl/android/data/RepositoryConfigProvider.kt +++ b/app/src/main/java/ink/trmnl/android/data/RepositoryConfigProvider.kt @@ -19,6 +19,6 @@ class RepositoryConfigProvider get() { // To change this value, update the `buildConfigField` in the app's build.gradle file // Or, change the value here for local development. Do not commit this change. - return BuildConfig.USE_FAKE_API + return false } } diff --git a/app/src/main/java/ink/trmnl/android/data/TrmnlDisplayRepository.kt b/app/src/main/java/ink/trmnl/android/data/TrmnlDisplayRepository.kt index 48c85c2..982b78f 100644 --- a/app/src/main/java/ink/trmnl/android/data/TrmnlDisplayRepository.kt +++ b/app/src/main/java/ink/trmnl/android/data/TrmnlDisplayRepository.kt @@ -218,7 +218,7 @@ class TrmnlDisplayRepository failure: ApiResult.Failure, ): TrmnlDisplayInfo = TrmnlDisplayInfo( - status = HTTP_500, + status = (failure as? ApiResult.Failure.HttpFailure)?.code ?: HTTP_500, trmnlDeviceType = trmnlDeviceConfig.type, imageUrl = "", imageFileName = "", diff --git a/app/src/main/java/ink/trmnl/android/work/TrmnlImageRefreshWorker.kt b/app/src/main/java/ink/trmnl/android/work/TrmnlImageRefreshWorker.kt index d3a2106..b963d32 100644 --- a/app/src/main/java/ink/trmnl/android/work/TrmnlImageRefreshWorker.kt +++ b/app/src/main/java/ink/trmnl/android/work/TrmnlImageRefreshWorker.kt @@ -87,6 +87,8 @@ class TrmnlImageRefreshWorker( // Check for rate limit errors (HTTP 429) - should retry with exponential backoff if (trmnlDisplayInfo.status.isRateLimitError()) { + // NOTE: This usually happens for current display API. See details below: + // - https://discord.com/channels/1281055965508141100/1336424981495676978/1429827943902744618 Timber.tag(TAG).w("Rate limit exceeded (HTTP 429), will retry with exponential backoff") refreshLogManager.addFailureLog( error = "Rate limit exceeded (HTTP 429) - Too many requests. Will retry automatically.", diff --git a/app/src/test/java/ink/trmnl/android/data/TrmnlDisplayRepositoryTest.kt b/app/src/test/java/ink/trmnl/android/data/TrmnlDisplayRepositoryTest.kt index 69a6317..49b4664 100644 --- a/app/src/test/java/ink/trmnl/android/data/TrmnlDisplayRepositoryTest.kt +++ b/app/src/test/java/ink/trmnl/android/data/TrmnlDisplayRepositoryTest.kt @@ -501,7 +501,7 @@ class TrmnlDisplayRepositoryTest { val result = repository.getNextDisplayData(testDeviceConfig) // Assert - assertThat(result.status).isEqualTo(500) + assertThat(result.status).isEqualTo(429) assertThat(result.error).contains("HTTP failure: 429") assertThat(result.trmnlDeviceType).isEqualTo(TrmnlDeviceType.TRMNL) // Verify HTTP metadata is extracted