From c007354907772ac59559acece5c722c7cb309b6f Mon Sep 17 00:00:00 2001 From: Rohan Rose Date: Thu, 15 Oct 2026 16:57:15 +0000 Subject: [PATCH] fix: reset isChannelPrivate when switching to a public room The channel-private flag was only ever latched to true and never reset, so after visiting a private room the store kept reporting every subsequent public room as private. Downstream callers (getOlderMessages, getThreadMessages, getChannelMembers) then used the groups.* endpoints for public rooms, which responds 400 and leaves the message history empty. Set the flag to the actual room type instead of only setting it on private rooms. Fixes #1232 --- packages/react/src/hooks/useFetchChatData.js | 2 +- packages/react/src/views/ChatHeader/ChatHeader.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react/src/hooks/useFetchChatData.js b/packages/react/src/hooks/useFetchChatData.js index 57a564a18..caa9edeb3 100644 --- a/packages/react/src/hooks/useFetchChatData.js +++ b/packages/react/src/hooks/useFetchChatData.js @@ -137,7 +137,7 @@ const useFetchChatData = (showRoles) => { if (res?.success) { setChannelInfo(res.room); channelIsPrivate = res.room.t === 'p'; - if (channelIsPrivate) setIsChannelPrivate(true); + setIsChannelPrivate(channelIsPrivate); } } } diff --git a/packages/react/src/views/ChatHeader/ChatHeader.js b/packages/react/src/views/ChatHeader/ChatHeader.js index 18d775be1..511b57b26 100644 --- a/packages/react/src/views/ChatHeader/ChatHeader.js +++ b/packages/react/src/views/ChatHeader/ChatHeader.js @@ -275,7 +275,7 @@ const ChatHeader = ({ const res = await RCInstance.channelInfo(); if (res.success) { setChannelInfo(res.room); - if (res.room.t === 'p') setIsChannelPrivate(true); + setIsChannelPrivate(res.room.t === 'p'); if (res.room?.teamMain) setIsRoomTeam(true); if (res.room.ro) { setIsChannelReadOnly(true);