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 <noreply@anthropic.com>
This commit is contained in:
Sharang Parnerkar
2026-02-20 19:48:27 +01:00
parent 0ca0366f3a
commit 515347d896

View File

@@ -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 {