Dev Tools: Fix the slot flash never being drawn - #2299
Merged
Conversation
|
View your CI Pipeline Execution ↗ for commit 5bf54d3
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗ ☁️ Nx Cloud last updated this comment at |
🌿 Interactive Playground and Documentation PreviewA preview deployment has been built for this pull request. Try out the changes live in the interactive playground: 🌱 Grown from commit ✅ Preview deployment has been cleaned up. |
@herb-tools/client
@herb-tools/core
@herb-tools/dev-tools
@herb-tools/formatter
@herb-tools/language-server
@herb-tools/linter
commit: |
marcoroth
added a commit
that referenced
this pull request
Aug 19, 2026
Follow up on #2299, which fixed the slot flash drawing nothing. With it drawing again, two things it was hiding became visible. The first is that a branch swap never reports itself as one. `#writeFragment` is the only code that announces a `branch` operation, and its one caller is `apply`, so a server payload is the only thing that has ever reached it. `materialize` hands back a fragment and there was nothing public to install one, so a page that flips a branch on its own has to do the work by hand. `switchBranch` is what `#applyBranch` does with the payload taken away.
marcoroth
added a commit
that referenced
this pull request
Aug 19, 2026
Follow up on #2299 and #2300. With the flash drawing again, and telling a branch swap apart from a value write, what it says about collections is the part still worth fixing. An `item-added` drew over the wrong row. `#buildItem` inserts a new item in front of the first one already there and announces it from that position, and the index puts it in its real place afterwards, so the flash was drawing where the item was at that instant instead of where it ended up. On the inline-edit table that is the first row every time, whichever row was actually added. Measuring on the next task reads the position after the whole batch has settled, ordering included. A microtask is not enough, since the reordering runs in the same task as the announcement. An item on its way out is the one case that cannot wait. `#dropItem` announces before it deletes the range, so a removal is still measured while its markers are in the document. That is the only operation left drawing synchronously. This also gets a nested slot inside a freshly built row off measuring zero by zero, since a slot in a row that has not been placed yet has no box. An item update now also outlines the collection it belongs to, dashed and unfilled so it never competes with what is drawn inside it, in the color of the operation.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This pull request fixes the slot flash in the dev tools overlay which were added in #2277.
Both
cssTextstrings inSlotFlashwere written without;between the declarations, so each one reads as a single malformed declaration and the browser keeps none of it.