fix: use correct tuwunel admin room command prefix for reset-password

This commit is contained in:
atlas 2026-06-04 16:43:53 +02:00
commit 1fa398e99e

View file

@ -532,7 +532,7 @@ async fn admin_room_send_and_poll<T>(
} }
/// Reset a user's password via the Matrix admin room (`#admins:<server>`). /// Reset a user's password via the Matrix admin room (`#admins:<server>`).
/// Sends `reset-password @<localpart>:<server>` as @hive, polls for the bot's /// Sends `!admin users reset-password @<localpart>:<server>` as @hive, polls for the bot's
/// response containing the new password. /// response containing the new password.
/// ///
/// Returns the new password; caller is responsible for persisting it. /// Returns the new password; caller is responsible for persisting it.
@ -544,14 +544,14 @@ async fn admin_room_reset_password(
) -> Result<String> { ) -> Result<String> {
let room_id = discover_admin_room_id(client, admin_token, server_name).await?; let room_id = discover_admin_room_id(client, admin_token, server_name).await?;
let room_url = encode_room_id_for_url(&room_id); let room_url = encode_room_id_for_url(&room_id);
let command = format!("reset-password @{localpart}:{server_name}"); let command = format!("!admin users reset-password @{localpart}:{server_name}");
admin_room_send_and_poll(client, admin_token, server_name, &room_url, &command, extract_new_password) admin_room_send_and_poll(client, admin_token, server_name, &room_url, &command, extract_new_password)
.await .await
.with_context(|| { .with_context(|| {
format!( format!(
"matrix: admin room reset-password for @{localpart}:{server_name}: \ "matrix: admin room reset-password for @{localpart}:{server_name}: \
no password response received within 15 seconds. \ no password response received within 15 seconds. \
Verify the admin room accepts 'reset-password @user:server' commands." Verify the admin room accepts '!admin users reset-password @user:server' commands."
) )
}) })
} }
@ -841,7 +841,7 @@ pub async fn promote_user_to_admin(
/// Reset a user's password via the Matrix admin room (`#admins:<server>`). /// Reset a user's password via the Matrix admin room (`#admins:<server>`).
/// ///
/// Sends `reset-password @<localpart>:<server>` to the admin room as @hive, /// Sends `!admin users reset-password @<localpart>:<server>` to the admin room as @hive,
/// polls for the bot's response containing the new password, and persists /// polls for the bot's response containing the new password, and persists
/// it to the non-purgeable creds path so [`ensure_user_for`] can re-login /// it to the non-purgeable creds path so [`ensure_user_for`] can re-login
/// on the next provisioning sweep. /// on the next provisioning sweep.