Edit text and custom messages using the CometChat JavaScript SDK.
AI Integration Quick Reference
Report incorrect code
Copy
Ask AI
// Edit a text messageconst textMessage = new CometChat.TextMessage(receiverID, "Updated text", receiverType);textMessage.setId(messageId);await CometChat.editMessage(textMessage);// Listen for real-time editsCometChat.addMessageListener("edits", new CometChat.MessageListener({ onMessageEdited: (message) => console.log("Edited:", message)}));
Editing a message is straightforward. Receiving edit events has two parts:
Adding a listener for real-time edits when your app is running
try { let receiverID = "RECEIVER_UID"; let messageText = "Hello world!"; let receiverType = CometChat.RECEIVER_TYPE.USER; let messageId = "MESSAGE_ID_OF_THE_MESSAGE_TO_BE_EDITED"; let textMessage = new CometChat.TextMessage(receiverID, messageText, receiverType); textMessage.setId(messageId); const message = await CometChat.editMessage(textMessage); console.log("Message Edited", message);} catch (error) { console.log("Message editing failed with error:", error);}
The edited message object is returned with editedAt (timestamp) and editedBy (UID of editor) fields set.The editMessage() method returns a BaseMessage object (or a subclass like TextMessage). Access the response data using getter methods:
Always remove message listeners when they’re no longer needed (e.g., on component unmount or page navigation). Failing to remove listeners can cause memory leaks and duplicate event handling.
When fetching message history, edited messages have editedAt and editedBy fields set. Additionally, an Action message is created when a message is edited.The Action object contains:
action — edited
actionOn — Updated message object
actionBy — User who edited the message
actionFor — Receiver (User/Group)
You must be the message sender or a group admin/moderator to edit a message.