Skip to content

Commit d8fecbd

Browse files
authored
fix: i18n in message rerender issue for MessageText component (#2566)
1 parent d4b90fc commit d8fecbd

File tree

4 files changed

+9
-4
lines changed

4 files changed

+9
-4
lines changed

package/src/components/Message/Message.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -830,7 +830,8 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
830830
prevMessage.type === nextMessage.type &&
831831
prevMessage.text === nextMessage.text &&
832832
prevMessage.pinned === nextMessage.pinned &&
833-
`${prevMessage?.updated_at}` === `${nextMessage?.updated_at}`;
833+
`${prevMessage?.updated_at}` === `${nextMessage?.updated_at}` &&
834+
JSON.stringify(prevMessage.i18n) === JSON.stringify(nextMessage.i18n);
834835

835836
if (!messageEqual) return false;
836837

package/src/components/Message/MessageSimple/MessageContent.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,8 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
474474
prevMessage.status === nextMessage.status &&
475475
prevMessage.type === nextMessage.type &&
476476
prevMessage.text === nextMessage.text &&
477-
prevMessage.pinned === nextMessage.pinned;
477+
prevMessage.pinned === nextMessage.pinned &&
478+
JSON.stringify(prevMessage.i18n) === JSON.stringify(nextMessage.i18n);
478479
if (!messageEqual) return false;
479480

480481
const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';

package/src/components/Message/MessageSimple/MessageSimple.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,8 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
164164
isPrevMessageTypeDeleted === isNextMessageTypeDeleted &&
165165
prevMessage.status === nextMessage.status &&
166166
prevMessage.type === nextMessage.type &&
167-
prevMessage.text === nextMessage.text;
167+
prevMessage.text === nextMessage.text &&
168+
JSON.stringify(prevMessage.i18n) === JSON.stringify(nextMessage.i18n);
168169
if (!messageEqual) return false;
169170

170171
const isPrevQuotedMessageTypeDeleted = prevMessage.quoted_message?.type === 'deleted';

package/src/components/Message/MessageSimple/MessageTextContainer.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,9 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
133133
onlyEmojis: nextOnlyEmojis,
134134
} = nextProps;
135135

136-
const messageTextEqual = prevMessage.text === nextMessage.text;
136+
const messageTextEqual =
137+
prevMessage.text === nextMessage.text &&
138+
JSON.stringify(prevMessage.i18n) === JSON.stringify(nextMessage.i18n);
137139
if (!messageTextEqual) return false;
138140

139141
const onlyEmojisEqual = prevOnlyEmojis === nextOnlyEmojis;

0 commit comments

Comments
 (0)