Browse Source

Upgrade ruma and matrix-sdk

This upgrade is more about Ruma, to test the main branch that contains
several breaking changes before it is released.
fractal-12
Kévin Commaille 8 months ago
parent
commit
d3ce661865
No known key found for this signature in database
GPG Key ID: F26F4BE20A08255B
  1. 116
      Cargo.lock
  2. 32
      Cargo.toml
  3. 17
      src/components/dialogs/auth/mod.rs
  4. 50
      src/session/model/global_account_data.rs
  5. 70
      src/session/model/remote/room.rs
  6. 7
      src/session/model/room/timeline/mod.rs
  7. 2
      src/session/view/account_settings/general_page/mod.rs
  8. 2
      src/session/view/content/room_details/general_page.rs
  9. 2
      src/session/view/content/room_details/room_upgrade_dialog.rs

116
Cargo.lock generated

@ -2114,6 +2114,30 @@ dependencies = [
"hashbrown",
]
[[package]]
name = "headers"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb"
dependencies = [
"base64",
"bytes",
"headers-core",
"http",
"httpdate",
"mime",
"sha1",
]
[[package]]
name = "headers-core"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4"
dependencies = [
"http",
]
[[package]]
name = "heck"
version = "0.5.0"
@ -2173,6 +2197,15 @@ dependencies = [
"itoa",
]
[[package]]
name = "http-auth"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "150fa4a9462ef926824cf4519c84ed652ca8f4fbae34cb8af045b5cbcaf98822"
dependencies = [
"memchr",
]
[[package]]
name = "http-body"
version = "1.0.1"
@ -2995,8 +3028,7 @@ dependencies = [
[[package]]
name = "matrix-sdk"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1de309d33d0c5d77829f952110e8b9e3e6c730880152db6e1778bcaa2cbfaef9"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=93e25496adac5dfcd15e938438511e87fe63fcd3#93e25496adac5dfcd15e938438511e87fe63fcd3"
dependencies = [
"anymap2",
"aquamarine",
@ -3053,8 +3085,7 @@ dependencies = [
[[package]]
name = "matrix-sdk-base"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad7f18305090c059293ebafefbfd8cac494f43386c3f255861995ee7b48f9e89"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=93e25496adac5dfcd15e938438511e87fe63fcd3#93e25496adac5dfcd15e938438511e87fe63fcd3"
dependencies = [
"as_variant",
"async-trait",
@ -3081,8 +3112,7 @@ dependencies = [
[[package]]
name = "matrix-sdk-common"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "065ac8905f199649e165d6233faa5b4eb9c7c117f61c9a5572250ae1feb9cd79"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=93e25496adac5dfcd15e938438511e87fe63fcd3#93e25496adac5dfcd15e938438511e87fe63fcd3"
dependencies = [
"eyeball-im",
"futures-core",
@ -3105,8 +3135,7 @@ dependencies = [
[[package]]
name = "matrix-sdk-crypto"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e38551f3da5909ed8bd62a9b2bc3315df25386c410fd7116dc1824d42406fbfd"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=93e25496adac5dfcd15e938438511e87fe63fcd3#93e25496adac5dfcd15e938438511e87fe63fcd3"
dependencies = [
"aes",
"aquamarine",
@ -3147,8 +3176,7 @@ dependencies = [
[[package]]
name = "matrix-sdk-indexeddb"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "233b82cc549375e18ff1a0ccd5baf5db8ac4d44643b5b9b6bedffd74f72ed5f0"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=93e25496adac5dfcd15e938438511e87fe63fcd3#93e25496adac5dfcd15e938438511e87fe63fcd3"
dependencies = [
"anyhow",
"async-trait",
@ -3176,8 +3204,7 @@ dependencies = [
[[package]]
name = "matrix-sdk-qrcode"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5101e7d2e110978951bc917cdb6a00b84c358d3c1f9b2807d647addd76e6064f"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=93e25496adac5dfcd15e938438511e87fe63fcd3#93e25496adac5dfcd15e938438511e87fe63fcd3"
dependencies = [
"byteorder",
"qrcode",
@ -3189,8 +3216,7 @@ dependencies = [
[[package]]
name = "matrix-sdk-sqlite"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa2ff57473e92bad1b7320b3d70d640661b95064e091b925c5ef88acfa281853"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=93e25496adac5dfcd15e938438511e87fe63fcd3#93e25496adac5dfcd15e938438511e87fe63fcd3"
dependencies = [
"as_variant",
"async-trait",
@ -3215,8 +3241,7 @@ dependencies = [
[[package]]
name = "matrix-sdk-store-encryption"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c2f3c5dfb6f61036290ee053f5cdc90ee672200e9254747b8eae922f00765f9"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=93e25496adac5dfcd15e938438511e87fe63fcd3#93e25496adac5dfcd15e938438511e87fe63fcd3"
dependencies = [
"base64",
"blake3",
@ -3235,8 +3260,7 @@ dependencies = [
[[package]]
name = "matrix-sdk-ui"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf740442da217e1df0b3cbde7299daea641f82d257676b9782f7f6309d7781cf"
source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=93e25496adac5dfcd15e938438511e87fe63fcd3#93e25496adac5dfcd15e938438511e87fe63fcd3"
dependencies = [
"as_variant",
"async-rx",
@ -3761,7 +3785,6 @@ version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
dependencies = [
"phf_macros",
"phf_shared",
]
@ -3785,19 +3808,6 @@ dependencies = [
"rand 0.8.5",
]
[[package]]
name = "phf_macros"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216"
dependencies = [
"phf_generator",
"phf_shared",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "phf_shared"
version = "0.11.3"
@ -4220,8 +4230,7 @@ dependencies = [
[[package]]
name = "ruma"
version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1d47e42b7dea75a468dea63a230f51331c58d690ca018ea1c6ac782ea98880c"
source = "git+https://github.com/ruma/ruma.git?rev=a3663c04511f79f99376924d739f84d839600de6#a3663c04511f79f99376924d739f84d839600de6"
dependencies = [
"assign",
"js_int",
@ -4237,8 +4246,7 @@ dependencies = [
[[package]]
name = "ruma-client-api"
version = "0.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a9e9c613cfda4923b851c5d8bc442305905bee4f0c2b924564b00e71636c8d4"
source = "git+https://github.com/ruma/ruma.git?rev=a3663c04511f79f99376924d739f84d839600de6#a3663c04511f79f99376924d739f84d839600de6"
dependencies = [
"as_variant",
"assign",
@ -4261,8 +4269,7 @@ dependencies = [
[[package]]
name = "ruma-common"
version = "0.15.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "387e1898e868d32ff7b205e7db327361d5dcf635c00a8ae5865068607595a9cf"
source = "git+https://github.com/ruma/ruma.git?rev=a3663c04511f79f99376924d739f84d839600de6#a3663c04511f79f99376924d739f84d839600de6"
dependencies = [
"as_variant",
"base64",
@ -4289,13 +4296,13 @@ dependencies = [
"uuid",
"web-time",
"wildmatch",
"zeroize",
]
[[package]]
name = "ruma-events"
version = "0.30.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cdc7abec9bc2a9ca0b4831cc26ce97a6a8c39a0bde44a19281a719e861b4293"
source = "git+https://github.com/ruma/ruma.git?rev=a3663c04511f79f99376924d739f84d839600de6#a3663c04511f79f99376924d739f84d839600de6"
dependencies = [
"as_variant",
"indexmap",
@ -4315,32 +4322,34 @@ dependencies = [
"url",
"web-time",
"wildmatch",
"zeroize",
]
[[package]]
name = "ruma-federation-api"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb2a705c3911870782e036a3a8b676d0166c6c93800b84f6b8b23c981f78ef08"
source = "git+https://github.com/ruma/ruma.git?rev=a3663c04511f79f99376924d739f84d839600de6#a3663c04511f79f99376924d739f84d839600de6"
dependencies = [
"headers",
"http",
"http-auth",
"js_int",
"mime",
"ruma-common",
"ruma-events",
"serde",
"serde_json",
"thiserror 2.0.12",
"tracing",
]
[[package]]
name = "ruma-html"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "865afa2321e34fa836ea4c1d77ce0c2bb40f7d13fe18ee3e795091fd8d173a1d"
source = "git+https://github.com/ruma/ruma.git?rev=a3663c04511f79f99376924d739f84d839600de6#a3663c04511f79f99376924d739f84d839600de6"
dependencies = [
"as_variant",
"html5ever",
"phf",
"ruma-common",
"tracing",
"wildmatch",
@ -4349,8 +4358,7 @@ dependencies = [
[[package]]
name = "ruma-identifiers-validation"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ad674b5e5368c53a2c90fde7dac7e30747004aaf7b1827b72874a25fc06d4d8"
source = "git+https://github.com/ruma/ruma.git?rev=a3663c04511f79f99376924d739f84d839600de6#a3663c04511f79f99376924d739f84d839600de6"
dependencies = [
"js_int",
"thiserror 2.0.12",
@ -4359,8 +4367,7 @@ dependencies = [
[[package]]
name = "ruma-macros"
version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ff13fbd6045a7278533390826de316d6116d8582ed828352661337b0c422e1c"
source = "git+https://github.com/ruma/ruma.git?rev=a3663c04511f79f99376924d739f84d839600de6#a3663c04511f79f99376924d739f84d839600de6"
dependencies = [
"cfg-if",
"proc-macro-crate",
@ -4632,6 +4639,17 @@ dependencies = [
"serde",
]
[[package]]
name = "sha1"
version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
dependencies = [
"cfg-if",
"cpufeatures",
"digest",
]
[[package]]
name = "sha2"
version = "0.10.9"

32
Cargo.toml

@ -71,35 +71,37 @@ shumate = { package = "libshumate", version = "0.6" }
sourceview = { package = "sourceview5", version = "0.9" }
[dependencies.matrix-sdk]
version = "0.13"
# git = "https://github.com/matrix-org/matrix-rust-sdk.git"
# rev = "db477a84bf9e6fcf45e1e36eecbf80398338886a"
# version = "0.13"
git = "https://github.com/matrix-org/matrix-rust-sdk.git"
rev = "93e25496adac5dfcd15e938438511e87fe63fcd3"
features = ["socks", "sso-login", "markdown", "qrcode"]
[dependencies.matrix-sdk-store-encryption]
version = "0.13"
# git = "https://github.com/matrix-org/matrix-rust-sdk.git"
# rev = "db477a84bf9e6fcf45e1e36eecbf80398338886a"
# version = "0.13"
git = "https://github.com/matrix-org/matrix-rust-sdk.git"
rev = "93e25496adac5dfcd15e938438511e87fe63fcd3"
[dependencies.matrix-sdk-ui]
version = "0.13"
# git = "https://github.com/matrix-org/matrix-rust-sdk.git"
# rev = "db477a84bf9e6fcf45e1e36eecbf80398338886a"
# version = "0.13"
git = "https://github.com/matrix-org/matrix-rust-sdk.git"
rev = "93e25496adac5dfcd15e938438511e87fe63fcd3"
[dependencies.ruma]
version = "0.12.5"
# git = "https://github.com/ruma/ruma.git"
# rev = "d1d53e2b7aaf9190f11a5465b9edf6a19fc5b59a"
# version = "0.12.5"
git = "https://github.com/ruma/ruma.git"
rev = "a3663c04511f79f99376924d739f84d839600de6"
features = [
"unstable-unspecified",
"client-api-c",
"markdown",
"html-matrix",
"compat-arbitrary-length-ids",
"compat-server-signing-key-version",
"compat-user-id",
"compat-empty-string-null",
"compat-null",
"compat-optional",
"compat-unset-avatar",
"html-matrix",
"compat-lax-room-create-deser",
"compat-lax-room-topic-deser",
"unstable-msc3824",
]

17
src/components/dialogs/auth/mod.rs

@ -7,7 +7,7 @@ use gtk::{CompositeTemplate, glib, glib::clone};
use matrix_sdk::{Error, encryption::CrossSigningResetAuthType};
use ruma::{
api::{
MatrixVersion, OutgoingRequest, SendAccessToken,
MatrixVersion, OutgoingRequest, SendAccessToken, SupportedVersions,
client::uiaa::{
AuthData, AuthType, Dummy, FallbackAcknowledgement, Password, UiaaInfo, UserIdentifier,
get_uiaa_fallback_page,
@ -387,21 +387,24 @@ mod imp {
let uiaa_session = state.session.clone().ok_or(AuthError::MissingSessionId)?;
let request =
get_uiaa_fallback_page::v3::Request::new(state.stage.to_string(), uiaa_session);
get_uiaa_fallback_page::v3::Request::new(state.stage.clone(), uiaa_session);
let client = session.client();
let homeserver = client.homeserver();
let handle =
spawn_tokio!(async move { client.server_versions().await.map_err(Into::into) });
spawn_tokio!(async move { client.supported_versions().await.map_err(Into::into) });
let result = self.await_tokio_task(handle).await;
let server_versions = match result {
Ok(server_versions) => server_versions,
let supported_versions = match result {
Ok(supported_versions) => supported_versions,
Err(AuthError::ServerResponse(server_error)) => {
warn!("Could not get Matrix versions supported by homeserver: {server_error}");
// Default to the v3 endpoint.
Box::new([MatrixVersion::V1_1])
SupportedVersions {
versions: [MatrixVersion::V1_1].into(),
features: Default::default(),
}
}
Err(error) => {
return Err(error);
@ -411,7 +414,7 @@ mod imp {
let http_request = match request.try_into_http_request::<Vec<u8>>(
homeserver.as_ref(),
SendAccessToken::None,
&server_versions,
&supported_versions,
) {
Ok(http_request) => http_request,
Err(error) => {

50
src/session/model/global_account_data.rs

@ -14,6 +14,11 @@ use tracing::error;
use super::{Room, Session};
use crate::{spawn, spawn_tokio};
/// We default the media previews setting to private.
const DEFAULT_MEDIA_PREVIEWS: MediaPreviews = MediaPreviews::Private;
/// We enable the invite avatars by default.
const DEFAULT_INVITE_AVATARS_ENABLED: bool = true;
mod imp {
use std::{
cell::{Cell, OnceCell, RefCell},
@ -24,7 +29,7 @@ mod imp {
use super::*;
#[derive(Debug, Default, glib::Properties)]
#[derive(Debug, glib::Properties)]
#[properties(wrapper_type = super::GlobalAccountData)]
pub struct GlobalAccountData {
/// The session this account data belongs to.
@ -33,11 +38,22 @@ mod imp {
/// Which rooms display media previews for this session.
pub(super) media_previews_enabled: RefCell<MediaPreviews>,
/// Whether to display avatars in invites.
#[property(get, default = true)]
#[property(get, default = DEFAULT_INVITE_AVATARS_ENABLED)]
invite_avatars_enabled: Cell<bool>,
abort_handle: RefCell<Option<AbortHandle>>,
}
impl Default for GlobalAccountData {
fn default() -> Self {
Self {
session: Default::default(),
media_previews_enabled: RefCell::new(DEFAULT_MEDIA_PREVIEWS),
invite_avatars_enabled: Cell::new(DEFAULT_INVITE_AVATARS_ENABLED),
abort_handle: Default::default(),
}
}
}
#[glib::object_subclass]
impl ObjectSubclass for GlobalAccountData {
const NAME: &'static str = "GlobalAccountData";
@ -116,21 +132,26 @@ mod imp {
/// Update the media previews settings with the given account data.
fn update_media_previews_settings(&self, account_data: MediaPreviewConfigEventContent) {
let media_previews = account_data
.media_previews
.unwrap_or(DEFAULT_MEDIA_PREVIEWS);
let media_previews_enabled_changed =
*self.media_previews_enabled.borrow() != account_data.media_previews;
*self.media_previews_enabled.borrow() != media_previews;
if media_previews_enabled_changed {
*self.media_previews_enabled.borrow_mut() = account_data.media_previews;
*self.media_previews_enabled.borrow_mut() = media_previews;
self.obj()
.emit_by_name::<()>("media-previews-enabled-changed", &[]);
}
let account_data_invite_avatars_enabled =
account_data.invite_avatars == InviteAvatars::On;
let invite_avatars_enabled = account_data
.invite_avatars
.map_or(DEFAULT_INVITE_AVATARS_ENABLED, |invite_avatars| {
invite_avatars == InviteAvatars::On
});
let invite_avatars_enabled_changed =
self.invite_avatars_enabled.get() != account_data_invite_avatars_enabled;
self.invite_avatars_enabled.get() != invite_avatars_enabled;
if invite_avatars_enabled_changed {
self.invite_avatars_enabled
.set(account_data_invite_avatars_enabled);
self.invite_avatars_enabled.set(invite_avatars_enabled);
self.obj().notify_invite_avatars_enabled();
}
}
@ -149,18 +170,17 @@ mod imp {
let stored_media_previews_enabled = stored_settings
.media_previews_enabled
.take()
.map(|setting| setting.global)
.unwrap_or_default();
.map_or(DEFAULT_MEDIA_PREVIEWS, |setting| setting.global.into());
let _ = self
.set_media_previews_enabled(stored_media_previews_enabled.into())
.set_media_previews_enabled(stored_media_previews_enabled)
.await;
let stored_media_previews_enabled = stored_settings
let stored_invite_avatars_enabled = stored_settings
.invite_avatars_enabled
.take()
.unwrap_or(true);
.unwrap_or(DEFAULT_INVITE_AVATARS_ENABLED);
let _ = self
.set_invite_avatars_enabled(stored_media_previews_enabled)
.set_invite_avatars_enabled(stored_invite_avatars_enabled)
.await;
session_settings.apply_version_1_migration();

70
src/session/model/remote/room.rs

@ -3,13 +3,9 @@ use std::{cell::RefCell, time::Duration};
use gtk::{glib, glib::clone, prelude::*, subclass::prelude::*};
use matrix_sdk::reqwest::StatusCode;
use ruma::{
OwnedMxcUri, OwnedRoomAliasId, OwnedRoomId,
api::client::{
room::get_summary,
space::{SpaceHierarchyRoomsChunk, get_hierarchy},
},
OwnedRoomAliasId, OwnedRoomId,
api::client::{room::get_summary, space::get_hierarchy},
assign,
directory::PublicRoomsChunk,
room::RoomSummary,
uint,
};
@ -257,12 +253,12 @@ mod imp {
}
/// Set the room data.
pub(super) fn set_data(&self, data: RemoteRoomData) {
pub(super) fn set_data(&self, data: RoomSummary) {
self.set_room_id(data.room_id);
self.set_canonical_alias(data.canonical_alias);
self.set_name(data.name);
self.set_topic(data.topic);
self.set_joined_members_count(data.joined_members_count);
self.set_joined_members_count(data.num_joined_members.try_into().unwrap_or(u32::MAX));
if let Some(image) = self.obj().avatar_data().image() {
image.set_uri_and_info(data.avatar_url, None);
@ -320,7 +316,7 @@ mod imp {
match result {
Ok(response) => {
self.set_data(response.summary.into());
self.set_data(response.summary);
true
}
Err(error) => {
@ -390,9 +386,9 @@ mod imp {
.rooms
.into_iter()
.next()
.filter(|c| c.room_id == room_id)
.filter(|c| c.summary.room_id == room_id)
{
self.set_data(chunk.into());
self.set_data(chunk.summary);
} else {
debug!("Space hierarchy endpoint did not return requested room");
self.set_loading_state(LoadingState::Error);
@ -439,7 +435,7 @@ impl RemoteRoom {
pub(crate) fn with_data(
session: &Session,
uri: MatrixRoomIdUri,
data: impl Into<RemoteRoomData>,
data: impl Into<RoomSummary>,
) -> Self {
let obj = Self::without_data(session, uri);
obj.imp().set_data(data.into());
@ -484,53 +480,3 @@ impl RemoteRoom {
));
}
}
/// The remote room data.
#[derive(Debug)]
pub(crate) struct RemoteRoomData {
room_id: OwnedRoomId,
canonical_alias: Option<OwnedRoomAliasId>,
name: Option<String>,
topic: Option<String>,
avatar_url: Option<OwnedMxcUri>,
joined_members_count: u32,
}
impl From<RoomSummary> for RemoteRoomData {
fn from(value: RoomSummary) -> Self {
Self {
room_id: value.room_id,
canonical_alias: value.canonical_alias,
name: value.name,
topic: value.topic,
avatar_url: value.avatar_url,
joined_members_count: value.num_joined_members.try_into().unwrap_or(u32::MAX),
}
}
}
impl From<SpaceHierarchyRoomsChunk> for RemoteRoomData {
fn from(value: SpaceHierarchyRoomsChunk) -> Self {
Self {
room_id: value.room_id,
canonical_alias: value.canonical_alias,
name: value.name,
topic: value.topic,
avatar_url: value.avatar_url,
joined_members_count: value.num_joined_members.try_into().unwrap_or(u32::MAX),
}
}
}
impl From<PublicRoomsChunk> for RemoteRoomData {
fn from(value: PublicRoomsChunk) -> Self {
Self {
room_id: value.room_id,
canonical_alias: value.canonical_alias,
name: value.name,
topic: value.topic,
avatar_url: value.avatar_url,
joined_members_count: value.num_joined_members.try_into().unwrap_or(u32::MAX),
}
}
}

7
src/session/model/room/timeline/mod.rs

@ -15,11 +15,12 @@ use matrix_sdk_ui::{
},
};
use ruma::{
OwnedEventId, RoomVersionId, UserId,
OwnedEventId, UserId,
events::{
AnySyncMessageLikeEvent, AnySyncStateEvent, AnySyncTimelineEvent, SyncMessageLikeEvent,
SyncStateEvent, room::message::MessageType,
},
room_version_rules::RoomVersionRules,
};
use tokio::task::AbortHandle;
use tracing::error;
@ -1094,9 +1095,9 @@ impl Timeline {
}
/// Whether the given event should be shown in the timeline.
fn show_in_timeline(any: &AnySyncTimelineEvent, room_version: &RoomVersionId) -> bool {
fn show_in_timeline(any: &AnySyncTimelineEvent, rules: &RoomVersionRules) -> bool {
// Make sure we do not show events that cannot be shown.
if !default_event_filter(any, room_version) {
if !default_event_filter(any, rules) {
return false;
}

2
src/session/view/account_settings/general_page/mod.rs

@ -2,7 +2,7 @@ use adw::{prelude::*, subclass::prelude::*};
use gettextrs::gettext;
use gtk::{CompositeTemplate, gio, glib, glib::clone};
use matrix_sdk::authentication::oauth::{AccountManagementActionFull, AccountManagementUrlBuilder};
use ruma::{OwnedMxcUri, api::client::discovery::get_capabilities::Capabilities};
use ruma::{OwnedMxcUri, api::client::discovery::get_capabilities::v3::Capabilities};
use tracing::error;
mod change_password_subpage;

2
src/session/view/content/room_details/general_page.rs

@ -8,7 +8,7 @@ use gtk::{
use ruma::{
api::client::{
directory::{get_room_visibility, set_room_visibility},
discovery::get_capabilities::Capabilities,
discovery::get_capabilities::v3::Capabilities,
room::{Visibility, upgrade_room},
},
events::{

2
src/session/view/content/room_details/room_upgrade_dialog.rs

@ -5,7 +5,7 @@ use gettextrs::gettext;
use gtk::{gio, glib, pango, subclass::prelude::*};
use ruma::{
RoomVersionId,
api::client::discovery::get_capabilities::{RoomVersionStability, RoomVersionsCapability},
api::client::discovery::get_capabilities::v3::{RoomVersionStability, RoomVersionsCapability},
};
use tracing::error;

Loading…
Cancel
Save