Skip to content

Commit c8e9542

Browse files
committed
fix(ChannelPreview): call getLatestMessagePreview on every relevant WS event (#2838)
(cherry picked from commit 386ef55)
1 parent de04b04 commit c8e9542

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

src/components/ChannelPreview/ChannelPreview.tsx

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ export const ChannelPreview = <
100100
const [lastMessage, setLastMessage] = useState<StreamMessage<StreamChatGenerics>>(
101101
channel.state.messages[channel.state.messages.length - 1],
102102
);
103+
const [latestMessagePreview, setLatestMessagePreview] = useState<ReactNode>(() =>
104+
getLatestMessagePreview(channel, t, userLanguage, isMessageAIGenerated),
105+
);
106+
103107
const [unread, setUnread] = useState(0);
104108
const { messageDeliveryStatus } = useMessageDeliveryStatus<StreamChatGenerics>({
105109
channel,
@@ -146,11 +150,17 @@ export const ChannelPreview = <
146150

147151
useEffect(() => {
148152
refreshUnreadCount();
153+
setLatestMessagePreview(
154+
getLatestMessagePreview(channel, t, userLanguage, isMessageAIGenerated),
155+
);
149156

150157
const handleEvent = () => {
151158
setLastMessage(
152159
channel.state.latestMessages[channel.state.latestMessages.length - 1],
153160
);
161+
setLatestMessagePreview(
162+
getLatestMessagePreview(channel, t, userLanguage, isMessageAIGenerated),
163+
);
154164
refreshUnreadCount();
155165
};
156166

@@ -167,16 +177,18 @@ export const ChannelPreview = <
167177
channel.off('message.undeleted', handleEvent);
168178
channel.off('channel.truncated', handleEvent);
169179
};
170-
}, [channel, refreshUnreadCount, channelUpdateCount]);
171-
172-
if (!Preview) return null;
173-
174-
const latestMessagePreview = getLatestMessagePreview(
180+
}, [
175181
channel,
182+
client,
183+
refreshUnreadCount,
184+
channelUpdateCount,
185+
getLatestMessagePreview,
176186
t,
177187
userLanguage,
178188
isMessageAIGenerated,
179-
);
189+
]);
190+
191+
if (!Preview) return null;
180192

181193
return (
182194
<Preview

0 commit comments

Comments
 (0)