Skip to content

Commit f78f179

Browse files
zecakehpoljar
authored andcommitted
Upgrade Ruma
A new batch of breaking changes, allowing to stop providing dummy `SupportedVersions` where they are not necessary. Signed-off-by: Kévin Commaille <[email protected]>
1 parent dcd8aa1 commit f78f179

File tree

9 files changed

+77
-59
lines changed

9 files changed

+77
-59
lines changed

Cargo.lock

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ rand = "0.8.5"
6666
regex = "1.11.2"
6767
reqwest = { version = "0.12.23", default-features = false }
6868
rmp-serde = "1.3.0"
69-
ruma = { git = "https://github.com/ruma/ruma", rev = "670349f66f7e3f403c6730967768472dcf1bcf60", features = [
69+
ruma = { git = "https://github.com/ruma/ruma", rev = "bbb4a14e14864d364b78d605532db580eb2b28f0", features = [
7070
"client-api-c",
7171
"compat-upload-signatures",
7272
"compat-arbitrary-length-ids",

crates/matrix-sdk/src/authentication/matrix/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616

1717
//! Types to interact with the native Matrix authentication API.
1818
19-
use std::fmt;
2019
#[cfg(feature = "sso-login")]
2120
use std::future::Future;
21+
use std::{borrow::Cow, fmt};
2222

2323
use matrix_sdk_base::{SessionMeta, store::RoomLoadSettings};
2424
use ruma::{
@@ -112,13 +112,13 @@ impl MatrixAuth {
112112
.try_into_http_request::<Vec<u8>>(
113113
homeserver.as_str(),
114114
SendAccessToken::None,
115-
&supported_versions,
115+
Cow::Owned(supported_versions),
116116
)
117117
} else {
118118
sso_login::v3::Request::new(redirect_url.to_owned()).try_into_http_request::<Vec<u8>>(
119119
homeserver.as_str(),
120120
SendAccessToken::None,
121-
&supported_versions,
121+
Cow::Owned(supported_versions),
122122
)
123123
};
124124

crates/matrix-sdk/src/authentication/oauth/qrcode/rendezvous_channel.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ impl RendezvousChannel {
113113
client: HttpClient,
114114
rendezvous_server: &Url,
115115
) -> Result<Self, HttpError> {
116+
use std::borrow::Cow;
117+
116118
use ruma::api::{SupportedVersions, client::rendezvous::create_rendezvous_session};
117119

118120
let request = create_rendezvous_session::unstable::Request::default();
@@ -122,7 +124,10 @@ impl RendezvousChannel {
122124
None,
123125
rendezvous_server.to_string(),
124126
None,
125-
&SupportedVersions { versions: Default::default(), features: Default::default() },
127+
Cow::Owned(SupportedVersions {
128+
versions: Default::default(),
129+
features: Default::default(),
130+
}),
126131
Default::default(),
127132
)
128133
.await?;

crates/matrix-sdk/src/client/builder/homeserver_config.rs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@
1414

1515
use ruma::{
1616
OwnedServerName, ServerName,
17-
api::{
18-
MatrixVersion, SupportedVersions,
19-
client::discovery::{discover_homeserver, get_supported_versions},
20-
},
17+
api::client::discovery::{discover_homeserver, get_supported_versions},
2118
};
2219
use tracing::debug;
2320
use url::Url;
@@ -185,10 +182,7 @@ async fn discover_homeserver(
185182
Some(RequestConfig::short_retry()),
186183
server.to_string(),
187184
None,
188-
&SupportedVersions {
189-
versions: [MatrixVersion::V1_0].into(),
190-
features: Default::default(),
191-
},
185+
(),
192186
Default::default(),
193187
)
194188
.await
@@ -212,10 +206,7 @@ pub(super) async fn get_supported_versions(
212206
Some(RequestConfig::short_retry()),
213207
homeserver_url.to_string(),
214208
None,
215-
&SupportedVersions {
216-
versions: [MatrixVersion::V1_0].into(),
217-
features: Default::default(),
218-
},
209+
(),
219210
Default::default(),
220211
)
221212
.await

crates/matrix-sdk/src/client/futures.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ use ruma::api::{
2424
OutgoingRequest,
2525
client::{error::ErrorKind, media},
2626
error::FromHttpResponseError,
27+
path_builder::PathBuilder,
2728
};
2829
use tracing::{error, trace};
2930

@@ -33,7 +34,7 @@ use crate::{
3334
authentication::oauth::OAuthError,
3435
config::RequestConfig,
3536
error::{HttpError, HttpResult},
36-
http_client::SupportedAuthScheme,
37+
http_client::{SupportedAuthScheme, SupportedPathBuilder},
3738
media::MediaError,
3839
};
3940

@@ -79,6 +80,8 @@ impl<R> IntoFuture for SendRequest<R>
7980
where
8081
R: OutgoingRequest + Clone + Debug + SendOutsideWasm + SyncOutsideWasm + 'static,
8182
R::Authentication: SupportedAuthScheme,
83+
R::PathBuilder: SupportedPathBuilder,
84+
for<'a> <R::PathBuilder as PathBuilder>::Input<'a>: SendOutsideWasm + SyncOutsideWasm,
8285
R::IncomingResponse: SendOutsideWasm + SyncOutsideWasm,
8386
HttpError: From<FromHttpResponseError<R::EndpointError>>,
8487
{

crates/matrix-sdk/src/client/mod.rs

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ use ruma::{
4545
DeviceId, OwnedDeviceId, OwnedEventId, OwnedRoomId, OwnedRoomOrAliasId, OwnedServerName,
4646
RoomAliasId, RoomId, RoomOrAliasId, ServerName, UInt, UserId,
4747
api::{
48-
FeatureFlag, MatrixVersion, OutgoingRequest, SupportedVersions,
48+
FeatureFlag, MatrixVersion, Metadata, OutgoingRequest, SupportedVersions,
4949
client::{
5050
account::whoami,
5151
alias::{create_alias, delete_alias, get_alias},
@@ -71,6 +71,7 @@ use ruma::{
7171
},
7272
error::FromHttpResponseError,
7373
federation::discovery::get_server_version,
74+
path_builder::PathBuilder,
7475
},
7576
assign,
7677
events::direct::DirectUserIdentifier,
@@ -99,7 +100,7 @@ use crate::{
99100
EventHandler, EventHandlerContext, EventHandlerDropGuard, EventHandlerHandle,
100101
EventHandlerStore, ObservableEventHandler, SyncEvent,
101102
},
102-
http_client::{HttpClient, SupportedAuthScheme},
103+
http_client::{HttpClient, SupportedAuthScheme, SupportedPathBuilder},
103104
latest_events::LatestEvents,
104105
media::MediaError,
105106
notification_settings::NotificationSettings,
@@ -1895,6 +1896,8 @@ impl Client {
18951896
where
18961897
Request: OutgoingRequest + Clone + Debug,
18971898
Request::Authentication: SupportedAuthScheme,
1899+
Request::PathBuilder: SupportedPathBuilder,
1900+
for<'a> <Request::PathBuilder as PathBuilder>::Input<'a>: SendOutsideWasm + SyncOutsideWasm,
18981901
HttpError: From<FromHttpResponseError<Request::EndpointError>>,
18991902
{
19001903
SendRequest {
@@ -1914,10 +1917,13 @@ impl Client {
19141917
where
19151918
Request: OutgoingRequest + Debug,
19161919
Request::Authentication: SupportedAuthScheme,
1920+
Request::PathBuilder: SupportedPathBuilder,
1921+
for<'a> <Request::PathBuilder as PathBuilder>::Input<'a>: SendOutsideWasm + SyncOutsideWasm,
19171922
HttpError: From<FromHttpResponseError<Request::EndpointError>>,
19181923
{
19191924
let homeserver = self.homeserver().to_string();
19201925
let access_token = self.access_token();
1926+
let path_builder_input = Request::PathBuilder::get_path_builder_input(self).await?;
19211927

19221928
self.inner
19231929
.http_client
@@ -1926,7 +1932,7 @@ impl Client {
19261932
config,
19271933
homeserver,
19281934
access_token.as_deref(),
1929-
&self.supported_versions().await?,
1935+
path_builder_input,
19301936
send_progress,
19311937
)
19321938
.await
@@ -1946,19 +1952,7 @@ impl Client {
19461952
request_config: Option<RequestConfig>,
19471953
) -> HttpResult<get_supported_versions::Response> {
19481954
let server_versions = self
1949-
.inner
1950-
.http_client
1951-
.send(
1952-
get_supported_versions::Request::new(),
1953-
request_config,
1954-
self.homeserver().to_string(),
1955-
None,
1956-
&SupportedVersions {
1957-
versions: [MatrixVersion::V1_0].into(),
1958-
features: Default::default(),
1959-
},
1960-
Default::default(),
1961-
)
1955+
.send_inner(get_supported_versions::Request::new(), request_config, Default::default())
19621956
.await?;
19631957

19641958
Ok(server_versions)
@@ -1983,10 +1977,7 @@ impl Client {
19831977
Some(RequestConfig::short_retry()),
19841978
server_url_string,
19851979
None,
1986-
&SupportedVersions {
1987-
versions: [MatrixVersion::V1_0].into(),
1988-
features: Default::default(),
1989-
},
1980+
(),
19901981
Default::default(),
19911982
)
19921983
.await;
@@ -2925,8 +2916,8 @@ impl Client {
29252916

29262917
// Use the authenticated endpoint when the server supports it.
29272918
let supported_versions = self.supported_versions().await?;
2928-
let use_auth =
2929-
authenticated_media::get_media_config::v1::Request::is_supported(&supported_versions);
2919+
let use_auth = authenticated_media::get_media_config::v1::Request::PATH_BUILDER
2920+
.is_supported(&supported_versions);
29302921

29312922
let upload_size = if use_auth {
29322923
self.send(authenticated_media::get_media_config::v1::Request::default())

0 commit comments

Comments
 (0)