From 7767ef6ca3fa71d29b9da7ac17d6297eb2fe0769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Wed, 3 Sep 2025 10:58:36 +0200 Subject: [PATCH] fix(ffi): Adapt FFI calls to `Client::server_vendor_info` to the new API Specially important, the one from `ClientBuilder::build` as it avoids a situation where the builder would infinitely try to get a response for this request and never create the `Client` or fail. --- bindings/matrix-sdk-ffi/src/client.rs | 2 +- bindings/matrix-sdk-ffi/src/client_builder.rs | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/bindings/matrix-sdk-ffi/src/client.rs b/bindings/matrix-sdk-ffi/src/client.rs index e4c7306bf..4c64325bb 100644 --- a/bindings/matrix-sdk-ffi/src/client.rs +++ b/bindings/matrix-sdk-ffi/src/client.rs @@ -1628,7 +1628,7 @@ impl Client { /// This method retrieves information about the server's name and version /// by calling the `/_matrix/federation/v1/version` endpoint. pub async fn server_vendor_info(&self) -> Result { - Ok(self.inner.server_vendor_info().await?) + Ok(self.inner.server_vendor_info(None).await?) } /// Subscribe to changes in the media preview configuration. diff --git a/bindings/matrix-sdk-ffi/src/client_builder.rs b/bindings/matrix-sdk-ffi/src/client_builder.rs index b6edc4d43..ab5a1e720 100644 --- a/bindings/matrix-sdk-ffi/src/client_builder.rs +++ b/bindings/matrix-sdk-ffi/src/client_builder.rs @@ -574,8 +574,12 @@ impl ClientBuilder { let sdk_client = inner_builder.build().await?; + // Disable retries for this request to prevent it from being retried + // indefinitely + let config = sdk_client.request_config().disable_retry(); + // Log server version information at info level. - if let Ok(server_info) = sdk_client.server_vendor_info().await { + if let Ok(server_info) = sdk_client.server_vendor_info(Some(config)).await { tracing::info!( server_name = %server_info.server_name, version = %server_info.version,