Refactor room_version support code

Fix advertising unsupported room versions
This commit is contained in:
dasha_uwu
2026-02-09 00:16:56 +05:00
committed by Jason Volk
parent d6ae4e5ff2
commit 4bba40982c
12 changed files with 79 additions and 93 deletions

View File

@@ -27,7 +27,7 @@ use ruma::{
};
use serde_json::value::RawValue as RawJsonValue;
use tuwunel_core::{
Err, Result, debug, debug_error, debug_info, debug_warn, err, error, implement, info,
Err, Result, at, debug, debug_error, debug_info, debug_warn, err, error, implement, info,
matrix::{event::gen_event_id_canonical_json, room_version},
pdu::{PduBuilder, format::from_incoming_federation},
state_res, trace,
@@ -155,7 +155,7 @@ pub async fn join_remote(
if !self
.services
.server
.config
.supported_room_version(&room_version_id)
{
return Err!(BadServerResponse(
@@ -619,7 +619,7 @@ pub async fn join_local(
if !self
.services
.server
.config
.supported_room_version(&room_version_id)
{
return Err!(BadServerResponse(
@@ -797,8 +797,9 @@ async fn make_join_request(
user_id: sender_user.to_owned(),
ver: self
.services
.server
.config
.supported_room_versions()
.map(at!(0))
.collect(),
})
.await;

View File

@@ -12,8 +12,8 @@ use ruma::{
},
};
use tuwunel_core::{
Err, Event, PduCount, Result, debug, debug_info, debug_warn, err, extract_variant, implement,
info,
Err, Event, PduCount, Result, at, debug, debug_info, debug_warn, err, extract_variant,
implement, info,
matrix::event::gen_event_id,
pdu::{PduBuilder, PduEvent},
trace, utils, warn,
@@ -195,7 +195,7 @@ async fn knock_room_helper_local(
if !self
.services
.server
.config
.supported_room_version(&room_version_id)
{
return Err!(BadServerResponse(
@@ -370,7 +370,7 @@ async fn knock_room_helper_remote(
if !self
.services
.server
.config
.supported_room_version(&room_version_id)
{
return Err!(BadServerResponse(
@@ -644,8 +644,9 @@ async fn make_knock_request(
user_id: sender_user.to_owned(),
ver: self
.services
.server
.config
.supported_room_versions()
.map(at!(0))
.collect(),
})
.await;

View File

@@ -288,7 +288,7 @@ async fn remote_leave(
if !self
.services
.server
.config
.supported_room_version(&room_version_id)
{
return Err!(BadServerResponse(warn!(