Opened 4 months ago
Last modified 13 days ago
#65138 new task (blessed)
RTC: Real-time collaboration bug sprint for 7.0, 7.1 and 7.2
| Reported by: | dmsnell | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 7.2 |
| Component: | Posts, Post Types | Version: | 7.0 |
| Severity: | normal | Keywords: | has-patch has-unit-tests gutenberg-merge |
| Cc: | Focuses: | tests |
Description (last modified by )
As part of a project to uncover latent bugs using an AI-assisted fuzzer, this ticket is tracking work to find and address bugs in the version of real-time collaborative editing in WordPress 7.0, 7.1 and 7.2.
Work in this ticket should be addressing existing bugs and propose only fixes to those bugs for the 7.0, 7.1 and 7.2 releases.
Change History (19)
This ticket was mentioned in PR #11660 on WordPress/wordpress-develop by @dmsnell.
4 months ago
#1
- Keywords has-patch has-unit-tests added
@dmsnell commented on PR #11660:
4 months ago
#3
thanks @apermo — for now this is still a draft and mainly here to backport an upstream change in Gutenberg. I didn’t want to change the patch yet; just preserve what’s on the other side so tests can run and all.
I think you have good feedback; the original code was created by LLMs and that’s why it seems confused and split-brained.
#4
@
4 months ago
@dmsnell Will this race condition still be relevant if the architecture moves towards tables/transients instead?
This ticket was mentioned in PR #11691 on WordPress/wordpress-develop by @dmsnell.
4 months ago
#5
Trac ticket: Core-65138
This is a companion change to wordpress/gutenberg#77865.
An interaction with autosave can cause posts and revisions to get lost even when a single user is editing a post.
#7
@
4 months ago
- Keywords dev-feedback added
Adding dev-feedback for backport of [62311] into 7.0. It is merged into Gutenberg and merged into trunk.
#8
@
4 months ago
@desrosj we have a few hundred identified bugs and are grouping them in this ticket. at least most of them would remain after a change to transients or a table.
This ticket was mentioned in Slack in #core by jorbin. View the logs.
4 months ago
#10
@
4 months ago
- Keywords fixed-major dev-reviewed added; dev-feedback removed
[62311] looks good for backport to 7.0
@dmsnell It may make sense to open separate tickets for each issue, otherwise the keywords are going to get tricky and it may be easy to miss some backports.
#11
@
4 months ago
thanks @jorbin — would there be another way I could create or prep a backport rather than creating a bunch of Trac tickets? I can see where some things would be very much clearer with a separate one, but already we’re talking about two PRs and a Trac ticket for each of these bugs, and they are all basically just things that appear in testing the collaborative editing.
I’ll try and keep up with all the accounting; but if we can figure out a way that meets everyone’s needs without it, that would give that time back to finding and fixing the bugs before the release.
@dmsnell commented on PR #11691:
4 months ago
#12
#13
@
4 months ago
- Keywords fixed-major dev-reviewed removed
In light of the decision to not ship RTC, I am withdrawing my review for backporting and noting that this needs to be reverted.
#15
@
4 months ago
Removing trunk version as this is not going to be shipped with WP 7.0 but in the next releases.
#16
@
4 months ago
- Summary RTC: Real-time collaboration bug sprint for 7.0 → RTC: Real-time collaboration bug sprint for 7.1
- Type defect (bug) → task (blessed)
#17
@
7 weeks ago
With RTC no longer planned for 7.1, it seems we could either punt or close this depending on the status.
@dmsnell What's the latest on this?
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)
Trac ticket: Core-65138
Backport of https://github.com/WordPress/gutenberg/pull/77675
A race condition on opening an editor session allows for Core to create duplicate post meta for sync storage. This creates two copies of the document which the editors operate on independently, leading to a mismatch between the sessions.
In this patch, when such a duplicate storage row is detected, a canonical version of the post meta is chosen (the one with the lowest id viz. the oldest one) and the duplicate is merged into it.
This should ensure that all edit sessions for a given post use the same synchronized backing store.
Trac ticket:
## Use of AI Tools