Skip to content

Notes: Only let a reaction's author delete it - #85415

Merged
Mamaduka merged 6 commits into
trunkfrom
fix/notes-reaction-delete-permissions
Nov 3, 2026
Merged

Mamaduka merged 6 commits into
trunkfrom
fix/notes-reaction-delete-permissions

Conversation

@adamsilverstein

Copy link
Copy Markdown
Member

What?

Follow up to #76767. Tightens who can remove a note reaction, and keeps the reaction tooltip's names in step with its count.

Why?

These came up as Copilot findings on #83538 and also apply to trunk now that #76767 has landed:

  • Deleting a reaction fell through to core's generic comment check, so an editor or administrator (anyone with moderate_comments or edit_comment) could remove another user's reaction.
  • Creating a reaction on a resolved thread is already rejected, but removing one was not, so a stale tab could still change a resolved thread.
  • The pill tooltip fetched reactions with status: 'all', while reaction_summary only counts approved rows.

How?

  • Override delete_item_permissions_check() in the 7.2 comments controller: after core's check passes, a reaction can only be deleted by its author, and not while its thread is resolved. Both return rest_cannot_delete.
  • Move the thread-root walk out of create_item() into an is_in_resolved_thread() helper so create and delete share it.
  • Query status: 'approve' for the tooltip names.

Testing Instructions

PHPUnit covers the new rules in phpunit/experimental/class-wp-rest-comments-controller-gutenberg-test.php:

  • test_can_delete_own_reaction
  • test_cannot_delete_another_users_reaction (administrator and editor)
  • test_cannot_delete_reaction_on_resolved_thread (root note and reply)

The tests landed in their own first commit; the Unit Tests run on that commit alone fails them, and they pass with the fix.

Manual check:

  1. As user A, add a note to a post and react to it with ❤️.
  2. As an administrator (user B), try to delete A's reaction: wp.apiFetch( { path: '/wp/v2/comments/<reaction id>?force=true', method: 'DELETE' } ). Expect a 403 rest_cannot_delete.
  3. As A, resolve the thread, then try to remove your own reaction the same way. Expect a 403.
  4. Reopen the thread; removing your reaction works again.

AI Use

Claude Code wrote the code and this description, with me pointing it at the review findings. I will review and test.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LvpAdxaahosj8kTQtm3NXW

@adamsilverstein adamsilverstein added [Type] Bug An existing feature does not function as intended [Feature] Notes Phase 3 of the Gutenberg roadmap around block commenting labels Oct 22, 2026
@github-actions github-actions Bot added the [Package] Editor /packages/editor label Oct 22, 2026
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

🤖 PR meta 🤖

Preview in WordPress Playground

🎉 Props

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: adamsilverstein <adamsilverstein@git.wordpress.org>
Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: ramonjd <ramonopoly@git.wordpress.org>

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


Props Bot commands

You can trigger Props Bot actions by commenting on this PR:

  • @propsbot add <username> to give props to a GitHub user. Requires write access.
  • @propsbot remove <username> to leave a user out of the props. Requires write access.
  • @propsbot refresh to refresh this list. Adding the props-bot label works too.

Updated as activity occurs, without notifying anyone named here. Add the props-bot label to refresh.

📦 Bundle size

Size Change: +3 B (0%)

Total Size: 8.58 MB

📦 View Changed
Filename Size Change
build/scripts/editor/index.min.js 559 kB +3 B (0%)

6febc53 Run

⚡ Performance

Show the results

Client side metrics exclude the server response time.

front-end-block-theme

