4 min readUpdated Jan 20, 2025

Ably Chat updates: Introducing message editing and deletion, PLUS support for Android and iOS

Ably Chat updates: Introducing message editing and deletion, PLUS support for Android and iOS
Faye McClenahanFaye McClenahan

We're happy to announce the release of message editing and deletion in our Javascript and React SDKs and within our NEW iOS and Android SDKs for Ably Chat. These additions will enable the development of richer chat experiences and simplify the development of cross-platform chat applications.

New features & benefits at a glance

  • Message Editing & Deletion: Users can edit and delete messages within their chat applications, ensuring greater control and accuracy in communication. This enhances the user experience by enabling them to refine their messages and manage their chat history effectively.
  • Cross-Platform Compatibility: The Chat SDK supports JavaScript, React, Kotlin, and Swift, enabling developers to create chat experiences across multiple platforms. All core chat features are available across all supported platforms, including creating various chat rooms (1:1, 1:many, many:many), sending and receiving messages, typing indicators, presence features (with batching for up to 20k users), occupancy indicators, and room reactions.
  • Improved developer velocity: with less code to write and maintain or the need to host stateful infrastructure separately get your chat application to market faster.

Message editing and deletion

The ability to edit and delete messages is a crucial feature for modern chat applications in use cases ranging from livestreams to customer support, including those integrating moderation tools. It allows users to correct mistakes, remove sensitive information, and maintain a clean and organized conversation history.

This is all now possible with Ably Chat. In just a few lines of code, chat applications can enable users to interact with previously published messages, with any updates made to be visible to all other users in realtime.

Code sample: Editing a message with Ably Chat

const updatedMessage = await room.messages.update(
  message,
  {
    text: 'hello, this is edited',
  },
  {
    description: 'edit example',
  },
);

Use cases for editing and deletion

The ability to edit and delete messages is a powerful tool for in-app chat users. Here are a couple of examples showcasing why they are an essential feature for chat experiences.

Moderation for live streaming chat
Audiences and fans want to feel part of the action and engage with streamers and content creators. Live streaming chat allows viewers to interact with the streamer and other viewers in realtime. In this context, it's important to curate a positive, friendly environment - which has placed growing importance on being able to moderate messages sent.

In this scenario, Ably Chat’s edit and delete feature enables a moderator to delete an offensive message - before it is published in the chat.

Support chat
Mistakes happen. Whether it's a simple typo or a more serious error, a poorly worded message can negatively cause embarrassment, impact customer satisfaction and damage a company's reputation. Imagine the consequences of accidentally sending an inappropriate emoji or disclosing sensitive information to a prospect or customer.

In this scenario, Ably Chat’s edit and delete feature enables a support agent to correct a spelling mistake.

Android and iOS now supported enabling cross-platform development

Echoing an earlier sentiment, the main goal of Ably Chat is to make the development of high performing, scalable chat applications as straightforward as possible. That includes building consistent, cross-platform, experiences with the same codebase. We're therefore delighted to announce that we have expanded our language support, which now includes a Kotlin Chat SDK for Android and a Swift Chat SDK for iOS. This adds to our existing support for JavaScript and React with feature parity across all platforms.

Code sample: sending and receiving messages across platforms with Ably Chat

Javascript sending a message:

await room.messages.send({ text: 'Hello world! I'm a JS SDK!' });

Kotlin receiving and responding:

room.messages.subscribe { message: Message ->
    room.messages.send(text = "Hello world! I'm a Kotlin SDK!")
}

Swift receiving and responding:

let messagesSubscription = try await room.messages.subscribe()
for await message in messagesSubscription {
    try await room.messages.send(params: .init(text: "Hello world! I'm a Swift SDK!"))
}

Get started with Ably Chat

There are many more exciting features in the pipeline, including support for chat message moderation, message batching, reactions and read receipts. Sign up for a free developer account and start building today.

Join the Ably newsletter today

1000s of industry pioneers trust Ably for monthly insights on the realtime data economy.
Enter your email