diff --git a/src/api/client/mutual_rooms.rs b/src/api/client/mutual_rooms.rs index e2e2216dd..ff5fcedb2 100644 --- a/src/api/client/mutual_rooms.rs +++ b/src/api/client/mutual_rooms.rs @@ -21,10 +21,6 @@ pub(crate) async fn get_mutual_rooms_route( return Err!(Request(Unknown("You cannot request rooms in common with yourself."))); } - if !services.users.exists(&body.user_id).await { - return Ok(mutual_rooms::unstable::Response::new(vec![])); - } - let mutual_rooms = services .rooms .state_cache diff --git a/src/api/client/unversioned.rs b/src/api/client/unversioned.rs index 8ab930396..ff4fd55dd 100644 --- a/src/api/client/unversioned.rs +++ b/src/api/client/unversioned.rs @@ -1,7 +1,8 @@ -use std::collections::BTreeMap; - use axum::{Json, extract::State, response::IntoResponse}; -use conduwuit::Result; +use conduwuit::{ + Result, + matrix::versions::{unstable_features, versions}, +}; use futures::StreamExt; use ruma::{api::client::discovery::get_supported_versions, assign}; @@ -22,47 +23,10 @@ pub(crate) async fn get_supported_versions_route( _body: Ruma, ) -> Result { - let versions = vec![ - "r0.0.1".to_owned(), - "r0.1.0".to_owned(), - "r0.2.0".to_owned(), - "r0.3.0".to_owned(), - "r0.4.0".to_owned(), - "r0.5.0".to_owned(), - "r0.6.0".to_owned(), - "r0.6.1".to_owned(), - "v1.1".to_owned(), - "v1.2".to_owned(), - "v1.3".to_owned(), - "v1.4".to_owned(), - "v1.5".to_owned(), - "v1.8".to_owned(), - "v1.11".to_owned(), - "v1.12".to_owned(), - "v1.13".to_owned(), - "v1.14".to_owned(), - ]; - - let unstable_features = BTreeMap::from_iter([ - ("org.matrix.e2e_cross_signing".to_owned(), true), - ("org.matrix.msc2285.stable".to_owned(), true), /* private read receipts (https://github.com/matrix-org/matrix-spec-proposals/pull/2285) */ - ("uk.half-shot.msc2666.query_mutual_rooms.stable".to_owned(), true), /* query mutual rooms (https://github.com/matrix-org/matrix-spec-proposals/pull/2666) */ - ("org.matrix.msc2836".to_owned(), true), /* threading/threads (https://github.com/matrix-org/matrix-spec-proposals/pull/2836) */ - ("org.matrix.msc2946".to_owned(), true), /* spaces/hierarchy summaries (https://github.com/matrix-org/matrix-spec-proposals/pull/2946) */ - ("org.matrix.msc3026.busy_presence".to_owned(), true), /* busy presence status (https://github.com/matrix-org/matrix-spec-proposals/pull/3026) */ - ("org.matrix.msc3814".to_owned(), true), /* dehydrated devices */ - ("org.matrix.msc3827".to_owned(), true), /* filtering of /publicRooms by room type (https://github.com/matrix-org/matrix-spec-proposals/pull/3827) */ - ("org.matrix.msc3952_intentional_mentions".to_owned(), true), /* intentional mentions (https://github.com/matrix-org/matrix-spec-proposals/pull/3952) */ - ("org.matrix.msc3916.stable".to_owned(), true), /* authenticated media (https://github.com/matrix-org/matrix-spec-proposals/pull/3916) */ - ("org.matrix.msc4180".to_owned(), true), /* stable flag for 3916 (https://github.com/matrix-org/matrix-spec-proposals/pull/4180) */ - ("uk.tcpip.msc4133".to_owned(), true), /* Extending User Profile API with Key:Value Pairs (https://github.com/matrix-org/matrix-spec-proposals/pull/4133) */ - ("us.cloke.msc4175".to_owned(), true), /* Profile field for user time zone (https://github.com/matrix-org/matrix-spec-proposals/pull/4175) */ - ("org.matrix.simplified_msc3575".to_owned(), true), /* Simplified Sliding sync (https://github.com/matrix-org/matrix-spec-proposals/pull/4186) */ - ("uk.timedout.msc4323".to_owned(), true), /* agnostic suspend (https://github.com/matrix-org/matrix-spec-proposals/pull/4323) */ - ("org.matrix.msc4155".to_owned(), true), /* invite filtering (https://github.com/matrix-org/matrix-spec-proposals/pull/4155) */ - ]); - - Ok(assign!(get_supported_versions::Response::new(versions), { unstable_features })) + Ok(assign!( + get_supported_versions::Response::new(versions()), + { unstable_features: unstable_features() } + )) } /// # `GET /_conduwuit/server_version` diff --git a/src/core/matrix/versions.rs b/src/core/matrix/versions.rs index 774f2509e..fa2284e7d 100644 --- a/src/core/matrix/versions.rs +++ b/src/core/matrix/versions.rs @@ -29,7 +29,7 @@ pub fn unstable_features() -> BTreeMap { BTreeMap::from_iter([ ("org.matrix.e2e_cross_signing".to_owned(), true), ("org.matrix.msc2285.stable".to_owned(), true), /* private read receipts (https://github.com/matrix-org/matrix-spec-proposals/pull/2285) */ - ("uk.half-shot.msc2666.query_mutual_rooms.stable".to_owned(), true), /* query mutual rooms (https://github.com/matrix-org/matrix-spec-proposals/pull/2666) */ + ("uk.half-shot.msc2666.query_mutual_rooms".to_owned(), true), /* query mutual rooms (https://github.com/matrix-org/matrix-spec-proposals/pull/2666) */ ("org.matrix.msc2836".to_owned(), true), /* threading/threads (https://github.com/matrix-org/matrix-spec-proposals/pull/2836) */ ("org.matrix.msc2946".to_owned(), true), /* spaces/hierarchy summaries (https://github.com/matrix-org/matrix-spec-proposals/pull/2946) */ ("org.matrix.msc3026.busy_presence".to_owned(), true), /* busy presence status (https://github.com/matrix-org/matrix-spec-proposals/pull/3026) */