Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/pages/docs/messages/updates-deletes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,10 @@ To append data to an existing message, use the `appendMessage()` method on a RES

The message is identified by its `serial`, which is populated by Ably. To append to a message, you need its serial - you can get this either from the return value of `publish()`, from a received message via subscription, or by querying history.

<Aside data-type="note">
If you are publishing appends at a high rate, use a [Realtime](/docs/api/realtime-sdk) client rather than [REST](/docs/api/rest-sdk). A Realtime client maintains a persistent connection to the Ably service, allowing you to publish at high message rates with low latencies while preserving [message delivery order](/docs/platform/architecture/message-ordering). For more information, see [Realtime and REST](/docs/basics#realtime-and-rest).
</Aside>

When Ably receives an append, it concatenates the provided data with the current latest version to calculate a full (non-incremental) version of the message. That version (with an action of `message.update`) is then used in contexts like [History](/docs/storage-history/history) and [rewind](/docs/channels/options/rewind), so that when using those APIs, you will always receive complete messages without needing to do any concatenation yourself, and can specify e.g. `rewind=10` to get the most recent 10 full, distinct messages.

### Comparison with update
Expand Down