From 7d4243657cfc91cf2eaa48599e817b3062c75783 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 30 Jan 2026 15:43:00 +0100 Subject: [PATCH 1/2] Ensure http 429 are retried 3 times before failing. --- .../android/libraries/matrix/impl/RustMatrixClientFactory.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt index 5932acec20..ce05acac27 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt @@ -161,7 +161,8 @@ class RustMatrixClientFactory( .requestConfig( RequestConfig( timeout = 30_000uL, - retryLimit = 0u, + // retryLimit must be non-zero for the SDK to retry API calls when rate-limited. + retryLimit = 3u, // Use default values for the rest maxConcurrentRequests = null, maxRetryTime = null, From 9d8eec7ad1d336b754c90000c1d5ccb118b01c5b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 2 Feb 2026 10:45:39 +0100 Subject: [PATCH 2/2] Update comment --- .../android/libraries/matrix/impl/RustMatrixClientFactory.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt index ce05acac27..f497947a83 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt @@ -161,7 +161,7 @@ class RustMatrixClientFactory( .requestConfig( RequestConfig( timeout = 30_000uL, - // retryLimit must be non-zero for the SDK to retry API calls when rate-limited. + // retryLimit must be non-zero for the SDK to retry API calls in case of error (including 429 Too Many Requests error). retryLimit = 3u, // Use default values for the rest maxConcurrentRequests = null,