diff --git a/bindings/matrix-sdk-ffi/src/client.rs b/bindings/matrix-sdk-ffi/src/client.rs index 0ddfbe29df7..7d71473a0d4 100644 --- a/bindings/matrix-sdk-ffi/src/client.rs +++ b/bindings/matrix-sdk-ffi/src/client.rs @@ -388,11 +388,13 @@ impl Client { self.restore_session_inner(auth_session).await?; - if let Some(sliding_sync_proxy) = sliding_sync_proxy { - let sliding_sync_proxy = Url::parse(&sliding_sync_proxy) - .map_err(|error| ClientError::Generic { msg: error.to_string() })?; + if !self.inner.is_simplified_sliding_sync_enabled() { + if let Some(sliding_sync_proxy) = sliding_sync_proxy { + let sliding_sync_proxy = Url::parse(&sliding_sync_proxy) + .map_err(|error| ClientError::Generic { msg: error.to_string() })?; - self.inner.set_sliding_sync_proxy(Some(sliding_sync_proxy)); + self.inner.set_sliding_sync_proxy(Some(sliding_sync_proxy)); + } } Ok(()) diff --git a/bindings/matrix-sdk-ffi/src/client_builder.rs b/bindings/matrix-sdk-ffi/src/client_builder.rs index a7cca427b28..b5db78cba4b 100644 --- a/bindings/matrix-sdk-ffi/src/client_builder.rs +++ b/bindings/matrix-sdk-ffi/src/client_builder.rs @@ -530,8 +530,10 @@ impl ClientBuilder { // `Some(_)` value in `builder.sliding_sync_proxy`. That's really important: It // might not break an existing app session, but it is likely to break a new // session, which not immediate to detect if there is no test. - if let Some(sliding_sync_proxy) = builder.sliding_sync_proxy { - sdk_client.set_sliding_sync_proxy(Some(Url::parse(&sliding_sync_proxy)?)); + if !builder.is_simplified_sliding_sync_enabled { + if let Some(sliding_sync_proxy) = builder.sliding_sync_proxy { + sdk_client.set_sliding_sync_proxy(Some(Url::parse(&sliding_sync_proxy)?)); + } } Ok(Arc::new( diff --git a/crates/matrix-sdk/src/client/mod.rs b/crates/matrix-sdk/src/client/mod.rs index afb1327f269..0fe65251d0c 100644 --- a/crates/matrix-sdk/src/client/mod.rs +++ b/crates/matrix-sdk/src/client/mod.rs @@ -482,7 +482,7 @@ impl Client { /// Check whether Simplified MSC3575 must be used. #[cfg(feature = "experimental-sliding-sync")] - pub(crate) fn is_simplified_sliding_sync_enabled(&self) -> bool { + pub fn is_simplified_sliding_sync_enabled(&self) -> bool { self.inner.is_simplified_sliding_sync_enabled }