Metric 015fed1 trunk % Change
timeToFirstByte 35.65 ms +21.32% -3.79% 34.7 ms +4.61% -2.31% 2.74%
largestContentfulPaint 64 ms +6.25% -6.25% 62 ms +3.23% -3.23% 3.23%
lcpMinusTtfb 25.7 ms +11.67% -4.09% 25.75 ms +13.98% -4.85% -0.19%
wpBeforeTemplate 18.68 ms +24.04% -3.1% 18.11 ms +7.07% -2.15% 3.15%
wpTemplate 13.65 ms +18.17% -2.27% 13.43 ms +4.32% -3.72% 1.64%
wpTotal 32.42 ms +22.05% -3.39% 31.61 ms +5.06% -2.28% 2.56%
wpMemoryUsage 7.71 MB +0% -0% 7.67 MB +0% -0% 0.45%
wpDbQueries 16 +0% -0% 16 +0% -0% 0%

front-end-classic-theme

Metric 015fed1 trunk % Change
timeToFirstByte 30.4 ms +8.88% -2.96% 27.05 ms +9.24% -4.44% 12.38%
largestContentfulPaint 68 ms +5.88% -0% 60 ms +6.67% -0% 13.33%
lcpMinusTtfb 38.1 ms +2.89% -1.31% 32.75 ms +7.18% -2.75% 16.34%
wpBeforeTemplate 16.57 ms +11.23% -3.5% 16.6 ms +12.11% -3.67% -0.18%
wpTemplate 11.18 ms +2.86% -7.42% 7.84 ms +8.16% -6.89% 42.6%
wpTotal 27.84 ms +8.87% -3.41% 24.52 ms +10.32% -4.32% 13.54%
wpMemoryUsage 6.40 MB +0% -0% 6.25 MB +0% -0% 2.35%
wpDbQueries 13 +0% -0% 9 +0% -0% 44.44%

media-processing

Metric 015fed1 trunk % Change
mediaProcessingJpeg 224.8 ms +4.72% -1.29% 235.95 ms +0.98% -2.61% -4.73%
mediaProcessingAvif 3663.76 ms +0.34% -0.41% 3746.08 ms +1.47% -1.75% -2.2%
mediaProcessingJpegToAvif 2558.97 ms +0.3% -1.78% 2607.9 ms +3.48% -2.5% -1.88%

media-upload

Metric 015fed1 trunk % Change
jpegUploadProcessing 1421.64 ms +1.48% -0.67% 1407.72 ms +2.2% -0.91% 0.99%
pngUploadProcessing 184.34 ms +0.89% -5.54% 183.59 ms +5.11% -2.13% 0.41%
largeJpegUploadProcessing 1404.83 ms +0.43% -0.62% 1430.07 ms +0.65% -0.55% -1.76%
multipleImageUploadProcessing 1470.76 ms +0.75% -0.54% 1443.92 ms +1.26% -0.42% 1.86%

post-editor

Metric 015fed1 trunk % Change
serverResponse 413.09 ms +1.49% -5.52% 372.88 ms +10.15% -1.59% 10.78%
firstPaint 372.21 ms +7.71% -2.47% 336.71 ms +6.65% -9.17% 10.54%
domContentLoaded 840.07 ms +2.64% -1.71% 825.51 ms +1.68% -0.79% 1.76%
loaded 841 ms +2.63% -1.68% 826.71 ms +1.66% -0.81% 1.73%
firstContentfulPaint 482.02 ms +6.27% -1.38% 485.18 ms +1.23% -1.91% -0.65%
firstBlock 2058.16 ms +1.14% -0.3% 2069.97 ms +1.59% -1.19% -0.57%
type 17.55 ms +7.41% -6.38% 18.65 ms +3.43% -11.26% -5.9%
typeWithoutInspector 18.61 ms +2.69% -7.52% 17.79 ms +5.85% -6.75% 4.61%
typeWithTopToolbar 24.37 ms +5.21% -5.95% 24.83 ms +6.77% -9.95% -1.85%
typeContainer 7.95 ms +8.81% -3.65% 8.27 ms +8.34% -6.17% -3.87%
focus 118.62 ms +1.84% -2.42% 114.81 ms +4.86% -6.81% 3.32%
firstFocus 261.07 ms +0% -0% 245.27 ms +0% -0% 6.44%
selectAll 332.19 ms +1.79% -3.05% 378.14 ms +3.85% -3.88% -12.15%
undo 30 ms +8.87% -2.9% 30.11 ms +7.74% -2.36% -0.37%
listViewOpen 74.53 ms +3.33% -10.26% 69.92 ms +6.31% -2.47% 6.59%
inserterOpen 43.53 ms +1.88% -9.9% 42.89 ms +4.59% -6.76% 1.49%
inserterHover 12.02 ms +5.41% -6.49% 11.48 ms +11.67% -4.88% 4.7%
inserterSearch 8.37 ms +11.71% -1.08% 9.02 ms +9.2% -9.2% -7.21%
loadPatterns 668.45 ms +10% -1.15% 664.01 ms +49.02% -2.15% 0.67%
wpTotal 403.17 ms +1.27% -5.63% 362.92 ms +10.44% -1.6% 11.09%
wpMemoryUsage 14.75 MB +0% -0% 14.72 MB +0% -0% 0.25%
wpDbQueries 55 +0% -0% 55 +0% -0% 0%

