diff --git a/src/pages/chat.rs b/src/pages/chat.rs index e9259dd..5bd50b2 100644 --- a/src/pages/chat.rs +++ b/src/pages/chat.rs @@ -45,10 +45,11 @@ pub fn ChatPage() -> Element { } } - // Load messages when active session changes - let active_id_for_load = active_session_id.read().clone(); + // Load messages when active session changes. + // The signal read MUST happen inside the closure so use_resource + // tracks it as a dependency and re-fetches on change. let _messages_loader = use_resource(move || { - let session_id = active_id_for_load.clone(); + let session_id = active_session_id.read().clone(); async move { if let Some(id) = session_id { match list_chat_messages(id).await {