Skip to content

Commit c663e52

Browse files
committed
fix: isAttachmentEqual logic in MessageContent and MessageSimple
1 parent bd8e690 commit c663e52

File tree

2 files changed

+27
-29
lines changed

2 files changed

+27
-29
lines changed

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

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -445,23 +445,22 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
445445
const prevMessageAttachments = prevMessage.attachments;
446446
const nextMessageAttachments = nextMessage.attachments;
447447
const attachmentsEqual =
448-
Array.isArray(prevMessageAttachments) &&
449-
Array.isArray(nextMessageAttachments) &&
450-
prevMessageAttachments.length === nextMessageAttachments.length &&
451-
prevMessageAttachments.every((attachment, index) => {
452-
const attachmentKeysEqual =
453-
attachment.type === 'image'
454-
? attachment.image_url === nextMessageAttachments[index].image_url &&
455-
attachment.thumb_url === nextMessageAttachments[index].thumb_url
456-
: attachment.type === nextMessageAttachments[index].type;
457-
458-
if (isAttachmentEqual)
459-
return (
460-
attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])
461-
);
462-
463-
return attachmentKeysEqual;
464-
});
448+
Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)
449+
? prevMessageAttachments.length === nextMessageAttachments.length &&
450+
prevMessageAttachments.every((attachment, index) => {
451+
const attachmentKeysEqual =
452+
attachment.image_url === nextMessageAttachments[index].image_url &&
453+
attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&
454+
attachment.thumb_url === nextMessageAttachments[index].thumb_url;
455+
456+
if (isAttachmentEqual)
457+
return (
458+
attachmentKeysEqual && !!isAttachmentEqual(attachment, nextMessageAttachments[index])
459+
);
460+
461+
return attachmentKeysEqual;
462+
})
463+
: prevMessageAttachments === nextMessageAttachments;
465464
if (!attachmentsEqual) return false;
466465

467466
const latestReactionsEqual =

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

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -147,18 +147,17 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
147147
const prevMessageAttachments = prevMessage.attachments;
148148
const nextMessageAttachments = nextMessage.attachments;
149149
const attachmentsEqual =
150-
Array.isArray(prevMessageAttachments) &&
151-
Array.isArray(nextMessageAttachments) &&
152-
prevMessageAttachments.length === nextMessageAttachments.length &&
153-
prevMessageAttachments.every((attachment, index) => {
154-
const attachmentKeysEqual =
155-
attachment.type === 'image'
156-
? attachment.image_url === nextMessageAttachments[index].image_url &&
157-
attachment.thumb_url === nextMessageAttachments[index].thumb_url
158-
: attachment.type === nextMessageAttachments[index].type;
159-
160-
return attachmentKeysEqual;
161-
});
150+
Array.isArray(prevMessageAttachments) && Array.isArray(nextMessageAttachments)
151+
? prevMessageAttachments.length === nextMessageAttachments.length &&
152+
prevMessageAttachments.every((attachment, index) => {
153+
const attachmentKeysEqual =
154+
attachment.image_url === nextMessageAttachments[index].image_url &&
155+
attachment.og_scrape_url === nextMessageAttachments[index].og_scrape_url &&
156+
attachment.thumb_url === nextMessageAttachments[index].thumb_url;
157+
158+
return attachmentKeysEqual;
159+
})
160+
: prevMessageAttachments === nextMessageAttachments;
162161
if (!attachmentsEqual) return false;
163162

164163
const latestReactionsEqual =

0 commit comments

Comments
 (0)