Skip to content

Commit 386ef55

Browse files
authored
fix(ChannelPreview): call getLatestMessagePreview on every relevant WS event (#2838)
1 parent 7c2a965 commit 386ef55

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
@@ -88,6 +88,10 @@ export const ChannelPreview = (props: ChannelPreviewProps) => {
8888
const [lastMessage, setLastMessage] = useState<LocalMessage>(
8989
channel.state.messages[channel.state.messages.length - 1],
9090
);
91+
const [latestMessagePreview, setLatestMessagePreview] = useState<ReactNode>(() =>
92+
getLatestMessagePreview(channel, t, userLanguage, isMessageAIGenerated),
93+
);
94+
9195
const [unread, setUnread] = useState(0);
9296
const { messageDeliveryStatus } = useMessageDeliveryStatus({
9397
channel,
@@ -134,6 +138,9 @@ export const ChannelPreview = (props: ChannelPreviewProps) => {
134138

135139
useEffect(() => {
136140
refreshUnreadCount();
141+
setLatestMessagePreview(
142+
getLatestMessagePreview(channel, t, userLanguage, isMessageAIGenerated),
143+
);
137144

138145
const handleEvent = (event: Event) => {
139146
const deletedMessagesInAnotherChannel =
@@ -144,6 +151,9 @@ export const ChannelPreview = (props: ChannelPreviewProps) => {
144151
setLastMessage(
145152
channel.state.latestMessages[channel.state.latestMessages.length - 1],
146153
);
154+
setLatestMessagePreview(
155+
getLatestMessagePreview(channel, t, userLanguage, isMessageAIGenerated),
156+
);
147157
refreshUnreadCount();
148158
};
149159

@@ -162,16 +172,18 @@ export const ChannelPreview = (props: ChannelPreviewProps) => {
162172
channel.off('message.undeleted', handleEvent);
163173
channel.off('channel.truncated', handleEvent);
164174
};
165-
}, [channel, client, refreshUnreadCount, channelUpdateCount]);
166-
167-
if (!Preview) return null;
168-
169-
const latestMessagePreview = getLatestMessagePreview(
175+
}, [
170176
channel,
177+
client,
178+
refreshUnreadCount,
179+
channelUpdateCount,
180+
getLatestMessagePreview,
171181
t,
172182
userLanguage,
173183
isMessageAIGenerated,
174-
);
184+
]);
185+
186+
if (!Preview) return null;
175187

176188
return (
177189
<Preview

0 commit comments

Comments
 (0)