Make WordPress Core

Opened 5 months ago

Closed 3 months ago

Last modified 2 months ago

#65325 closed defect (bug) (fixed)

Real-time collaboration files have shipped in 7.0

Reported by: johnbillion Owned by: desrosj
Priority: normal Milestone: 7.0.3
Component: Editor Version: 7.0
Severity: minor Keywords: has-patch fixed-major
Cc: Focuses: coding-standards

Description

The real-time collaboration (RTC) files that were removed in #65205 have unintentionally shipped in the 7.0 package due to an issue with the build server not fully removing deleted files.

The wp-includes/collaboration files no longer exist in source control but they are present in ​the package zip file.

The impact is mostly benign as the files are not loaded via wp-settings.php or instantiated anywhere else, but the fact that this happened and nobody noticed it until after the release is a problem.

This is technically a meta issue but as it affects the released 7.0 package let's track it here too.

Status

Impact

I've put this in the 7.0.1 milestone for visibility. I don't know if it's necessary to remove those files in 7.0.1.

Change History (25)

#1 @johnbillion
5 months ago

  • Component General → Editor

#2 @peterwilsoncc
5 months ago

Related commits:

Trunk:

7.0 Branch:

Oddly, running npm run build on wordpress-develop locally before and after the 7.0 branch's commit above does remove the files from the build directory.

r62069 (trunk, "Build/Test Tools: Force run grunt clean --dev before build.") was committed as a followup to r61438. @desrosj I can't see if this was backported, do you think this would resolve the issue reported here?

This ticket was mentioned in ​PR #11959 on ​WordPress/wordpress-develop by ​@khokansardar.


5 months ago
#3

  • Keywords has-patch added

## Summary

  • Adds real-time collaboration files to the $_old_files array in update-core.php so they are removed during core upgrades.
  • Addresses #65325, where RTC files removed in [62334] were unintentionally included in the WordPress 7.0 release package due to a build server issue.
  • The existing verify:old-files Grunt task will also fail builds if these files are present in the build/ directory, preventing recurrence.

## Context

Real-time collaboration was removed from core in #65205 (62334, 62337, 62338 on the 7.0 branch). However, the files still shipped in wordpress-7.0.zip and the WordPress/WordPress 7.0 tag. The impact is mostly benign since the files are not loaded, but they should be cleaned up on upgrade and excluded from future builds.

## Test plan

  • [ ] Verify php -l src/wp-admin/includes/update-core.php passes
  • [ ] Verify PHPCS reports no errors on the changed file
  • [ ] Confirm build/wp-includes/collaboration/ does not exist locally
  • [ ] Run npx grunt verify:old-files as part of a full build in CI
  • [ ] Confirm upgrading from a 7.0.0 install with RTC files to 7.0.1 removes:
    • wp-includes/collaboration.php
    • wp-includes/collaboration/class-wp-http-polling-sync-server.php
    • wp-includes/collaboration/class-wp-sync-post-meta-storage.php
    • wp-includes/collaboration/interface-wp-sync-storage.php

## Backport

This change should be backported to the 7.0 branch for the 7.0.1 milestone.

#4 follow-up: @johnbillion
5 months ago

Affects sync.js and sync.min.js too:

Only in package/wp-includes: collaboration
Only in package/wp-includes: collaboration.php
Only in package/wp-includes/js/dist: sync.js
Only in package/wp-includes/js/dist: sync.min.js

This ticket was mentioned in ​Slack in #core by jorbin. ​View the logs.


4 months ago

​@masteradhoc commented on ​PR #11959:


4 months ago
#6

Hey @itzmekhokan
Can you check the last comment by @johnbillion on core trac? https://core.trac.wordpress.org/ticket/65325#comment:4
We'd like to get this ready for WP 7.0.1 to be included if possible.

​@khokansardar commented on ​PR #11959:


4 months ago
#7

Hey @itzmekhokan Can you check the last comment by @johnbillion on core trac? https://core.trac.wordpress.org/ticket/65325#comment:4 We'd like to get this ready for WP 7.0.1 to be included if possible.

Hey @masteradhoc I've addressed the mentioned feedback.

#8 in reply to: ↑ 4 @khokansardar
4 months ago

Replying to johnbillion:

Affects sync.js and sync.min.js too:

Only in package/wp-includes: collaboration
Only in package/wp-includes: collaboration.php
Only in package/wp-includes/js/dist: sync.js
Only in package/wp-includes/js/dist: sync.min.js

Thanks @johnbillion addressed with commit ​https://github.com/WordPress/wordpress-develop/pull/11959/changes/d8d0bd735f628d33e732643eb8d4834e0cd911fe

