From 8d0881343cdb5e3e446535c5437d67dfc090cd33 Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Mon, 23 Mar 2026 18:43:45 +0200 Subject: [PATCH] Fix load chat history on page load --- app/features/chat/ChatProvider.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/features/chat/ChatProvider.tsx b/app/features/chat/ChatProvider.tsx index 90ff90066..a95d6db2b 100644 --- a/app/features/chat/ChatProvider.tsx +++ b/app/features/chat/ChatProvider.tsx @@ -486,6 +486,8 @@ function ChatProviderInner({ unsubscribe, setRooms, setMessagesByRoom, + requestHistory, + messagesByRoom, }); const contextValue = React.useMemo( @@ -542,6 +544,8 @@ function useChatRouteSync({ unsubscribe, setRooms, setMessagesByRoom, + requestHistory, + messagesByRoom, }: { rooms: RoomInfo[]; userId: number; @@ -555,6 +559,8 @@ function useChatRouteSync({ setMessagesByRoom: React.Dispatch< React.SetStateAction> >; + requestHistory: (chatCode: string) => void; + messagesByRoom: Record; }) { const rawChatCode = useCurrentRouteChatCode(); const chatCodesKey = rawChatCode @@ -615,6 +621,9 @@ function useChatRouteSync({ if (routeChatCodeChanged) { setActiveRoom(chatCodes[0]); + if (!messagesByRoom[chatCodes[0]]) { + requestHistory(chatCodes[0]); + } if (layoutSize === "desktop") { setChatOpen(true); } @@ -632,6 +641,9 @@ function useChatRouteSync({ if (matchedRoom) { setActiveRoom(matchedRoom.chatCode); + if (!messagesByRoom[matchedRoom.chatCode]) { + requestHistory(matchedRoom.chatCode); + } if (layoutSize === "desktop") { setChatOpen(true); } @@ -652,6 +664,8 @@ function useChatRouteSync({ unsubscribe, setRooms, setMessagesByRoom, + requestHistory, + messagesByRoom, ]); }