fix: 实时消息未更新导致引用显示错误

dev/code-splitting
Lei OT 2 years ago
parent 25da634234
commit 3f56f5034d

@ -75,7 +75,7 @@ export const sentMsgTypeMapped = {
renderId: msg.id,
to: msg.to,
msgtype: 'text',
msgcontent: { body: msg.text, preview_url: true, ...(msg.context ? { context: msg.context, message_origin: msg.message_origin.msgOrigin } : {}) },
msgcontent: { body: msg.text, preview_url: true, ...(msg.context ? { context: msg.context, message_origin: msg.message_origin?.msgOrigin || msg.message_origin } : {}) },
}),
contentToRender: (msg) => ({
...msg,
@ -570,6 +570,7 @@ export const parseRenderMessageList = (messages) => {
: {}),
titleColor: msg.messageorigin_AsJOSN?.customerProfile?.name ? '#a791ff' : "#128c7e",
// titleColor: msg.messageorigin_direction === 'inbound' ? '#a791ff' : "#128c7e",
id: msgContent.context?.id || msgContent?.message_id || msgContent.reaction?.message_id,
},
origin: msg.messageorigin_AsJOSN,
}),

@ -242,8 +242,10 @@ const messageSlice = (set, get) => ({
if (ele.id === ele.actionId && ele.actionId === message.actionId) {
return { ...ele, id: message.id, status: ele.status === 'read' ? ele.status : message.status, dateString: message.dateString };
} else if (ele.id === message.id) {
// console.log('old msg ele', ele);
const renderStatus = message?.data?.status ? { status: { ...ele.data.status, loading: 0, download: true } } : {};
return { ...ele, id: message.id, status: ele.status === 'read' ? ele.status : message.status, dateString: message.dateString, data: { ...ele.data, ...renderStatus } };
const keepReply = ele.reply ? { reply: ele.reply } : {};
return { ...ele, ...message, id: message.id, status: ele.status === 'read' ? ele.status : message.status, dateString: message.dateString, data: { ...ele.data, ...renderStatus }, ...keepReply };
}
return ele;
});

Loading…
Cancel
Save