site-editor

Metric 015fed1 trunk % Change
serverResponse 464.03 ms +2.02% -6.2% 468.55 ms +0.4% -7.94% -0.96%
firstPaint 328.08 ms +12.68% -18.78% 360.46 ms +3.16% -7.95% -8.98%
domContentLoaded 859.17 ms +2.11% -1.8% 846.24 ms +1.5% -0.32% 1.53%
loaded 860.29 ms +2.07% -1.8% 847.23 ms +1.5% -0.34% 1.54%
firstContentfulPaint 492.72 ms +2.07% -3.76% 490.05 ms +1.41% -1.38% 0.54%
firstBlock 2527.76 ms +0.54% -2.01% 2515.91 ms +0.96% -0.67% 0.47%
type 17.56 ms +5.3% -8.14% 17.26 ms +8.81% -5.91% 1.74%
navigate 110.68 ms +4.03% -2.38% 115.28 ms +7.06% -3.9% -3.99%
loadPatterns 1222.15 ms +4.92% -10.82% 1097.97 ms +7.31% -2.1% 11.31%
loadPages 1027.7 ms +4.82% -3.27% 1001.31 ms +2.22% -3.84% 2.64%
wpTotal 454.63 ms +2.04% -6.31% 459.08 ms +0.41% -8.08% -0.97%
wpMemoryUsage 12.77 MB +0% -0% 12.73 MB +0% -0% 0.28%
wpDbQueries 45 +0% -0% 45 +0% -0% 0%

6febc53 Run

🏁 Flaky tests

Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

a navigation superseded by the traversal discharges to idle in /test/e2e/specs/interactivity/router-navigation-lifecycle.spec.ts, passed after 1 failed attempt.
SyntaxError: Unexpected token 'o', "not hydrated" is not valid JSON
    at readLog (/home/runner/work/gutenberg/gutenberg/test/e2e/specs/interactivity/router-navigation-lifecycle.spec.ts:28:14)
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/interactivity/router-navigation-lifecycle.spec.ts:47:24
    at waitForLogLength (/home/runner/work/gutenberg/gutenberg/test/e2e/specs/interactivity/router-navigation-lifecycle.spec.ts:46:2)
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/interactivity/router-navigation-lifecycle.spec.ts:693:5
does not select blocks in the canvas preview when editing from the sidebar (Site Editor v2) in /test/e2e/specs/site-editor/navigation-sidebar-list-view.spec.js, passed after 1 failed attempt.
Error: expect(locator).toBeFocused() failed

Locator: getByRole('combobox', { name: 'Search or type URL' })
Expected: focused
Timeout: 5000ms
Error: element(s) not found

Call log:
  - Expect "toBeFocused" getByRole('combobox', { name: 'Search or type URL' }) with timeout 5000ms
  - waiting for getByRole('combobox', { name: 'Search or type URL' })

    at LinkControl.useLinkControlSearch (/home/runner/work/gutenberg/gutenberg/test/e2e/specs/site-editor/navigation-sidebar-list-view.spec.js:416:47)
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/site-editor/navigation-sidebar-list-view.spec.js:179:21

6febc53 Run

adamsilverstein added a commit that referenced this pull request Oct 22, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LvpAdxaahosj8kTQtm3NXW
@github-project-automation github-project-automation Bot moved this to 🔎 Needs Review in WordPress 7.2 Editor Tasks Oct 29, 2026
@adamsilverstein
adamsilverstein requested review from Mamaduka and ramonjd and removed request for spacedmonkey October 29, 2026 16:06
adamsilverstein and others added 4 commits October 30, 2026 11:24
An editor or administrator can currently delete another user's reaction through the generic comment permission check, and reactions on a resolved thread can still be removed. Cover both, plus deleting your own reaction.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LvpAdxaahosj8kTQtm3NXW
Deletion fell through to core's generic check, which lets anyone with moderate_comments or edit_comment remove another user's reaction. Restrict it to the author, and reject deletes on a resolved thread the same way creates already are, sharing the thread-root lookup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LvpAdxaahosj8kTQtm3NXW
The names query used status 'all', while reaction_summary counts approved rows only, so trashed or spammed reactions could push the name list out of step with the count.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LvpAdxaahosj8kTQtm3NXW
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LvpAdxaahosj8kTQtm3NXW
@ramonjd
ramonjd force-pushed the fix/notes-reaction-delete-permissions branch from 46dc1ff to acd624a Compare October 30, 2026 00:49

@ramonjd ramonjd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and can reproduce on trunk (user B can delete user A's reactions and user A can delete user A's resolved note reactions)

On this branch, 403 for both.

Image Image

Code LGTM

@Mamaduka

Mamaduka commented Nov 2, 2026

Copy link
Copy Markdown
Member

Pushed a small follow-up:

  • Renamed is_in_resolved_thread() to is_thread_resolved() to match isThreadResolved on the JS side.
  • test_cannot_delete_another_users_reaction now tests a post author deleting someone else’s reaction. Edit access to the post was enough before this fix, and the admin and editor rows both hit that same check.

@adamsilverstein, do we have a core sync PR for this?

@Mamaduka Mamaduka added the Backport to WP 7.2 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Nov 2, 2026
The reaction delete rules are backported in wordpress-develop#15383, not the already-merged #10930.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018vwYjTXU324rGneSjaye87
@adamsilverstein

Copy link
Copy Markdown
Member Author

Core backport is up in WordPress/wordpress-develop#15383, and I moved the backport changelog entry to match in 6febc53.

@Mamaduka
Mamaduka merged commit 2e7ae71 into trunk Nov 3, 2026
80 checks passed
@Mamaduka
Mamaduka deleted the fix/notes-reaction-delete-permissions branch November 3, 2026 06:00
@github-project-automation github-project-automation Bot moved this from 🔎 Needs Review to ✅ Done in WordPress 7.2 Editor Tasks Nov 3, 2026
@github-actions github-actions Bot removed the Backport to WP 7.2 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Nov 3, 2026
gutenbergplugin pushed a commit that referenced this pull request Nov 3, 2026
Co-authored-by: adamsilverstein <adamsilverstein@git.wordpress.org>
Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: ramonjd <ramonopoly@git.wordpress.org>
@github-actions github-actions Bot added the Backported to WP Core Pull request that has been successfully merged into WP Core label Nov 3, 2026
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown

I just cherry-picked this PR to the wp/7.2 branch to get it included in the next release: b49b3d6

@github-actions github-actions Bot added this to the Gutenberg 24.4 milestone Nov 3, 2026
wporg-sync pushed a commit to WordPress/wordpress-develop that referenced this pull request Nov 3, 2026
Since r65038, deleting a note reaction goes through the same `edit_comment` check as its note, so anyone who can edit the note's post, including the post author and administrators, could remove someone else's reaction. A reaction speaks for its author, so `WP_REST_Comments_Controller::delete_item_permissions_check()` now only allows its author to delete it.

Reactions on a resolved thread also can no longer be deleted, matching the existing check in `create_item()`. The thread-root walk moves into a private `is_thread_resolved()` helper shared by both.

The reaction type is matched case-insensitively, like in `check_edit_permission()`.

Developed in: #15383
Developed in: WordPress/gutenberg#85415

Follow-up to r64488, r65038.

Props adamsilverstein, ramonopoly, mamaduka.
Fixes #66447.

git-svn-id: https://develop.svn.wordpress.org/trunk@65222 602fd350-edb4-49c9-b593-d223f7449a82
wporg-sync pushed a commit to WordPress/WordPress that referenced this pull request Nov 3, 2026
Since r65038, deleting a note reaction goes through the same `edit_comment` check as its note, so anyone who can edit the note's post, including the post author and administrators, could remove someone else's reaction. A reaction speaks for its author, so `WP_REST_Comments_Controller::delete_item_permissions_check()` now only allows its author to delete it.

Reactions on a resolved thread also can no longer be deleted, matching the existing check in `create_item()`. The thread-root walk moves into a private `is_thread_resolved()` helper shared by both.

The reaction type is matched case-insensitively, like in `check_edit_permission()`.

Developed in: WordPress/wordpress-develop#15383
Developed in: WordPress/gutenberg#85415

Follow-up to r64488, r65038.

Props adamsilverstein, ramonopoly, mamaduka.
Fixes #66447.
Built from https://develop.svn.wordpress.org/trunk@65222


git-svn-id: http://core.svn.wordpress.org/trunk@64371 1a063a9b-81f0-0310-95a4-ce76da25c4cd
wporg-sync pushed a commit to WordPress/wordpress-develop that referenced this pull request Nov 3, 2026
This updates the pinned commit hash of the Gutenberg repository from `cc75a79186fd23e72eb015d594e82f40c6209eb5` to `c035c1a649ef68f5c1646694cf440df1d7ae6e62` (fixes cherry-picked to the `wp/7.2` branch).

A full list of changes included in this commit can be found on GitHub: WordPress/gutenberg@cc75a79...c035c1a

- Components: Use solid brand highlights for popup items (WordPress/gutenberg#84583) (#85848)
- Fix endless sideload loop when the browser can't decode a big image (WordPress/gutenberg#83530)
- Notes: Show reaction picker as a row of emoji (WordPress/gutenberg#85819) (#85892)
- Notes: Add thumbs up and plus reactions (WordPress/gutenberg#85565)
- Notes: Share thread focus recovery across actions (WordPress/gutenberg#85455)
- Core Fields: Prevent extra space between `/` and text in slug input (WordPress/gutenberg#85935)
- Notes: Add search and a status filter to the All Notes sidebar (WordPress/gutenberg#84060)
- Notes: Use the note permission check when deleting a reaction (WordPress/gutenberg#85883)
- [WP 7.2] Math block: Keyboard focus is trapped in the LaTeX field when the formula has an error (WordPress/gutenberg#86032)
- Core fields: Keep the status icon full size when its label wraps (WordPress/gutenberg#85828) (#86050)
- [WP 7.2] ToolsPanel: Keep the "Reset" label visible on the highlighted menu item (WordPress/gutenberg#86060)
- Interactivity Router: Ignore router regions and attachTo targets inside data-wp-html content (WordPress/gutenberg#84919) (#86059)
- [WP 7.2] wp-build: Derive CSS module class names from each stylesheet's CSS (WordPress/gutenberg#86062)
- Playlist: Allow track without an attachment ID to render on the frontend (WordPress/gutenberg#83880) (#86158)
- UI: Show only the day number in Calendar day cells (WordPress/gutenberg#86010) (#86183)
- Notes: Tolerate a null comment in the reaction cascade hooks (WordPress/gutenberg#85959)
- Rich Text: Remove stale format boundary when field loses selection (WordPress/gutenberg#86168)
- Notes: Only let a reaction's author delete it (WordPress/gutenberg#85415)
- Writing flow: Fix Arrow Up and Down getting stuck at the edge of the screen (WordPress/gutenberg#85408)
- Try: Run e2e tests in parallel, on one wp-env site per two cores (WordPress/gutenberg#85420)
- Raw handling: Keep shortcodes in text inline (WordPress/gutenberg#85795)
- Fix: Fixes non-breaking space replacement tooltip (WordPress/gutenberg#85777)
- Non-breaking space: Remove non-breaking spaces that would collapse when replaced (WordPress/gutenberg#85873)

Props mamaduka.
See #66340.

git-svn-id: https://develop.svn.wordpress.org/trunk@65225 602fd350-edb4-49c9-b593-d223f7449a82
wporg-sync pushed a commit to WordPress/WordPress that referenced this pull request Nov 3, 2026
This updates the pinned commit hash of the Gutenberg repository from `cc75a79186fd23e72eb015d594e82f40c6209eb5` to `c035c1a649ef68f5c1646694cf440df1d7ae6e62` (fixes cherry-picked to the `wp/7.2` branch).

A full list of changes included in this commit can be found on GitHub: WordPress/gutenberg@cc75a79...c035c1a

- Components: Use solid brand highlights for popup items (WordPress/gutenberg#84583) (#85848)
- Fix endless sideload loop when the browser can't decode a big image (WordPress/gutenberg#83530)
- Notes: Show reaction picker as a row of emoji (WordPress/gutenberg#85819) (#85892)
- Notes: Add thumbs up and plus reactions (WordPress/gutenberg#85565)
- Notes: Share thread focus recovery across actions (WordPress/gutenberg#85455)
- Core Fields: Prevent extra space between `/` and text in slug input (WordPress/gutenberg#85935)
- Notes: Add search and a status filter to the All Notes sidebar (WordPress/gutenberg#84060)
- Notes: Use the note permission check when deleting a reaction (WordPress/gutenberg#85883)
- [WP 7.2] Math block: Keyboard focus is trapped in the LaTeX field when the formula has an error (WordPress/gutenberg#86032)
- Core fields: Keep the status icon full size when its label wraps (WordPress/gutenberg#85828) (#86050)
- [WP 7.2] ToolsPanel: Keep the "Reset" label visible on the highlighted menu item (WordPress/gutenberg#86060)
- Interactivity Router: Ignore router regions and attachTo targets inside data-wp-html content (WordPress/gutenberg#84919) (#86059)
- [WP 7.2] wp-build: Derive CSS module class names from each stylesheet's CSS (WordPress/gutenberg#86062)
- Playlist: Allow track without an attachment ID to render on the frontend (WordPress/gutenberg#83880) (#86158)
- UI: Show only the day number in Calendar day cells (WordPress/gutenberg#86010) (#86183)
- Notes: Tolerate a null comment in the reaction cascade hooks (WordPress/gutenberg#85959)
- Rich Text: Remove stale format boundary when field loses selection (WordPress/gutenberg#86168)
- Notes: Only let a reaction's author delete it (WordPress/gutenberg#85415)
- Writing flow: Fix Arrow Up and Down getting stuck at the edge of the screen (WordPress/gutenberg#85408)
- Try: Run e2e tests in parallel, on one wp-env site per two cores (WordPress/gutenberg#85420)
- Raw handling: Keep shortcodes in text inline (WordPress/gutenberg#85795)
- Fix: Fixes non-breaking space replacement tooltip (WordPress/gutenberg#85777)
- Non-breaking space: Remove non-breaking spaces that would collapse when replaced (WordPress/gutenberg#85873)

Props mamaduka.
See #66340.
Built from https://develop.svn.wordpress.org/trunk@65225


git-svn-id: http://core.svn.wordpress.org/trunk@64374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backported to WP Core Pull request that has been successfully merged into WP Core [Feature] Notes Phase 3 of the Gutenberg roadmap around block commenting [Package] Editor /packages/editor [Type] Bug An existing feature does not function as intended

Projects

Development

Successfully merging this pull request may close these issues.

3 participants