committed by
Damir Jelić
parent
4e7b77d7d0
commit
4feaa0ba49
Generated
+9
-9
@@ -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
@@ -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",
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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())))
|
||||
|
||||
@@ -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),
|
||||
});
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user