import type { IMessage } from '@rocket.chat/core-typings'; import { MessageTypes } from '@rocket.chat/message-types'; import { dispatchToastMessage } from '../../toast'; import type { ChatAPI } from '../ChatAPI'; export const processMessageEditing = async ( chat: ChatAPI, message: Pick & Partial>, previewUrls?: string[], ): Promise => { const mid = chat.currentEditingMessage.getMID(); if (!mid) { return false; } if (MessageTypes.isSystemMessage(message)) { return false; } if (!message.msg && !message.attachments?.length && !message.content) { return false; } try { await chat.data.updateMessage({ ...message, _id: mid }, previewUrls); } catch (error) { dispatchToastMessage({ type: 'error', message: error }); } chat.currentEditingMessage.stop(); return true; };