fix: Creation bug
Some checks failed
Documentation / Build and Deploy Documentation (push) Has been skipped
Checks / Prefligit / prefligit (push) Failing after 10s
Release Docker Image / define-variables (push) Failing after 3s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (push) Has been skipped
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (push) Has been skipped
Release Docker Image / merge (push) Has been skipped
Checks / Rust / Format (push) Failing after 3s
Checks / Rust / Clippy (push) Failing after 18s
Checks / Rust / Cargo Test (push) Failing after 17s

This commit is contained in:
nexy7574 2025-07-12 22:37:49 +01:00
parent ce84c46459
commit 1abe8f7835

View file

@ -298,7 +298,9 @@ pub(crate) async fn register_route(
session: None, session: None,
auth_error: 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() { if services.globals.registration_token.is_some() {
// Registration token required // Registration token required
uiaainfo.flows.push(AuthFlow { uiaainfo.flows.push(AuthFlow {
@ -317,9 +319,10 @@ pub(crate) async fn register_route(
}, },
})) }))
.expect("Failed to serialize recaptcha params"); .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 // No registration token necessary, but clients must still go through the flow
uiaainfo = UiaaInfo { uiaainfo = UiaaInfo {
flows: vec![AuthFlow { stages: vec![AuthType::Dummy] }], flows: vec![AuthFlow { stages: vec![AuthType::Dummy] }],
@ -328,7 +331,6 @@ pub(crate) async fn register_route(
session: None, session: None,
auth_error: None, auth_error: None,
}; };
skip_auth = skip_auth || is_guest;
} }
if !skip_auth { if !skip_auth {