mirror of
https://forgejo.ellis.link/continuwuation/continuwuity/
synced 2026-05-15 16:45:59 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a569222854 | |||
| 8daffedac1 |
@@ -71,7 +71,7 @@ runs:
|
||||
|
||||
- name: Install timelord-cli and git-warp-time
|
||||
if: steps.check-binaries.outputs.need-install == 'true'
|
||||
uses: https://github.com/taiki-e/install-action@184183c2401be73c3bf42c2e61268aa5855379c1 # v2
|
||||
uses: https://github.com/taiki-e/install-action@3235f8901fd37ffed0052b276cec25a362fb82e9 # v2
|
||||
with:
|
||||
tool: git-warp-time,timelord-cli@3.0.1
|
||||
|
||||
|
||||
Generated
+11
-11
@@ -4174,7 +4174,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ruma"
|
||||
version = "0.15.1"
|
||||
source = "git+https://github.com/ruma/ruma.git?rev=9c9dccc93f054bbd28f23f630223fffa6289ecbc#9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
source = "git+https://github.com/timedoutuk/ruma.git?rev=9679644f410bf19fe71ec2ad55bce7faeee3de0f#9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
dependencies = [
|
||||
"assign",
|
||||
"js_int",
|
||||
@@ -4193,7 +4193,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ruma-appservice-api"
|
||||
version = "0.15.0"
|
||||
source = "git+https://github.com/ruma/ruma.git?rev=9c9dccc93f054bbd28f23f630223fffa6289ecbc#9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
source = "git+https://github.com/timedoutuk/ruma.git?rev=9679644f410bf19fe71ec2ad55bce7faeee3de0f#9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
dependencies = [
|
||||
"js_int",
|
||||
"ruma-common",
|
||||
@@ -4205,7 +4205,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ruma-client-api"
|
||||
version = "0.23.1"
|
||||
source = "git+https://github.com/ruma/ruma.git?rev=9c9dccc93f054bbd28f23f630223fffa6289ecbc#9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
source = "git+https://github.com/timedoutuk/ruma.git?rev=9679644f410bf19fe71ec2ad55bce7faeee3de0f#9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
dependencies = [
|
||||
"as_variant",
|
||||
"assign",
|
||||
@@ -4227,7 +4227,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ruma-common"
|
||||
version = "0.18.0"
|
||||
source = "git+https://github.com/ruma/ruma.git?rev=9c9dccc93f054bbd28f23f630223fffa6289ecbc#9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
source = "git+https://github.com/timedoutuk/ruma.git?rev=9679644f410bf19fe71ec2ad55bce7faeee3de0f#9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
dependencies = [
|
||||
"as_variant",
|
||||
"base64 0.22.1",
|
||||
@@ -4260,7 +4260,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ruma-events"
|
||||
version = "0.33.0"
|
||||
source = "git+https://github.com/ruma/ruma.git?rev=9c9dccc93f054bbd28f23f630223fffa6289ecbc#9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
source = "git+https://github.com/timedoutuk/ruma.git?rev=9679644f410bf19fe71ec2ad55bce7faeee3de0f#9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
dependencies = [
|
||||
"as_variant",
|
||||
"indexmap",
|
||||
@@ -4281,7 +4281,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ruma-federation-api"
|
||||
version = "0.14.0"
|
||||
source = "git+https://github.com/ruma/ruma.git?rev=9c9dccc93f054bbd28f23f630223fffa6289ecbc#9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
source = "git+https://github.com/timedoutuk/ruma.git?rev=9679644f410bf19fe71ec2ad55bce7faeee3de0f#9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"headers",
|
||||
@@ -4304,7 +4304,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ruma-identifiers-validation"
|
||||
version = "0.12.1"
|
||||
source = "git+https://github.com/ruma/ruma.git?rev=9c9dccc93f054bbd28f23f630223fffa6289ecbc#9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
source = "git+https://github.com/timedoutuk/ruma.git?rev=9679644f410bf19fe71ec2ad55bce7faeee3de0f#9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
dependencies = [
|
||||
"js_int",
|
||||
"thiserror",
|
||||
@@ -4313,7 +4313,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ruma-macros"
|
||||
version = "0.18.0"
|
||||
source = "git+https://github.com/ruma/ruma.git?rev=9c9dccc93f054bbd28f23f630223fffa6289ecbc#9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
source = "git+https://github.com/timedoutuk/ruma.git?rev=9679644f410bf19fe71ec2ad55bce7faeee3de0f#9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
dependencies = [
|
||||
"as_variant",
|
||||
"cfg-if",
|
||||
@@ -4329,7 +4329,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ruma-push-gateway-api"
|
||||
version = "0.14.0"
|
||||
source = "git+https://github.com/ruma/ruma.git?rev=9c9dccc93f054bbd28f23f630223fffa6289ecbc#9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
source = "git+https://github.com/timedoutuk/ruma.git?rev=9679644f410bf19fe71ec2ad55bce7faeee3de0f#9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
dependencies = [
|
||||
"js_int",
|
||||
"ruma-common",
|
||||
@@ -4341,7 +4341,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ruma-signatures"
|
||||
version = "0.20.0"
|
||||
source = "git+https://github.com/ruma/ruma.git?rev=9c9dccc93f054bbd28f23f630223fffa6289ecbc#9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
source = "git+https://github.com/timedoutuk/ruma.git?rev=9679644f410bf19fe71ec2ad55bce7faeee3de0f#9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
dependencies = [
|
||||
"base64 0.22.1",
|
||||
"ed25519-dalek",
|
||||
@@ -4357,7 +4357,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "ruma-state-res"
|
||||
version = "0.16.0"
|
||||
source = "git+https://github.com/ruma/ruma.git?rev=9c9dccc93f054bbd28f23f630223fffa6289ecbc#9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
source = "git+https://github.com/timedoutuk/ruma.git?rev=9679644f410bf19fe71ec2ad55bce7faeee3de0f#9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
dependencies = [
|
||||
"js_int",
|
||||
"ruma-common",
|
||||
|
||||
+4
-2
@@ -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 = "9c9dccc93f054bbd28f23f630223fffa6289ecbc"
|
||||
#git = "https://github.com/ruma/ruma.git"
|
||||
git = "https://github.com/timedoutuk/ruma.git"
|
||||
rev = "9679644f410bf19fe71ec2ad55bce7faeee3de0f"
|
||||
features = [
|
||||
"appservice-api-c",
|
||||
"client-api",
|
||||
@@ -379,6 +380,7 @@ features = [
|
||||
"unstable-msc4293",
|
||||
"unstable-msc4406",
|
||||
"unstable-msc4439",
|
||||
"unstable-msc4472",
|
||||
"unstable-extensible-events",
|
||||
]
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Implemented unstable support for MSC4472, starting to get the ball rolling on deprecating old room versions. Contributed by @nex.
|
||||
@@ -1,7 +1,11 @@
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
use axum::extract::State;
|
||||
use conduwuit::{Result, Server};
|
||||
use conduwuit::{
|
||||
Result, Server,
|
||||
info::room_version::{STABLE_ROOM_VERSIONS, UNSTABLE_ROOM_VERSIONS},
|
||||
};
|
||||
use itertools::Itertools;
|
||||
use ruma::{
|
||||
RoomVersionId,
|
||||
api::client::discovery::get_capabilities::{
|
||||
@@ -25,7 +29,13 @@ pub(crate) async fn get_capabilities_route(
|
||||
body: Ruma<get_capabilities::v3::Request>,
|
||||
) -> Result<get_capabilities::v3::Response> {
|
||||
let available: BTreeMap<RoomVersionId, RoomVersionStability> =
|
||||
Server::available_room_versions().collect();
|
||||
Server::available_room_versions()
|
||||
.filter(|(version, _)| {
|
||||
(services.config.allow_unstable_room_versions
|
||||
&& UNSTABLE_ROOM_VERSIONS.contains(version))
|
||||
|| STABLE_ROOM_VERSIONS.contains(version)
|
||||
})
|
||||
.collect();
|
||||
|
||||
let mut capabilities = Capabilities::default();
|
||||
capabilities.room_versions = RoomVersionsCapability::new(
|
||||
|
||||
@@ -21,6 +21,16 @@
|
||||
pub const UNSTABLE_ROOM_VERSIONS: &[RoomVersionId] =
|
||||
&[RoomVersionId::V3, RoomVersionId::V4, RoomVersionId::V5];
|
||||
|
||||
pub const DEPRECATED_ROOM_VERSIONS: &[RoomVersionId] = &[
|
||||
RoomVersionId::V3,
|
||||
RoomVersionId::V4,
|
||||
RoomVersionId::V5,
|
||||
RoomVersionId::V6,
|
||||
RoomVersionId::V7,
|
||||
RoomVersionId::V8,
|
||||
RoomVersionId::V9,
|
||||
];
|
||||
|
||||
type RoomVersion = (RoomVersionId, RoomVersionStability);
|
||||
|
||||
impl crate::Server {
|
||||
@@ -29,6 +39,13 @@ pub fn supported_room_version(&self, version: &RoomVersionId) -> bool {
|
||||
self.supported_room_versions().any(is_equal_to!(*version))
|
||||
}
|
||||
|
||||
pub fn version_is_deprecated(&self, version: &RoomVersionId) -> bool {
|
||||
DEPRECATED_ROOM_VERSIONS
|
||||
.iter()
|
||||
.cloned()
|
||||
.any(is_equal_to!(*version))
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn supported_room_versions(&self) -> impl Iterator<Item = RoomVersionId> + '_ {
|
||||
Self::available_room_versions()
|
||||
@@ -52,10 +69,15 @@ pub fn available_room_versions() -> impl Iterator<Item = RoomVersion> {
|
||||
.iter()
|
||||
.cloned()
|
||||
.zip(once(RoomVersionStability::Unstable).cycle());
|
||||
let deprecated_room_versions = DEPRECATED_ROOM_VERSIONS
|
||||
.iter()
|
||||
.cloned()
|
||||
.zip(once(RoomVersionStability::Deprecated).cycle());
|
||||
|
||||
STABLE_ROOM_VERSIONS
|
||||
.iter()
|
||||
.cloned()
|
||||
.zip(once(RoomVersionStability::Stable).cycle())
|
||||
.chain(unstable_room_versions)
|
||||
.chain(deprecated_room_versions)
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user