Skip to content

Appends: note about append on a new attachment, remove note about continuous history not being supported yet#3277

Merged
SimonWoolf merged 1 commit intomainfrom
append-history
Mar 23, 2026
Merged

Appends: note about append on a new attachment, remove note about continuous history not being supported yet#3277
SimonWoolf merged 1 commit intomainfrom
append-history

Conversation

@SimonWoolf
Copy link
Member

Continuous history is now fully supported. And note about the change in append semantics I made (AITDR-006).

(not for merging until next week's prod deploy)

@SimonWoolf SimonWoolf requested a review from m-hulbert March 13, 2026 15:28
Copy link
Contributor

@m-hulbert m-hulbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with a minor suggestion.


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.

The first append you receive for a given message on an attachment is delivered as a fully-aggregated `message.update`, so that you don't need to reach into history to discover the full prior state of the message. You can then just concatenate the payloads of any subsequent `message.append`s for that message onto that first one to get the full payload. (And the server may at any time deliver an append as a `message.update` with the full rolled-up payload).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest dropping the brackets (and replace "and the server" with "Ably") on the final sentence since they need to handle this in their app.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@m-hulbert m-hulbert added the Do not merge When the PR is in progress do not merge label Mar 13, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 13, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 804e7e76-32a5-4825-bcb4-94cd9d154b9f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch append-history

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@SimonWoolf SimonWoolf enabled auto-merge March 23, 2026 15:51
@SimonWoolf SimonWoolf merged commit 882c873 into main Mar 23, 2026
6 of 7 checks passed
@SimonWoolf SimonWoolf deleted the append-history branch March 23, 2026 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Do not merge When the PR is in progress do not merge

Development

Successfully merging this pull request may close these issues.

2 participants