diff --git a/src/components/Chat/ChatGroup.tsx b/src/components/Chat/ChatGroup.tsx index be0f7c4..a0efe00 100644 --- a/src/components/Chat/ChatGroup.tsx +++ b/src/components/Chat/ChatGroup.tsx @@ -299,17 +299,15 @@ export const ChatGroup = ({ const formatted = combineUIAndExtensionMsgs .filter((rawItem) => !rawItem?.chatReference) .map((item) => { - const message = ( -

- {t('group:message.generic.group_key_created', { - postProcess: 'capitalizeFirstChar', - })} -

- ); const additionalFields = item?.data === 'NDAwMQ==' // TODO put magic string somewhere in a file ? { - text: message, + text: `

${t( + 'group:message.generic.group_key_created', + { + postProcess: 'capitalizeFirstChar', + } + )}

`, } : {}; return { @@ -450,17 +448,15 @@ export const ChatGroup = ({ const formatted = combineUIAndExtensionMsgs .filter((rawItem) => !rawItem?.chatReference) .map((item) => { - const message = ( -

- {t('group:message.generic.group_key_created', { - postProcess: 'capitalizeFirstChar', - })} -

- ); const additionalFields = item?.data === 'NDAwMQ==' ? { - text: message, + text: `

${t( + 'group:message.generic.group_key_created', + { + postProcess: 'capitalizeFirstChar', + } + )}

`, } : {}; const divide = @@ -818,13 +814,28 @@ export const ChatGroup = ({ ); pauseAllQueues(); if (editorRef.current) { - const htmlContent = editorRef.current.getHTML(); - - if (!htmlContent?.trim() || htmlContent?.trim() === '

') return; + let htmlContent = editorRef.current.getHTML(); + const deleteImage = + onEditMessage && isDeleteImage && messageHasImage(onEditMessage); + const hasImage = + chatImagesToSave?.length > 0 || onEditMessage?.images?.length > 0; + if ( + (!htmlContent?.trim() || htmlContent?.trim() === '

') && + !hasImage && + !deleteImage + ) + return; + if (htmlContent?.trim() === '

') { + htmlContent = null; + } setIsSending(true); const message = - isPrivate === false ? editorRef.current.getJSON() : htmlContent; + isPrivate === false + ? !htmlContent + ? '

' + : editorRef.current.getJSON() + : htmlContent; const secretKeyObject = await getSecretKey(false, true); let repliedTo = replyMessage?.signature; @@ -849,8 +860,6 @@ export const ChatGroup = ({ } const imagesToPublish: ImageToPublish[] = []; - const deleteImage = - onEditMessage && isDeleteImage && messageHasImage(onEditMessage); if (deleteImage) { const fee = await getFee('ARBITRARY'); @@ -931,7 +940,6 @@ export const ChatGroup = ({ [isPrivate ? 'message' : 'messageText']: message, version: 3, }; - const message64: any = await objectToBase64(objectMessage); const encryptSingle = @@ -1042,11 +1050,15 @@ export const ChatGroup = ({ const onEdit = useCallback((message) => { setOnEditMessage(message); setReplyMessage(null); - editorRef.current - .chain() - .focus() - .setContent(message?.messageText || message?.text) - .run(); + try { + editorRef.current + .chain() + .focus() + .setContent(message?.messageText || message?.text || '

') + .run(); + } catch (error) { + console.error(error); + } }, []); const handleReaction = useCallback( diff --git a/src/components/Chat/ChatList.tsx b/src/components/Chat/ChatList.tsx index 305674c..6000fab 100644 --- a/src/components/Chat/ChatList.tsx +++ b/src/components/Chat/ChatList.tsx @@ -280,31 +280,18 @@ export const ChatList = ({ reactions = chatReferences[message.signature]?.reactions || null; - if ( - chatReferences[message.signature]?.edit?.message && - message?.text - ) { + if (chatReferences[message.signature]?.edit) { message.text = chatReferences[message.signature]?.edit?.message; - message.isEdit = true; - message.editTimestamp = - chatReferences[message.signature]?.edit?.timestamp; - } - if ( - chatReferences[message.signature]?.edit?.messageText && - message?.messageText - ) { message.messageText = chatReferences[message.signature]?.edit?.messageText; + message.images = + chatReferences[message.signature]?.edit?.images; + message.isEdit = true; message.editTimestamp = chatReferences[message.signature]?.edit?.timestamp; } - if (chatReferences[message.signature]?.edit?.images) { - message.images = - chatReferences[message.signature]?.edit?.images; - message.isEdit = true; - } } // Check if message is updating @@ -433,14 +420,14 @@ export const ChatList = ({