From 515347d8967cf0b777afbc670595ae19da7b4e77 Mon Sep 17 00:00:00 2001 From: Sharang Parnerkar Date: Fri, 20 Feb 2026 19:48:27 +0100 Subject: [PATCH] fix(chat): load messages when clicking a session in sidebar Move active_session_id signal read inside the use_resource closure so it is tracked as a reactive dependency. Previously the read happened outside, so use_resource never re-fetched messages on session change. Co-Authored-By: Claude Opus 4.6 --- src/pages/chat.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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 {