add the ability to register from inside the user-ui

This commit is contained in:
Evan Carroll 2026-01-21 00:11:50 -06:00
parent 31e01292f9
commit ed1a1f10f9
12 changed files with 655 additions and 5 deletions

View file

@ -19,7 +19,7 @@ use uuid::Uuid;
use chattyness_db::{
models::{ActionType, AvatarRenderData, ChannelMemberWithAvatar, EmotionState, User},
queries::{avatars, channel_members, loose_props, memberships, moderation, realms, scenes},
queries::{avatars, channel_members, loose_props, memberships, moderation, realms, scenes, users},
ws_messages::{close_codes, ClientMessage, DisconnectReason, ServerMessage, WsConfig},
};
use chattyness_error::AppError;
@ -1074,6 +1074,35 @@ async fn handle_socket(
}
}
}
ClientMessage::RefreshIdentity => {
// Fetch updated user info from database
match users::get_user_by_id(&pool, user_id).await {
Ok(Some(updated_user)) => {
let is_guest: bool = updated_user.is_guest();
let display_name = updated_user.display_name.clone();
tracing::info!(
"[WS] User {} refreshed identity: display_name={}, is_guest={}",
user_id,
display_name,
is_guest
);
// Broadcast identity update to all channel members
let _ = tx.send(ServerMessage::MemberIdentityUpdated {
user_id,
display_name,
is_guest,
});
}
Ok(None) => {
tracing::warn!("[WS] RefreshIdentity: user {} not found", user_id);
}
Err(e) => {
tracing::error!("[WS] RefreshIdentity failed for user {}: {:?}", user_id, e);
}
}
}
}
}
Message::Close(close_frame) => {