Upgrade Ruma

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
This commit is contained in:
Kévin Commaille
2026-01-28 09:35:53 +01:00
committed by Damir Jelić
parent 4e7b77d7d0
commit 4feaa0ba49
11 changed files with 52 additions and 27 deletions
Generated
+9 -9
View File
@@ -4803,7 +4803,7 @@ dependencies = [
[[package]]
name = "ruma"
version = "0.14.1"
source = "git+https://github.com/ruma/ruma?rev=a5e8208d76d5fd7f82b04b7c86f877651d228b9a#a5e8208d76d5fd7f82b04b7c86f877651d228b9a"
source = "git+https://github.com/ruma/ruma?rev=d4f29e2a70dbfb0bd4fdb839ca4629794644ba97#d4f29e2a70dbfb0bd4fdb839ca4629794644ba97"
dependencies = [
"assign",
"js_int",
@@ -4821,7 +4821,7 @@ dependencies = [
[[package]]
name = "ruma-client-api"
version = "0.22.1"
source = "git+https://github.com/ruma/ruma?rev=a5e8208d76d5fd7f82b04b7c86f877651d228b9a#a5e8208d76d5fd7f82b04b7c86f877651d228b9a"
source = "git+https://github.com/ruma/ruma?rev=d4f29e2a70dbfb0bd4fdb839ca4629794644ba97#d4f29e2a70dbfb0bd4fdb839ca4629794644ba97"
dependencies = [
"as_variant",
"assign",
@@ -4844,7 +4844,7 @@ dependencies = [
[[package]]
name = "ruma-common"
version = "0.17.1"
source = "git+https://github.com/ruma/ruma?rev=a5e8208d76d5fd7f82b04b7c86f877651d228b9a#a5e8208d76d5fd7f82b04b7c86f877651d228b9a"
source = "git+https://github.com/ruma/ruma?rev=d4f29e2a70dbfb0bd4fdb839ca4629794644ba97#d4f29e2a70dbfb0bd4fdb839ca4629794644ba97"
dependencies = [
"as_variant",
"base64",
@@ -4877,7 +4877,7 @@ dependencies = [
[[package]]
name = "ruma-events"
version = "0.32.1"
source = "git+https://github.com/ruma/ruma?rev=a5e8208d76d5fd7f82b04b7c86f877651d228b9a#a5e8208d76d5fd7f82b04b7c86f877651d228b9a"
source = "git+https://github.com/ruma/ruma?rev=d4f29e2a70dbfb0bd4fdb839ca4629794644ba97#d4f29e2a70dbfb0bd4fdb839ca4629794644ba97"
dependencies = [
"as_variant",
"indexmap",
@@ -4904,7 +4904,7 @@ dependencies = [
[[package]]
name = "ruma-federation-api"
version = "0.13.1"
source = "git+https://github.com/ruma/ruma?rev=a5e8208d76d5fd7f82b04b7c86f877651d228b9a#a5e8208d76d5fd7f82b04b7c86f877651d228b9a"
source = "git+https://github.com/ruma/ruma?rev=d4f29e2a70dbfb0bd4fdb839ca4629794644ba97#d4f29e2a70dbfb0bd4fdb839ca4629794644ba97"
dependencies = [
"headers",
"http",
@@ -4925,7 +4925,7 @@ dependencies = [
[[package]]
name = "ruma-html"
version = "0.6.0"
source = "git+https://github.com/ruma/ruma?rev=a5e8208d76d5fd7f82b04b7c86f877651d228b9a#a5e8208d76d5fd7f82b04b7c86f877651d228b9a"
source = "git+https://github.com/ruma/ruma?rev=d4f29e2a70dbfb0bd4fdb839ca4629794644ba97#d4f29e2a70dbfb0bd4fdb839ca4629794644ba97"
dependencies = [
"as_variant",
"html5ever",
@@ -4936,7 +4936,7 @@ dependencies = [
[[package]]
name = "ruma-identifiers-validation"
version = "0.12.0"
source = "git+https://github.com/ruma/ruma?rev=a5e8208d76d5fd7f82b04b7c86f877651d228b9a#a5e8208d76d5fd7f82b04b7c86f877651d228b9a"
source = "git+https://github.com/ruma/ruma?rev=d4f29e2a70dbfb0bd4fdb839ca4629794644ba97#d4f29e2a70dbfb0bd4fdb839ca4629794644ba97"
dependencies = [
"js_int",
"thiserror 2.0.17",
@@ -4945,7 +4945,7 @@ dependencies = [
[[package]]
name = "ruma-macros"
version = "0.17.1"
source = "git+https://github.com/ruma/ruma?rev=a5e8208d76d5fd7f82b04b7c86f877651d228b9a#a5e8208d76d5fd7f82b04b7c86f877651d228b9a"
source = "git+https://github.com/ruma/ruma?rev=d4f29e2a70dbfb0bd4fdb839ca4629794644ba97#d4f29e2a70dbfb0bd4fdb839ca4629794644ba97"
dependencies = [
"as_variant",
"cfg-if",
@@ -4961,7 +4961,7 @@ dependencies = [
[[package]]
name = "ruma-signatures"
version = "0.19.0"
source = "git+https://github.com/ruma/ruma?rev=a5e8208d76d5fd7f82b04b7c86f877651d228b9a#a5e8208d76d5fd7f82b04b7c86f877651d228b9a"
source = "git+https://github.com/ruma/ruma?rev=d4f29e2a70dbfb0bd4fdb839ca4629794644ba97#d4f29e2a70dbfb0bd4fdb839ca4629794644ba97"
dependencies = [
"base64",
"ed25519-dalek",
+1 -1
View File
@@ -68,7 +68,7 @@ rand = "0.8.5"
regex = "1.12.2"
reqwest = { version = "0.12.24", default-features = false }
rmp-serde = "1.3.0"
ruma = { git = "https://github.com/ruma/ruma", rev = "a5e8208d76d5fd7f82b04b7c86f877651d228b9a", features = [
ruma = { git = "https://github.com/ruma/ruma", rev = "d4f29e2a70dbfb0bd4fdb839ca4629794644ba97", features = [
"client-api-c",
"compat-upload-signatures",
"compat-arbitrary-length-ids",
+1 -1
View File
@@ -2351,7 +2351,7 @@ impl TryFrom<CreateRoomParameters> for create_room::v3::Request {
if let Some(power_levels) = value.power_level_content_override {
match Raw::<RoomPowerLevelsContentOverride>::new(&power_levels.into()) {
Ok(power_levels) => {
request.power_level_content_override = Some(power_levels.cast());
request.power_level_content_override = Some(power_levels);
}
Err(e) => {
return Err(ClientError::Generic {
-1
View File
@@ -83,7 +83,6 @@ matrix-sdk-test = { workspace = true, optional = true }
once_cell.workspace = true
regex.workspace = true
ruma = { workspace = true, features = [
"canonical-json",
"unstable-msc2867",
"unstable-msc3381",
"unstable-msc4186",
@@ -20,7 +20,8 @@ pub use matrix_sdk_common::deserialized_responses::*;
use once_cell::sync::Lazy;
use regex::Regex;
use ruma::{
EventId, MilliSecondsSinceUnixEpoch, OwnedEventId, OwnedRoomId, OwnedUserId, UInt, UserId,
EventId, MilliSecondsSinceUnixEpoch, MxcUri, OwnedEventId, OwnedRoomId, OwnedUserId, UInt,
UserId,
events::{
AnyStrippedStateEvent, AnySyncStateEvent, AnySyncTimelineEvent, EventContentFromType,
PossiblyRedactedStateEventContent, RedactContent, RedactedStateEventContent,
@@ -486,16 +487,34 @@ impl MemberEvent {
self.state_key()
}
/// The value of the `displayname` field in this member event.
///
/// [`MemberEvent::display_name()`] should be preferred to get the name to
/// display for this member event.
pub fn displayname_value(&self) -> Option<&str> {
match self {
Self::Sync(event) => event.as_original()?.content.displayname.as_deref(),
Self::Stripped(event) => event.content.displayname.as_deref(),
}
}
/// The name that should be displayed for this member event.
///
/// It there is no `displayname` in the event's content, the localpart or
/// the user ID is returned.
pub fn display_name(&self) -> DisplayName {
DisplayName::new(
self.original_content()
.and_then(|c| c.displayname.as_deref())
.unwrap_or_else(|| self.user_id().localpart()),
)
DisplayName::new(self.displayname_value().unwrap_or_else(|| self.user_id().localpart()))
}
/// The URL of the avatar in this member event.
///
/// [`MemberEvent::display_name()`] should be preferred to get the name to
/// display for this member event.
pub fn avatar_url(&self) -> Option<&MxcUri> {
match self {
Self::Sync(event) => event.as_original()?.content.avatar_url.as_deref(),
Self::Stripped(event) => event.content.avatar_url.as_deref(),
}
}
/// The optional reason why the membership changed.
@@ -29,7 +29,7 @@ use ruma::{
assign,
events::{
AnyRoomAccountDataEvent, AnyStrippedStateEvent, AnySyncStateEvent, StateEventType,
room::member::{MembershipState, RoomMemberEventContent},
room::member::{MembershipState, PossiblyRedactedRoomMemberEventContent},
},
serde::Raw,
};
@@ -242,7 +242,10 @@ fn membership(
match membership_event {
// There is a membership event indicating it's a knocked room.
Some(RoomMemberEventContent { membership: MembershipState::Knock, .. }) => {
Some(PossiblyRedactedRoomMemberEventContent {
membership: MembershipState::Knock,
..
}) => {
let room = store.get_or_create_room(
room_id,
RoomState::Knocked,
+2 -2
View File
@@ -261,7 +261,7 @@ impl RoomMember {
if let Some(p) = self.profile.as_ref() {
p.as_original().and_then(|e| e.content.displayname.as_deref())
} else {
self.event.original_content()?.displayname.as_deref()
self.event.displayname_value()
}
}
@@ -278,7 +278,7 @@ impl RoomMember {
if let Some(p) = self.profile.as_ref() {
p.as_original().and_then(|e| e.content.avatar_url.as_deref())
} else {
self.event.original_content()?.avatar_url.as_deref()
self.event.avatar_url()
}
}
@@ -204,7 +204,7 @@ impl AmbiguityCache {
{
Some(d)
} else {
old_event.original_content().and_then(|c| c.displayname.clone())
old_event.displayname_value().map(ToOwned::to_owned)
};
Ok(Some(display_name.unwrap_or_else(|| user_id.localpart().to_owned())))
+1 -1
View File
@@ -62,7 +62,7 @@ matrix-sdk-test = { workspace = true, optional = true } # feature = testing onl
pbkdf2.workspace = true
rand.workspace = true
rmp-serde.workspace = true
ruma = { workspace = true, features = ["rand", "canonical-json", "unstable-msc3814"] }
ruma = { workspace = true, features = ["rand", "unstable-msc3814"] }
serde = { workspace = true, features = ["derive", "rc"] }
serde_json.workspace = true
sha2.workspace = true
@@ -836,7 +836,9 @@ mod tests {
assign,
events::{
FullStateEventContent,
room::member::{MembershipState, RoomMemberEventContent},
room::member::{
MembershipState, PossiblyRedactedRoomMemberEventContent, RoomMemberEventContent,
},
},
room_version_rules::RedactionRules,
};
@@ -851,7 +853,9 @@ mod tests {
content: assign!(RoomMemberEventContent::new(MembershipState::Ban), {
reason: Some("🤬".to_owned()),
}),
prev_content: Some(RoomMemberEventContent::new(MembershipState::Join)),
prev_content: Some(PossiblyRedactedRoomMemberEventContent::new(
MembershipState::Join,
)),
},
change: Some(MembershipChange::Banned),
});
+1 -1
View File
@@ -27,7 +27,7 @@ matrix-sdk-test-macros = { version = "0.16.0", path = "../matrix-sdk-test-macros
once_cell.workspace = true
# Enable the unstable feature for polls support.
# "client-api-s" enables need the "server" feature of ruma-client-api, which is needed to serialize Response objects to JSON.
ruma = { workspace = true, features = ["canonical-json", "client-api-s", "rand", "unstable-msc3381", "unstable-msc4274"] }
ruma = { workspace = true, features = ["client-api-s", "rand", "unstable-msc3381", "unstable-msc4274"] }
serde.workspace = true
serde_json.workspace = true
vodozemac.workspace = true