From 1e2087a8b1718c69aec25fdc19bc32d9a33780ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= Date: Tue, 2 Dec 2025 12:20:10 +0100 Subject: [PATCH] Upgrade matrix-sdk and ruma dependencies --- Cargo.lock | 118 +++++++++--------- Cargo.toml | 24 ++-- src/account_settings/general_page/mod.rs | 6 +- src/components/dialogs/auth/mod.rs | 6 +- .../cancelled_page.rs | 2 +- .../message_toolbar/composer_parser.rs | 1 + src/user_facing_error.rs | 4 +- 7 files changed, 78 insertions(+), 83 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c44c95d6..73c21cda 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -813,17 +813,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "deadpool-sqlite" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8510000b26f632483a35120c2ce280c29e1e14c2dcb27b5055dbdac276f63f58" -dependencies = [ - "deadpool", - "deadpool-sync", - "rusqlite", -] - [[package]] name = "deadpool-sync" version = "0.1.4" @@ -1011,11 +1000,11 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "emojis" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52f3d011046a013bdefbc63a5523b06ad0c0f1e227941baf98475496229d634" +checksum = "50c1c1870b766fc398e5f0526498d09c94b6de15be5fd769a28bbc804fb1b05d" dependencies = [ - "phf 0.12.1", + "phf 0.13.1", ] [[package]] @@ -3140,8 +3129,8 @@ dependencies = [ [[package]] name = "matrix-sdk" -version = "0.14.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=c1bc814ac2c306da704c5e10b7feda2e207beb19#c1bc814ac2c306da704c5e10b7feda2e207beb19" +version = "0.15.0" +source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=19b703611934e054f05062cf91bf5f9068e00d3f#19b703611934e054f05062cf91bf5f9068e00d3f" dependencies = [ "anymap2", "aquamarine", @@ -3198,8 +3187,8 @@ dependencies = [ [[package]] name = "matrix-sdk-base" -version = "0.14.1" -source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=c1bc814ac2c306da704c5e10b7feda2e207beb19#c1bc814ac2c306da704c5e10b7feda2e207beb19" +version = "0.15.0" +source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=19b703611934e054f05062cf91bf5f9068e00d3f#19b703611934e054f05062cf91bf5f9068e00d3f" dependencies = [ "as_variant", "async-trait", @@ -3225,8 +3214,8 @@ dependencies = [ [[package]] name = "matrix-sdk-common" -version = "0.14.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=c1bc814ac2c306da704c5e10b7feda2e207beb19#c1bc814ac2c306da704c5e10b7feda2e207beb19" +version = "0.15.0" +source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=19b703611934e054f05062cf91bf5f9068e00d3f#19b703611934e054f05062cf91bf5f9068e00d3f" dependencies = [ "eyeball-im", "futures-core", @@ -3248,8 +3237,8 @@ dependencies = [ [[package]] name = "matrix-sdk-crypto" -version = "0.14.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=c1bc814ac2c306da704c5e10b7feda2e207beb19#c1bc814ac2c306da704c5e10b7feda2e207beb19" +version = "0.15.0" +source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=19b703611934e054f05062cf91bf5f9068e00d3f#19b703611934e054f05062cf91bf5f9068e00d3f" dependencies = [ "aes", "aquamarine", @@ -3289,8 +3278,8 @@ dependencies = [ [[package]] name = "matrix-sdk-indexeddb" -version = "0.14.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=c1bc814ac2c306da704c5e10b7feda2e207beb19#c1bc814ac2c306da704c5e10b7feda2e207beb19" +version = "0.15.0" +source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=19b703611934e054f05062cf91bf5f9068e00d3f#19b703611934e054f05062cf91bf5f9068e00d3f" dependencies = [ "async-trait", "base64", @@ -3300,6 +3289,7 @@ dependencies = [ "hkdf", "indexed_db_futures", "js-sys", + "matrix-sdk-base", "matrix-sdk-crypto", "matrix-sdk-store-encryption", "rmp-serde", @@ -3311,6 +3301,7 @@ dependencies = [ "thiserror 2.0.17", "tokio", "tracing", + "uuid", "wasm-bindgen", "web-sys", "zeroize", @@ -3318,8 +3309,8 @@ dependencies = [ [[package]] name = "matrix-sdk-qrcode" -version = "0.14.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=c1bc814ac2c306da704c5e10b7feda2e207beb19#c1bc814ac2c306da704c5e10b7feda2e207beb19" +version = "0.15.0" +source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=19b703611934e054f05062cf91bf5f9068e00d3f#19b703611934e054f05062cf91bf5f9068e00d3f" dependencies = [ "byteorder", "qrcode", @@ -3330,12 +3321,13 @@ dependencies = [ [[package]] name = "matrix-sdk-sqlite" -version = "0.14.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=c1bc814ac2c306da704c5e10b7feda2e207beb19#c1bc814ac2c306da704c5e10b7feda2e207beb19" +version = "0.15.0" +source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=19b703611934e054f05062cf91bf5f9068e00d3f#19b703611934e054f05062cf91bf5f9068e00d3f" dependencies = [ "as_variant", "async-trait", - "deadpool-sqlite", + "deadpool", + "deadpool-sync", "itertools 0.14.0", "matrix-sdk-base", "matrix-sdk-crypto", @@ -3356,12 +3348,13 @@ dependencies = [ [[package]] name = "matrix-sdk-store-encryption" -version = "0.14.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=c1bc814ac2c306da704c5e10b7feda2e207beb19#c1bc814ac2c306da704c5e10b7feda2e207beb19" +version = "0.15.0" +source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=19b703611934e054f05062cf91bf5f9068e00d3f#19b703611934e054f05062cf91bf5f9068e00d3f" dependencies = [ "base64", "blake3", "chacha20poly1305", + "getrandom 0.2.16", "hmac", "pbkdf2", "rand 0.8.5", @@ -3375,8 +3368,8 @@ dependencies = [ [[package]] name = "matrix-sdk-ui" -version = "0.14.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=c1bc814ac2c306da704c5e10b7feda2e207beb19#c1bc814ac2c306da704c5e10b7feda2e207beb19" +version = "0.15.0" +source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=19b703611934e054f05062cf91bf5f9068e00d3f#19b703611934e054f05062cf91bf5f9068e00d3f" dependencies = [ "as_variant", "async-rx", @@ -3896,11 +3889,11 @@ dependencies = [ [[package]] name = "phf" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "913273894cec178f401a31ec4b656318d95473527be05c0752cc41cdc32be8b7" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" dependencies = [ - "phf_shared 0.12.1", + "phf_shared 0.13.1", ] [[package]] @@ -3934,9 +3927,9 @@ dependencies = [ [[package]] name = "phf_shared" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06005508882fb681fd97892ecff4b7fd0fee13ef1aa569f8695dae7ab9099981" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" dependencies = [ "siphasher", ] @@ -4369,8 +4362,9 @@ dependencies = [ [[package]] name = "ruma" -version = "0.13.0" -source = "git+https://github.com/ruma/ruma.git?rev=c441eccb92a36467217ff929cd71462fbeeeaf1a#c441eccb92a36467217ff929cd71462fbeeeaf1a" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "070c1de99c5b1fe78827abfce71b858104a2d1dae8f19029ee52cd876e8d2654" dependencies = [ "assign", "js_int", @@ -4380,14 +4374,14 @@ dependencies = [ "ruma-events", "ruma-federation-api", "ruma-html", - "ruma-signatures", "web-time", ] [[package]] name = "ruma-client-api" -version = "0.21.0" -source = "git+https://github.com/ruma/ruma.git?rev=c441eccb92a36467217ff929cd71462fbeeeaf1a#c441eccb92a36467217ff929cd71462fbeeeaf1a" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2353d8d42b3aa0b58ed4187ef40fba3ed66d12c47201fd201803a122262985c" dependencies = [ "as_variant", "assign", @@ -4409,8 +4403,9 @@ dependencies = [ [[package]] name = "ruma-common" -version = "0.16.0" -source = "git+https://github.com/ruma/ruma.git?rev=c441eccb92a36467217ff929cd71462fbeeeaf1a#c441eccb92a36467217ff929cd71462fbeeeaf1a" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d9223155004bd089d840d87a6b77dc17378657d0f597087eb0eb541a28c37e0" dependencies = [ "as_variant", "base64", @@ -4442,8 +4437,9 @@ dependencies = [ [[package]] name = "ruma-events" -version = "0.31.0" -source = "git+https://github.com/ruma/ruma.git?rev=c441eccb92a36467217ff929cd71462fbeeeaf1a#c441eccb92a36467217ff929cd71462fbeeeaf1a" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69ad82efa481b458c37ed3bdf47404bd41c8611d15336da387a0dd1e0f088689" dependencies = [ "as_variant", "indexmap", @@ -4468,18 +4464,18 @@ dependencies = [ [[package]] name = "ruma-federation-api" -version = "0.12.0" -source = "git+https://github.com/ruma/ruma.git?rev=c441eccb92a36467217ff929cd71462fbeeeaf1a#c441eccb92a36467217ff929cd71462fbeeeaf1a" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c464d081bcd3a677b1eef2e0f5db6b796acb7f5eed0a99ba501ca1423d2590ed" dependencies = [ "headers", "http", "http-auth", - "httparse", "js_int", - "memchr", "mime", "ruma-common", "ruma-events", + "ruma-signatures", "serde", "serde_json", "thiserror 2.0.17", @@ -4488,8 +4484,9 @@ dependencies = [ [[package]] name = "ruma-html" -version = "0.5.0" -source = "git+https://github.com/ruma/ruma.git?rev=c441eccb92a36467217ff929cd71462fbeeeaf1a#c441eccb92a36467217ff929cd71462fbeeeaf1a" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6dcd6e9823e177d15460d3cd3a413f38a2beea381f26aca1001c05cd6954ff" dependencies = [ "as_variant", "html5ever", @@ -4500,8 +4497,9 @@ dependencies = [ [[package]] name = "ruma-identifiers-validation" -version = "0.11.0" -source = "git+https://github.com/ruma/ruma.git?rev=c441eccb92a36467217ff929cd71462fbeeeaf1a#c441eccb92a36467217ff929cd71462fbeeeaf1a" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9c6b5643060beec0fc9d7acfb41d2c5d91e1591db440ff62361d178e77c35fe" dependencies = [ "js_int", "thiserror 2.0.17", @@ -4509,8 +4507,9 @@ dependencies = [ [[package]] name = "ruma-macros" -version = "0.16.0" -source = "git+https://github.com/ruma/ruma.git?rev=c441eccb92a36467217ff929cd71462fbeeeaf1a#c441eccb92a36467217ff929cd71462fbeeeaf1a" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffb3fa639bd851add9ca8a89200e6b8e00dd54cea9b21d39e8884e71e377633" dependencies = [ "cfg-if", "proc-macro-crate", @@ -4524,8 +4523,9 @@ dependencies = [ [[package]] name = "ruma-signatures" -version = "0.18.0" -source = "git+https://github.com/ruma/ruma.git?rev=c441eccb92a36467217ff929cd71462fbeeeaf1a#c441eccb92a36467217ff929cd71462fbeeeaf1a" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146ace2cd59b60ec80d3e801a84e7e6a91e3e01d18a9f5d896ea7ca16a6b8e08" dependencies = [ "base64", "ed25519-dalek", diff --git a/Cargo.toml b/Cargo.toml index 6135ee45..353e61d5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -75,33 +75,23 @@ sourceview = { package = "sourceview5", version = "0.10" } [dependencies.matrix-sdk] # version = "0.14" git = "https://github.com/matrix-org/matrix-rust-sdk.git" -rev = "c1bc814ac2c306da704c5e10b7feda2e207beb19" -default-features = false -features = [ - "e2e-encryption", - "automatic-room-key-forwarding", - "sqlite", - "native-tls", - "socks", - "sso-login", - "markdown", - "qrcode", -] +rev = "19b703611934e054f05062cf91bf5f9068e00d3f" +features = ["socks", "sso-login", "markdown", "qrcode"] [dependencies.matrix-sdk-store-encryption] # version = "0.14" git = "https://github.com/matrix-org/matrix-rust-sdk.git" -rev = "c1bc814ac2c306da704c5e10b7feda2e207beb19" +rev = "19b703611934e054f05062cf91bf5f9068e00d3f" [dependencies.matrix-sdk-ui] # version = "0.14" git = "https://github.com/matrix-org/matrix-rust-sdk.git" -rev = "c1bc814ac2c306da704c5e10b7feda2e207beb19" +rev = "19b703611934e054f05062cf91bf5f9068e00d3f" [dependencies.ruma] -# version = "0.13" -git = "https://github.com/ruma/ruma.git" -rev = "c441eccb92a36467217ff929cd71462fbeeeaf1a" +version = "0.14" +# git = "https://github.com/ruma/ruma.git" +# rev = "c441eccb92a36467217ff929cd71462fbeeeaf1a" features = [ "client-api-c", "markdown", diff --git a/src/account_settings/general_page/mod.rs b/src/account_settings/general_page/mod.rs index 0158d220..d5f1e8b0 100644 --- a/src/account_settings/general_page/mod.rs +++ b/src/account_settings/general_page/mod.rs @@ -5,7 +5,7 @@ use matrix_sdk::authentication::oauth::{AccountManagementActionFull, AccountMana use ruma::{ OwnedMxcUri, api::{ - OutgoingRequest, SupportedVersions, + Metadata, SupportedVersions, client::{ discovery::get_capabilities::v3::Capabilities, profile::{ProfileFieldName, delete_profile_field}, @@ -591,7 +591,9 @@ impl CapabilitiesData { // > capability in the /versions response. if let Some(profile_fields) = &self.capabilities.profile_fields { profile_fields.can_set_field(field) - } else if delete_profile_field::v3::Request::is_supported(&self.supported_versions) { + } else if delete_profile_field::v3::Request::PATH_BUILDER + .is_supported(&self.supported_versions) + { true } else { #[allow(deprecated)] diff --git a/src/components/dialogs/auth/mod.rs b/src/components/dialogs/auth/mod.rs index cf77d6c8..c696c67e 100644 --- a/src/components/dialogs/auth/mod.rs +++ b/src/components/dialogs/auth/mod.rs @@ -6,7 +6,8 @@ use gtk::{glib, glib::clone}; use matrix_sdk::{Error, encryption::CrossSigningResetAuthType}; use ruma::{ api::{ - MatrixVersion, OutgoingRequest, SendAccessToken, SupportedVersions, + MatrixVersion, OutgoingRequest, SupportedVersions, + auth_scheme::SendAccessToken, client::uiaa::{ AuthData, AuthType, Dummy, FallbackAcknowledgement, Password, UiaaInfo, UserIdentifier, get_uiaa_fallback_page, @@ -28,6 +29,7 @@ use crate::{ mod imp { use std::{ + borrow::Cow, cell::{Cell, OnceCell, RefCell}, rc::Rc, sync::Arc, @@ -417,7 +419,7 @@ mod imp { let http_request = match request.try_into_http_request::>( homeserver.as_ref(), SendAccessToken::None, - &supported_versions, + Cow::Owned(supported_versions), ) { Ok(http_request) => http_request, Err(error) => { diff --git a/src/identity_verification_view/cancelled_page.rs b/src/identity_verification_view/cancelled_page.rs index a5e0cd17..c63ba290 100644 --- a/src/identity_verification_view/cancelled_page.rs +++ b/src/identity_verification_view/cancelled_page.rs @@ -1,7 +1,7 @@ use adw::{prelude::*, subclass::prelude::*}; use gettextrs::gettext; use gtk::{glib, glib::clone}; -use matrix_sdk::crypto::CancelInfo; +use matrix_sdk::encryption::verification::CancelInfo; use ruma::events::key::verification::cancel::CancelCode; use crate::{ diff --git a/src/session_view/room_history/message_toolbar/composer_parser.rs b/src/session_view/room_history/message_toolbar/composer_parser.rs index d935a45e..2bb532b2 100644 --- a/src/session_view/room_history/message_toolbar/composer_parser.rs +++ b/src/session_view/room_history/message_toolbar/composer_parser.rs @@ -267,6 +267,7 @@ impl<'a> ComposerParser<'a> { plain_text, html_text: None, draft_type, + attachments: Vec::new(), }) } } diff --git a/src/user_facing_error.rs b/src/user_facing_error.rs index 229ad948..57c9d2f1 100644 --- a/src/user_facing_error.rs +++ b/src/user_facing_error.rs @@ -2,7 +2,7 @@ use std::time::{Duration, SystemTime}; use gettextrs::gettext; use matrix_sdk::{ClientBuildError, Error, HttpError}; -use ruma::api::client::error::{ErrorBody, ErrorKind, RetryAfter}; +use ruma::api::client::error::{ErrorBody, ErrorKind, RetryAfter, StandardErrorBody}; use crate::ngettext_f; @@ -19,7 +19,7 @@ impl UserFacingError for HttpError { } else { gettext("Could not connect to the homeserver.") } - } else if let Some(ErrorBody::Standard { kind, message }) = + } else if let Some(ErrorBody::Standard(StandardErrorBody { kind, message, .. })) = self.as_client_api_error().map(|error| &error.body) { match kind {