mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-09-09 19:13:03 +02:00
feat(MSC4323): Advertise suspension support in capabilities
This commit is contained in:
parent
1e430f9470
commit
9783940105
1 changed files with 15 additions and 0 deletions
|
@ -23,6 +23,11 @@ pub(crate) async fn get_capabilities_route(
|
||||||
) -> Result<get_capabilities::v3::Response> {
|
) -> Result<get_capabilities::v3::Response> {
|
||||||
let available: BTreeMap<RoomVersionId, RoomVersionStability> =
|
let available: BTreeMap<RoomVersionId, RoomVersionStability> =
|
||||||
Server::available_room_versions().collect();
|
Server::available_room_versions().collect();
|
||||||
|
let authenticated = _body.sender_user.as_ref().is_some()
|
||||||
|
&& services
|
||||||
|
.users
|
||||||
|
.is_active_local(_body.sender_user.as_ref().unwrap())
|
||||||
|
.await;
|
||||||
|
|
||||||
let mut capabilities = Capabilities::default();
|
let mut capabilities = Capabilities::default();
|
||||||
capabilities.room_versions = RoomVersionsCapability {
|
capabilities.room_versions = RoomVersionsCapability {
|
||||||
|
@ -45,5 +50,15 @@ pub(crate) async fn get_capabilities_route(
|
||||||
json!({"enabled": services.config.forget_forced_upon_leave}),
|
json!({"enabled": services.config.forget_forced_upon_leave}),
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
|
if authenticated
|
||||||
|
&& services
|
||||||
|
.users
|
||||||
|
.is_admin(_body.sender_user.as_ref().unwrap())
|
||||||
|
.await
|
||||||
|
{
|
||||||
|
// Advertise suspension API
|
||||||
|
capabilities.set("uk.timedout.msc4323", json!({"suspend":true, "lock": false}))?;
|
||||||
|
}
|
||||||
|
|
||||||
Ok(get_capabilities::v3::Response { capabilities })
|
Ok(get_capabilities::v3::Response { capabilities })
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue