Skip to content

Distributed Editing: An alternative to RTC#79602

Open
dmsnell wants to merge 280 commits into
trunkfrom
add/distributed-editing
Open

Distributed Editing: An alternative to RTC#79602
dmsnell wants to merge 280 commits into
trunkfrom
add/distributed-editing

Conversation

@dmsnell

@dmsnell dmsnell commented Jun 26, 2026

Copy link
Copy Markdown
Member

Testing and early previews. Entirely generated by Codex.

Pairs with WordPress/wordpress-develop#12334

Codex and others added 30 commits May 13, 2026 15:27
# Conflicts:
#	test/e2e/specs/editor/various/distributed-editing-status-chrome.spec.js
Codex added 5 commits June 6, 2026 23:18
Add the authorship focus overlay and editor state wiring so hovering a presence avatar can dim unrelated document regions while preserving collaborative transparency.

Update DE-RTC status and review surfaces to keep Save-centered copy and avoid reviving the forbidden Get latest/export loops in normal editor chrome.

Verified with git diff --check. Targeted Gutenberg unit suites were run and currently expose stale expectations around removed Get latest/export UI and descriptor-key privacy assertions; those failures are recorded for follow-up instead of restoring forbidden UI.
Keep the presence caterpillar details panel open while the pointer is over either the avatar row or the details surface, and use stable attribution identity for hover/focus state so polling refreshes do not close or retarget the panel.

Verified with npm exec -- eslint packages/editor/src/components/distributed-editing-status/index.js and the root npm run test:de-rtc-browser:presence-hover-panel smoke against localhost:3880.
Make review-required retry-save status notices use Gutenberg's built-in dismissible Notice UI with an 8s local auto-dismiss, so messages such as "Safe parts saved" do not obstruct the editor.

The dismissal is deliberately local chrome state only: it does not mutate DE-RTC save, pending-review, or retry-save state. Covered by focused status-surface tests for manual close, auto-dismiss, and changed notice reappearance.
Render a perceptual activity ring around each presence caterpillar avatar, including author-level remote sessions. The ring now has visible button-level annular paint plus an overlay layer, so it is not hidden behind the avatar image.

Add unit coverage for active, uncertain, idle, abandoned, unknown, timer-driven, and author-level presence rows. The hypothesis tested was that the prior proof only verified DOM state; this commit makes the activity state explicit in the component and covers the role-specific author case.
Only render risky-block review UI when actionable pending review items are visible to the current editor. Carry partial-safe-merge state through the distributed editing retry-save descriptor so Safe parts saved is scoped to actual partial review-required saves, and avoid reopening the pre-publish panel for stale count-only review state.

Adds review item timeline details and targeted editor/store coverage.
@github-actions

Copy link
Copy Markdown

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.

Unlinked Accounts

The following contributors have not linked their GitHub and WordPress.org accounts: @codex@openai.local, @codex@localhost.

Contributors, please read how to link your accounts to ensure your work is properly credited in WordPress releases.

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

Unlinked contributors: codex@openai.local, codex@localhost.


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

@github-actions

Copy link
Copy Markdown

Warning: Type of PR label mismatch

To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.

  • Required label: Any label starting with [Type].
  • Labels found: .

Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task.

2 similar comments
@github-actions

Copy link
Copy Markdown

Warning: Type of PR label mismatch

To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.

  • Required label: Any label starting with [Type].
  • Labels found: .

Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task.

@github-actions

Copy link
Copy Markdown

Warning: Type of PR label mismatch

To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.

  • Required label: Any label starting with [Type].
  • Labels found: .

Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task.

@github-actions github-actions Bot added [Package] Core data /packages/core-data [Package] Components /packages/components [Package] Editor /packages/editor [Package] Block library /packages/block-library [Package] Block editor /packages/block-editor [Package] Edit Post /packages/edit-post [Package] Edit Site /packages/edit-site labels Jun 26, 2026
@github-actions github-actions Bot added [Package] Private APIs /packages/private-apis [Package] Fields /packages/fields [Package] Sync labels Jun 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Package] Block editor /packages/block-editor [Package] Block library /packages/block-library [Package] Components /packages/components [Package] Core data /packages/core-data [Package] Edit Post /packages/edit-post [Package] Edit Site /packages/edit-site [Package] Editor /packages/editor [Package] Fields /packages/fields [Package] Private APIs /packages/private-apis [Package] Sync

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant