From 1abe8f7835dd963fa217034aefad7b81d41313b4 Mon Sep 17 00:00:00 2001 From: nexy7574 Date: Sat, 12 Jul 2025 22:37:49 +0100 Subject: [PATCH 1/2] fix: Creation bug --- src/api/client/account.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/api/client/account.rs b/src/api/client/account.rs index 11414abf..0cea7bd9 100644 --- a/src/api/client/account.rs +++ b/src/api/client/account.rs @@ -298,7 +298,9 @@ pub(crate) async fn register_route( session: None, auth_error: None, }; - let mut skip_auth = body.appservice_info.is_some(); + let skip_auth = body.appservice_info.is_some() || is_guest; + + // Populate required UIAA flows if services.globals.registration_token.is_some() { // Registration token required uiaainfo.flows.push(AuthFlow { @@ -317,9 +319,10 @@ pub(crate) async fn register_route( }, })) .expect("Failed to serialize recaptcha params"); - skip_auth = skip_auth || is_guest; } - } else { + } + + if uiaainfo.flows.is_empty() && !skip_auth { // No registration token necessary, but clients must still go through the flow uiaainfo = UiaaInfo { flows: vec![AuthFlow { stages: vec![AuthType::Dummy] }], @@ -328,7 +331,6 @@ pub(crate) async fn register_route( session: None, auth_error: None, }; - skip_auth = skip_auth || is_guest; } if !skip_auth { From 5bf20db8e79f07aed49e0cc510d7522dcbaf9e9a Mon Sep 17 00:00:00 2001 From: Nyx Date: Sat, 12 Jul 2025 03:50:26 -0500 Subject: [PATCH 2/2] Add /_continuwuity/ paths --- docs/deploying/generic.md | 2 +- src/api/router.rs | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/deploying/generic.md b/docs/deploying/generic.md index 9128f346..cfa9b32f 100644 --- a/docs/deploying/generic.md +++ b/docs/deploying/generic.md @@ -172,7 +172,7 @@ As we would prefer our users to use Caddy, we will not provide configuration fil You will need to reverse proxy everything under following routes: - `/_matrix/` - core Matrix C-S and S-S APIs -- `/_conduwuit/` - ad-hoc Continuwuity routes such as `/local_user_count` and +- `/_conduwuit/` and/or `/_continuwuity/` - ad-hoc Continuwuity routes such as `/local_user_count` and `/server_version` You can optionally reverse proxy the following individual routes: diff --git a/src/api/router.rs b/src/api/router.rs index d1b05a91..8072fa5b 100644 --- a/src/api/router.rs +++ b/src/api/router.rs @@ -187,6 +187,7 @@ pub fn build(router: Router, server: &Server) -> Router { .ruma_route(&client::well_known_support) .ruma_route(&client::well_known_client) .route("/_conduwuit/server_version", get(client::conduwuit_server_version)) + .route("/_continuwuity/server_version", get(client::conduwuit_server_version)) .ruma_route(&client::room_initial_sync_route) .route("/client/server.json", get(client::syncv3_client_server_json)); @@ -226,13 +227,15 @@ pub fn build(router: Router, server: &Server) -> Router { .ruma_route(&server::well_known_server) .ruma_route(&server::get_content_route) .ruma_route(&server::get_content_thumbnail_route) - .route("/_conduwuit/local_user_count", get(client::conduwuit_local_user_count)); + .route("/_conduwuit/local_user_count", get(client::conduwuit_local_user_count)) + .route("/_continuwuity/local_user_count", get(client::conduwuit_local_user_count)); } else { router = router .route("/_matrix/federation/*path", any(federation_disabled)) .route("/.well-known/matrix/server", any(federation_disabled)) .route("/_matrix/key/*path", any(federation_disabled)) - .route("/_conduwuit/local_user_count", any(federation_disabled)); + .route("/_conduwuit/local_user_count", any(federation_disabled)) + .route("/_continuwuity/local_user_count", any(federation_disabled)); } if config.allow_legacy_media {