From b87c8478556ad9f28a559567ab504a201e659018 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 53e48462a4911b9c77c0229ca1ccbd21ec673533 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,