-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Collaboration: Add dedicated database tables for real-time editing #11068
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
josephfusco
wants to merge
86
commits into
WordPress:trunk
Choose a base branch
from
josephfusco:feature/sync-updates-table
base: trunk
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
86 commits
Select commit
Hold shift + click to select a range
317a26e
feat: replace post meta sync storage with dedicated sync_updates table
josephfusco 1bbfc48
Update src/wp-admin/includes/upgrade.php
josephfusco bd80f59
Guard sync route registration against missing table
josephfusco 5fbf56e
Add WP-Cron cleanup for wp_sync_updates table
josephfusco a78fcea
Replace room_hash with human-readable room column in sync_updates table
josephfusco 9535e36
Increase sync_updates cron expiration to 7 days and drop filter
josephfusco 547bc5a
Escape room name in sync permission error message
josephfusco df7b21e
Add tests for cron cleanup, hook registration, and db_version guard
josephfusco 8ed3dd2
Extract awareness transient key into helper with md5 safeguard
josephfusco 42ddcf8
Update tests/phpunit/tests/rest-api/rest-sync-server.php
josephfusco fea5739
Apply suggestions from code review
josephfusco f7d5118
Add maxLength validation for sync room name to match DB column size
josephfusco 4ba33c4
Add wp_is_collaboration_enabled() helper
josephfusco ad6d6ac
Replace inline collaboration checks with wp_is_collaboration_enabled()
josephfusco c67550b
Add E2E tests for collaborative editing
josephfusco fc1a56c
Add production-ready docblocks to collaboration files
josephfusco 255cde9
Refactor collaboration E2E tests to use shared utility helpers
josephfusco 51cd57d
Merge branch 'trunk' into feature/sync-updates-table
josephfusco 3296d5d
Apply suggestion from @westonruter
josephfusco c920b97
Collaboration: Split update_value column into client_id, type, and data.
josephfusco 8d780c2
Merge branch 'feature/sync-updates-table' of https://github.com/josep…
josephfusco ceccbb4
Tests: Add storage-layer round-trip test for sync_updates column split.
josephfusco 8b71153
Apply suggestion from @westonruter
josephfusco d1f8026
Collaboration: Restore update_value as opaque blob in sync_updates ta…
josephfusco 90a7ced
Update src/wp-includes/collaboration/class-wp-sync-table-storage.php
josephfusco 42839ac
Collaboration: Add data integrity proof for sync compaction.
josephfusco 5e9c908
Merge branch 'trunk' into feature/sync-updates-table
josephfusco 72df885
Update src/wp-includes/collaboration/class-wp-sync-table-storage.php
josephfusco 5ed5a6b
Collaboration: Remove wp_sync_storage filter for v1.
josephfusco 97f346c
Collaboration: Use production compaction threshold in data integrity …
josephfusco 33666e1
Collaboration: Resolve merge conflict and update data integrity proof.
josephfusco 183a367
Collaboration: Add sync table performance benchmark
josephfusco a5b54b0
Collaboration: Clean up sync benchmark output and remove dead code
josephfusco 29a6d4c
Merge branch 'WordPress:trunk' into feature/sync-updates-table
josephfusco 8560568
Collaboration: Rename database table and storage layer from sync to c…
josephfusco c287bf1
Collaboration: Rename server class and add deprecated wp-sync/v1 rout…
josephfusco 44caa1f
Collaboration: Rename cron cleanup function and hooks
josephfusco 62ed487
Collaboration: Rename tests and add deprecated route coverage
josephfusco f5eb971
Collaboration: Rename benchmark scripts and directory
josephfusco 9007146
Collaboration: Add collaboration route fixtures to REST API schema test
josephfusco 7a55168
Collaboration: Improve deprecated wp-sync/v1 route documentation
josephfusco e7fd1cd
Collaboration: Rename remaining sync references in server class
josephfusco 7633b37
Collaboration: Rename awareness transient key prefix
josephfusco 66927e5
Collaboration: Rename benchmark function prefix and labels
josephfusco 3c41343
Collaboration: Replace remaining sync terminology in comments and str…
josephfusco 8fb1eda
Rename test method names from sync to collaboration
josephfusco fa30d7b
Rename data loss proof script for clarity
josephfusco ff1e948
Update src/wp-includes/collaboration/class-wp-http-polling-collaborat…
josephfusco b9d7b1a
Update tests/phpunit/tests/rest-api/rest-collaboration-server.php
josephfusco 90e9566
Update src/wp-includes/collaboration/class-wp-http-polling-collaborat…
josephfusco de3d356
Fix collaboration E2E tests failing due to inline script timing
josephfusco 5296238
Replace progress bar with log lines in data loss proof script
josephfusco 04151d5
Merge branch 'trunk' into feature/sync-updates-table
josephfusco 41c4227
Use atomic upsert for per-client awareness rows
josephfusco 9572d14
Remove write side effects from awareness read path
josephfusco b2a26bc
Clean up awareness implementation details
josephfusco 1010f37
Refactor awareness to per-client storage rows
josephfusco cd67aef
Add wp_awareness table and clean up wp_collaboration schema
josephfusco cdf364f
Move awareness storage operations to wp_awareness table
josephfusco 2cb8b53
Update collaboration tests for awareness table split
josephfusco 593deca
Add wp_user_id column to wp_awareness table
josephfusco 3d4043f
Promote wp_user_id from awareness blob to column
josephfusco 99f351c
Add default values to collaboration and awareness schema columns
josephfusco 83d81e9
Limit room column to varchar($max_index_length) for utf8mb4 index com…
josephfusco 4244655
Merge branch 'trunk' into feature/sync-updates-table
josephfusco 0166643
Fix presence e2e test locators and leave-detection timing
josephfusco dea2672
Tighten awareness PHPDoc types with phpstan type aliases
josephfusco e022380
Use is_array() for awareness state validation instead of json_last_er…
josephfusco 55e94de
Update src/wp-includes/collaboration/class-wp-collaboration-table-sto…
josephfusco dcc1da8
Merge branch 'feature/sync-updates-table' of https://github.com/josep…
josephfusco 3388e7e
Fix PHPCS equals sign alignment in collaboration tests
josephfusco 6a57da5
Bump db_version to 61700 for awareness schema changes
josephfusco d15ef62
Fix room maxLength mismatch and add collaboration test coverage
josephfusco 2d1f4ad
Move room length validation to REST schema and add boundary test
josephfusco bb00912
Fix @ticket annotations to use correct Trac ticket 64696
josephfusco 7eab11e
Merge branch 'trunk' into feature/sync-updates-table
josephfusco 0a7c6be
Bump db_version to 61834 for collaboration schema changes
josephfusco 8ce0822
Collaboration: Merge MAX and COUNT into a single snapshot query
josephfusco 0d77c08
Collaboration: Deduplicate awareness query for client_id ownership check
josephfusco f27568a
Collaboration: Add composite index for awareness room+created_at query
josephfusco 8f64268
Tests: Add idle poll query count assertion for collaboration endpoint
josephfusco 540a003
Collaboration: Simplify benchmark output and fix stale EXPLAIN queries
josephfusco 93adae4
Collaboration: Fix labels and add table verification to data loss proof
josephfusco 80ed666
Collaboration: Replace leftover sync terminology in comments
josephfusco 3a0d1e4
Collaboration: Harden storage layer and REST schema
josephfusco a178258
Collaboration: Gate db_error on WP_DEBUG and fix JSON decode inconsis…
josephfusco File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.