Compare commits

...

1 Commits

Author SHA1 Message Date
timedout f3d3d43462 feat: Implement MSC4491 support
Requires forked ruma, if this is merged as-is I'll confiscate your fish.
2026-06-13 22:56:40 +01:00
5 changed files with 39 additions and 31 deletions
Generated
+21 -21
View File
@@ -4250,8 +4250,8 @@ dependencies = [
[[package]]
name = "ruma"
version = "0.15.1"
source = "git+https://github.com/ruma/ruma.git?rev=3ecd80b92794d2d93f657a7b3db62d4be237526b#3ecd80b92794d2d93f657a7b3db62d4be237526b"
version = "0.16.0"
source = "git+https://github.com/timedoutuk/ruma.git?rev=7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b#7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
dependencies = [
"assign",
"js_int",
@@ -4269,8 +4269,8 @@ dependencies = [
[[package]]
name = "ruma-appservice-api"
version = "0.15.0"
source = "git+https://github.com/ruma/ruma.git?rev=3ecd80b92794d2d93f657a7b3db62d4be237526b#3ecd80b92794d2d93f657a7b3db62d4be237526b"
version = "0.16.0"
source = "git+https://github.com/timedoutuk/ruma.git?rev=7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b#7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
dependencies = [
"js_int",
"ruma-common",
@@ -4281,8 +4281,8 @@ dependencies = [
[[package]]
name = "ruma-client-api"
version = "0.23.1"
source = "git+https://github.com/ruma/ruma.git?rev=3ecd80b92794d2d93f657a7b3db62d4be237526b#3ecd80b92794d2d93f657a7b3db62d4be237526b"
version = "0.24.0"
source = "git+https://github.com/timedoutuk/ruma.git?rev=7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b#7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
dependencies = [
"as_variant",
"assign",
@@ -4303,8 +4303,8 @@ dependencies = [
[[package]]
name = "ruma-common"
version = "0.18.0"
source = "git+https://github.com/ruma/ruma.git?rev=3ecd80b92794d2d93f657a7b3db62d4be237526b#3ecd80b92794d2d93f657a7b3db62d4be237526b"
version = "0.19.0"
source = "git+https://github.com/timedoutuk/ruma.git?rev=7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b#7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
dependencies = [
"as_variant",
"base64 0.22.1",
@@ -4336,8 +4336,8 @@ dependencies = [
[[package]]
name = "ruma-events"
version = "0.33.0"
source = "git+https://github.com/ruma/ruma.git?rev=3ecd80b92794d2d93f657a7b3db62d4be237526b#3ecd80b92794d2d93f657a7b3db62d4be237526b"
version = "0.34.0"
source = "git+https://github.com/timedoutuk/ruma.git?rev=7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b#7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
dependencies = [
"as_variant",
"indexmap",
@@ -4357,8 +4357,8 @@ dependencies = [
[[package]]
name = "ruma-federation-api"
version = "0.14.0"
source = "git+https://github.com/ruma/ruma.git?rev=3ecd80b92794d2d93f657a7b3db62d4be237526b#3ecd80b92794d2d93f657a7b3db62d4be237526b"
version = "0.15.0"
source = "git+https://github.com/timedoutuk/ruma.git?rev=7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b#7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
dependencies = [
"bytes",
"headers",
@@ -4381,7 +4381,7 @@ dependencies = [
[[package]]
name = "ruma-identifiers-validation"
version = "0.12.1"
source = "git+https://github.com/ruma/ruma.git?rev=3ecd80b92794d2d93f657a7b3db62d4be237526b#3ecd80b92794d2d93f657a7b3db62d4be237526b"
source = "git+https://github.com/timedoutuk/ruma.git?rev=7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b#7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
dependencies = [
"js_int",
"thiserror",
@@ -4389,8 +4389,8 @@ dependencies = [
[[package]]
name = "ruma-macros"
version = "0.18.0"
source = "git+https://github.com/ruma/ruma.git?rev=3ecd80b92794d2d93f657a7b3db62d4be237526b#3ecd80b92794d2d93f657a7b3db62d4be237526b"
version = "0.19.0"
source = "git+https://github.com/timedoutuk/ruma.git?rev=7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b#7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
dependencies = [
"as_variant",
"cfg-if",
@@ -4405,8 +4405,8 @@ dependencies = [
[[package]]
name = "ruma-push-gateway-api"
version = "0.14.0"
source = "git+https://github.com/ruma/ruma.git?rev=3ecd80b92794d2d93f657a7b3db62d4be237526b#3ecd80b92794d2d93f657a7b3db62d4be237526b"
version = "0.15.0"
source = "git+https://github.com/timedoutuk/ruma.git?rev=7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b#7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
dependencies = [
"js_int",
"ruma-common",
@@ -4417,8 +4417,8 @@ dependencies = [
[[package]]
name = "ruma-signatures"
version = "0.20.0"
source = "git+https://github.com/ruma/ruma.git?rev=3ecd80b92794d2d93f657a7b3db62d4be237526b#3ecd80b92794d2d93f657a7b3db62d4be237526b"
version = "0.21.0"
source = "git+https://github.com/timedoutuk/ruma.git?rev=7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b#7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
dependencies = [
"base64 0.22.1",
"ed25519-dalek",
@@ -4433,8 +4433,8 @@ dependencies = [
[[package]]
name = "ruma-state-res"
version = "0.16.0"
source = "git+https://github.com/ruma/ruma.git?rev=3ecd80b92794d2d93f657a7b3db62d4be237526b#3ecd80b92794d2d93f657a7b3db62d4be237526b"
version = "0.17.0"
source = "git+https://github.com/timedoutuk/ruma.git?rev=7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b#7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
dependencies = [
"js_int",
"ruma-common",
+4 -2
View File
@@ -343,8 +343,9 @@ version = "1.1.1"
# Used for matrix spec type definitions and helpers
[workspace.dependencies.ruma]
# version = "0.14.1"
git = "https://github.com/ruma/ruma.git"
rev = "3ecd80b92794d2d93f657a7b3db62d4be237526b"
#git = "https://github.com/ruma/ruma.git"
git = "https://github.com/timedoutuk/ruma.git"
rev = "7cafe7507d1c1f6d09bd4d453f52afc9d124fd7b"
features = [
"appservice-api-c",
"client-api",
@@ -379,6 +380,7 @@ features = [
"unstable-msc4406",
"unstable-msc4439",
"unstable-msc4466",
"unstable-msc4491",
"unstable-extensible-events",
]
+10 -4
View File
@@ -563,10 +563,16 @@ pub(crate) async fn create_room_route(
// 9. Events implied by invite (and TODO: invite_3pid)
drop(state_lock);
for recipient_user in &invitees {
if let Err(e) =
invite_helper(&services, sender_user, recipient_user, &room_id, None, body.is_direct)
.boxed()
.await
if let Err(e) = invite_helper(
&services,
sender_user,
recipient_user,
&room_id,
body.invite_reason.clone(),
body.is_direct,
)
.boxed()
.await
{
warn!(?e, "Failed to send invite");
}
+2 -2
View File
@@ -117,8 +117,8 @@ pub enum Error {
Mxc(#[from] ruma::MxcUriError),
#[error(transparent)]
Mxid(#[from] ruma::IdParseError),
#[error("from {0}: {1}")]
Redaction(ruma::OwnedServerName, ruma::canonical_json::RedactionError),
// #[error("from {0}: {1}")]
// Redaction(ruma::OwnedServerName, ruma::canonical_json::RedactionError),
#[error("{0:?}: {1}")]
Request(ErrorKind, Cow<'static, str>, http::StatusCode),
#[error(transparent)]
+2 -2
View File
@@ -1,4 +1,4 @@
use std::{borrow::Borrow, collections::BTreeSet};
use std::collections::BTreeSet;
use futures::{
Future,
@@ -824,7 +824,7 @@ struct GetThirdPartyInvite {
let prev_event_is_create_event = prev_events
.next()
.is_some_and(|event_id| event_id.borrow() == create_room.event_id().borrow());
.is_some_and(|event_id| event_id == create_room.event_id());
let no_more_prev_events = prev_events.next().is_none();
if prev_event_is_create_event && no_more_prev_events {