#9 @masteradhoc
3 months ago

  • Milestone 7.0.1 → 7.0.2

As the RC for WP 7.0.1 is expected to land tomorrow we'll have to punt this to 7.0.2.

#10 @desrosj
3 months ago

Related: #65565.

#11 @desrosj
3 months ago

In 62644:

Build/Test Tools: Revert [62525].

This temporarily reverts [62525] to see files deleted in develop.svn.wordpress.org that persist core.svn.wordpress.org are modified.

Props johnbillion.
See #65565, #65325, #65418.

#12 @desrosj
3 months ago

I've opened a request on the Make Systems site asking for this to be investigated prior to 7.1 RC1: ​https://make.wordpress.org/systems/2026/07/13/build-server-not-removing-files-from-core-svn-wordpress-org-when-it-should/

#13 @desrosj
3 months ago

The Systems team has fixed the issue on the build server and the missed changes were included in ​changeset 62042 attached to [62758].

I’ve verified that the state of the core.svn.w.org repository after ​62042 is correct. All of the files that should be present are, and all of the files that should have been deleted are now gone.

I also confirmed that the 7.1-beta1 release is in the correct state.

Because they shipped in WordPress, these real-time collaboration related files should likely still be added to the $_old_files list.

This ticket was mentioned in ​Slack in #core by johnbillion. ​View the logs.


3 months ago

#15 @desrosj
3 months ago

  • Owner set to desrosj
  • Resolution → fixed
  • Status new → closed

In 62777:

General: Update $_old_files list for 7.0.2.

The files being added to $_old_files in this change were previously removed in [62334] and [62337]. However, they remained in the core.svn.wordpress.org repository due to a bug on the build server. That has been fixed and the files have been removed as expected, so they must be added to the list of old files.

Props johnbillion, jorbin, desrosj, sergeybiryukov.
Fixes #65325.

#16 @desrosj
3 months ago

  • Focuses coding-standards added
  • Keywords fixed-major added
  • Resolution fixed
  • Status closed → reopened

#17 @desrosj
3 months ago

  • Resolution → fixed
  • Status reopened → closed

In 62778:

General: Update $_old_files list for 7.0.2.

The files being added to $_old_files in this change were previously removed in [62334] and [62337]. However, they remained in the core.svn.wordpress.org repository due to a bug on the build server. That has been fixed and the files have been removed as expected, so they must be added to the list of old files.

Backports [62777] to the 7.0 branch.

Props johnbillion, jorbin, desrosj, sergeybiryukov, peterwilsoncc, khokansardar.
Fixes #65325.

#18 @desrosj
3 months ago

In 62779:

General: Update $_old_files list, take 2.

This adds one more file to the $_old_files list that should be included.

Props barry, johnbillion, jorbin, desrosj.
See #65325.

#19 @desrosj
3 months ago

In 62780:

General: Update $_old_files list, take 2.

This adds one more file to the $_old_files list that should be included.

Merges [62779] to the 7.0 branch.

Props barry, johnbillion, jorbin, desrosj.
See #65325.

#20 @desrosj
3 months ago

In 62781:

General: Explicitly delete wp-includes/collaboration.

The contents of the src/wp-includes/collaboration directory were removed in [62337]. However, SVN requires the directory to also be deleted.

Props barry, johnbillion, jorbin, desrosj, sergeybiryukov.
See #65325, #65205.

#21 @desrosj
3 months ago

In 62782:

General: Periods and commas are not the same.

Follow up to [62777].

Props johnbillion, jorbin, desrosj.
See #65325, #65205.

#22 @desrosj
3 months ago

In 62783:

General: Note files that were readded for 7.1.

Props johnbillion, jorbin, desrosj, barry.
See #65325, #65205.

#23 @desrosj
3 months ago

In 62785:

General: Periods and commas are not the same.

Follow up to [62777].

Merges [62782] to the 7.0 branch.

Props johnbillion, jorbin, desrosj.
See #65325, #65205.

#24 @jorbin
3 months ago

  • Milestone 7.0.2 → 7.0.3

#25 @desrosj
2 months ago

In 63032:

Upgrade/Install: Correct $_old_files ordering for accuracy.

The wp-includes/js/dist/sync.js and wp-includes/js/dist/sync.min.js files were removed in 7.0.2 and added to the $_old_files list (see [62778]), but they are present again in trunk.

[62783] marked these files as reintroduced, but this comment should be moved above the file list added for 7.1.

Follow up to [62777], [62783], [63031].

See #65813, #65325.

Note: See TracTickets for help on using tickets.