Skip to content

Conversation

@chriszarate
Copy link
Contributor

@chriszarate chriszarate commented Oct 30, 2025

What?

Fix the inspection of persisted CRDT documents to correctly detect changes. Add type safety and tests to prevent recurrence.

Why?

  • Bug 1 accidentally nested CRDT document meta in a meta property. As a result, persisted CRDT documents were not correctly identified as being from persistence, resulting in incorrect merge behavior and CRDT document invalidation.
  • Bug 2 incorrectly merged some "floating dates," which meant that some persisted CRDT documents were incorrectly invalidated.

How?

  • Provide the CRDT document meta correctly.
    • Introduce a type that will prevent this bug in the future.
  • Do not merge "floating dates."
  • Add tests to cover the functions in question.

@github-actions
Copy link

github-actions bot commented Oct 30, 2025

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: chriszarate <czarate@git.wordpress.org>
Co-authored-by: maxschmeling <maxschmeling@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@chriszarate chriszarate added [Feature] Real-time Collaboration Phase 3 of the Gutenberg roadmap around real-time collaboration [Type] Experimental Experimental feature or API. labels Oct 30, 2025
@chriszarate chriszarate force-pushed the fix/persisted-crdt-doc-meta branch from 37e9aa2 to 998f12f Compare October 31, 2025 16:23
@chriszarate chriszarate requested a review from nerrad as a code owner October 31, 2025 16:23
Co-authored-by: Max Schmeling <max@maxschmeling.com>
@chriszarate chriszarate merged commit 8235970 into wpvip/rtc-plugin Oct 31, 2025
33 checks passed
@chriszarate chriszarate deleted the fix/persisted-crdt-doc-meta branch October 31, 2025 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Feature] Real-time Collaboration Phase 3 of the Gutenberg roadmap around real-time collaboration [Type] Experimental Experimental feature or API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants