Conversation
🤖 PR meta 🤖🎉 PropsUnlinked AccountsThe following contributors have not linked their GitHub and WordPress.org accounts: @justinemshields. 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. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. Updated as activity occurs, without notifying anyone named here. Add the 📦 Bundle sizeSize Change: +2.21 kB (+0.03%) Total Size: 8.25 MB 📦 View Changed
⚡ PerformanceShow the resultsClient side metrics exclude the server response time. front-end-block-theme
front-end-classic-theme
media-processing
media-upload
post-editor
site-editor
🏁 Flaky testsSome 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. submenu converts to link automatically in
|
|
A couple of things to decide:
ScreencastCleanShot.2026-09-29.at.19.27.21.mp4 |
I would leave expanded by default (given a big enough screen).
My feeling is yes - the menu should reflect the state, but only if we can do it in a temporary way so making the container larger again switches the selection back to expanded mode. Its a nit though and fine without this, so fine to leave it off for now to keep the PR simpler. |
|
This tested well! Everything I tested checked out and I like the overall code restructure, moving the logic into the VisualEditor is smart, eliminating the observer from my PR entirely. I'm going to close my PR in favor of this one and propose a few tests from that PR here in a follow up. |
|
Took this for a spin. I dig it! This is much better than what I attempted previously. Overall, it feels quite smooth and the placement of the options makes sense to me. I agree with Adam's feedback around: "when i flip back and forth between the All Notes sidebar and floating notes in testing, the effect is slightly jarring." It's not horrible but it could be smoothed out a bit more. Screen.Recording.2026-09-29.at.12.54.15.PM.mov |
7100385 to
749b4f2
Compare
|
Here's a screencast for the following behavior polish.
ScreencastCleanShot.2026-09-30.at.09.14.44.mp4 |
|
Thanks, @jasmussen!
I think that should be doable. I can change what selecting a block signals based on display mode. |
|
I think it might be worth a shot, at least on the narrow/mobile breakpoints. |
4ab5651 to
f6a395e
Compare
|
@jasmussen, pushed the fix in the latest commit. |
e61f35b to
82eb9d5
Compare
|
Added a small animation, which hopefully makes the "All Notes" sidebar toggle less jarring. It's a bit hard to coordinate more complex animations when owners are different packages (the sidebar is handled by the ScreencastCleanShot.2026-10-01.at.09.37.25.mp4 |
|
The updated animation looks solid to me! |
jasmussen
left a comment
There was a problem hiding this comment.
General thumbs up for the direction.
Floating notes are no longer a complementary area. The visual editor owns a canvas margin slot and reserves 280px inside the canvas while notes fill it, so notes sit beside the Settings sidebar and notices span the editor. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adds "Minimize notes", which collapses unselected threads to avatar pills in an 82px canvas margin. Full mode also shows pills when the canvas is between 482px and 880px. Pills are CSS only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A resized canvas or device preview gets no canvas margin, like zoom out; Add note opens All notes. Rename "Show notes" to "Expand notes" and trim the floating notes tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Match the other Options menu items, which stay open. Also check that notices keep the full canvas width. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Expand and Minimize disable when the canvas has no room for them, with a short reason. A narrow canvas shows Minimize as checked; the preference stays. The menu follows canvas resizes while open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Selecting a block highlights its minimized note without expanding it, so the note doesn't cover content the user only wants to read. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Hides the double notes while "All notes" closes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
f0b8e5e to
38d67ee
Compare
|
@Mamaduka Nice one, the animation is a nice touch and improves the transition. |
| ); | ||
| const floatingRef = useRef( null ); | ||
| const isKeyboardTabbingRef = useRef( false ); | ||
| // Minimized threads expand only while focused, not on block selection. |
|
I'm doing some more manual testing on this one @Mamaduka and I found a bug state where the notes are not in the correct location. Currently trying to verify reproduction steps and that its a regression here. |
I was able to reproduce the bug I saw, but I don't think its related to the PR but rather a slight variation on an existing bug - splitting an inline note has very unexpected results, the note jumps to an unrelated location. This is very similar to the issue raised in #71544 with block duplication, but the inline notes make it even more obvious. I'm opening a follow up for this, its easy to reproduce though:
Expected result: note stays aligned with top part of selection Also related: |
|
Thanks, @adamsilverstein! Yes, it's an existing bug and similar to what we've flagged regarding block duplication in #83485. Our board doesn't know how to handle it when a note is shared by multiple anchors - blocks or inline markers. It's worth researching how other apps handled this, so we don't reinvent the wheel, but here's what I have in mind: When multiple anchors share a note, by default it's positioned for the first anchor and not rendered for the rest. Selecting another anchor should move it relative to that anchor. What do you think? P.S. Based on feedback, this looks good to merge. Let's target early next week, which I think will let us ship a Gutenberg release ahead of the first beta. |
Lets do it! |

What?
Closes #79970. Closes #73417.
Alternative to #79864. Stacked on #83768.
Floating notes move from a complementary area into a canvas margin owned by
VisualEditor, and gain a Minimize mode. Notes stay open beside the Settings sidebar, and notices and the canvas scrollbar span the full editor width. As the canvas narrows, notes collapse to avatar pills (82px, below 880px), then yield to All notes (below 482px); device preview, a resized canvas and zoom out also yield.Why?
Only one complementary area can be active in the
corescope, so floating notes and Settings were mutually exclusive, and the notes column narrowed the editor content.#79864 fixed the layout from the notes side, finding the canvas by class name, adding
ResizeObservers and measuring canvas width in React to pick a tier.VisualEditoralready owns the canvas width, resizing, and zoom state, so the reservation belongs there, and CSS can pick the tier without measuring.How?
NotesSidebarrendersCanvasMargin.Fillonly when it has notes to show;VisualEditorreadsuseSlotFillsandnotesDisplayMode, and adds the tiered reservation CSS (getCanvasMarginCSS) as in-iframe media queries, while a container query on theResizableEditorbox shows the slot in the same frame.Pills are CSS only: one mixin applied by the
.is-minimizedclass or by a container query below 880px, so React never needs the canvas width. A resizable canvas (enableResizing) or zoom out hides the slot,focusNoteroutes to All notes through the slot'scheckVisibility(), and the board store's existingResizeObservermeasures the scrollbar width.Testing Instructions
Screenshots or screencast
CleanShot.2026-09-29.at.18.38.52.mp4
Use of AI Tools
Assisted by Claude.