Skip to content

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

Open
SimonWoolf wants to merge 1 commit intomainfrom
append-history
Open

Appends: note about append on a new attachment, remove note about continuous history not being supported yet#3277
SimonWoolf wants to merge 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: 5473cc4e-b0b2-4632-aaab-ba53071eb7a5

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
  • Post copyable unit tests in a comment
  • Commit unit tests in branch append-history
📝 Coding Plan
  • Generate coding plan for human review comments

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.

Tip

Migrating from UI to YAML configuration.

Use the @coderabbitai configuration command in a PR comment to get a dump of all your UI settings in YAML format. You can then edit this YAML file and upload it to the root of your repository to configure CodeRabbit programmatically.

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