fix: clear editor console warnings and errors - #810
Merged
surajshetty3416 merged 9 commits intoSep 9, 2026
Conversation
Registry items live in a reactive Map, so the component objects they carry (a tab's panel, a property control, an icon) were proxied and Vue warned on every render. Mark component-valued fields raw at registration, including the controls inside a section's properties list. Co-Authored-By: Claude <noreply@anthropic.com>
The component-props section built BasePropertyControl props without the required propertyKey, passed real booleans where the control typed string | number, and handed number defaults to a string placeholder. Co-Authored-By: Claude <noreply@anthropic.com>
A system font or an unregistered custom family produced a stylesheet request that ended in a CORS error on every editor page. Consult the bundled catalog first and skip families it does not carry; User Fonts still load through their own path. Co-Authored-By: Claude <noreply@anthropic.com>
The handler renders a fragment (tooltip plus handle), so the data-block-id the block editor passes had nowhere to go and Vue warned on every update. Co-Authored-By: Claude <noreply@anthropic.com>
Twelve Popover call sites used the deprecated #target and #body slots and the placement prop; the label description tooltip used trigger="hover". Move them to #trigger and #default with bare, side and align, and Tooltip. The v1 trigger toggles on any click inside it, which for a popover anchored to a whole property row means focusing the input opens and closes the panel. Row-anchored popovers (color picker, background, shadow, image) now run through useAnchoredPopover: controlled open where the row decides when it opens and the trigger's own toggle is ignored, while outside clicks and Escape still dismiss. Gradient stop pickers are controlled too, so the click that ends a drag no longer opens one. Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #810 +/- ##
========================================
Coverage 66.86% 66.86%
========================================
Files 94 94
Lines 10496 10496
========================================
Hits 7018 7018
Misses 3478 3478 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The v1 trigger wrapper was a flex container, so the control row inside it shrank to its content and Text Color, Border Color and colour props rendered narrower than their neighbours. The old anchor forced block; do the same. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
The label column was capped at 60% and the default value at 96px, so long labels wrapped early and the value line was cut after a few characters with most of the row empty. The row now fills the width; the value line truncates across all of it. Array and object defaults are shown as compact JSON: the type check read a field that does not exist. Co-Authored-By: Claude <noreply@anthropic.com>
Six controls used the browser's native title tooltip while their neighbours used Tooltip. Buttons take the tooltip prop, which keeps the chat-history Button as the Dropdown's own as-child trigger; plain buttons get a Tooltip wrapper. Co-Authored-By: Claude <noreply@anthropic.com>
surajshetty3416
force-pushed
the
fix-editor-console-noise
branch
from
September 9, 2026 07:56
fe4ab25 to
b51cc29
Compare
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.
Opening any page in the editor logged 8 errors and ~200 warnings, all from the editor itself. After this, the console is clean.
createRegistrykeeps items in a reactive Map, so the components they carry (tab panels, property controls, icons) were proxied. Component-valued fields are now marked raw at registration.propertyKey,BasePropertyControlandOptionToggleaccept boolean defaults, and number defaults are stringified for the placeholder.BorderRadiusHandlerrenders a fragment, sodata-block-idnow goes to the handle explicitly.#target/#bodyandplacementto#trigger/#defaultwithbare,sideandalign; the label description tooltip moved toTooltip. The v1 trigger toggles on any click inside it, so popovers anchored to a whole property row (color picker, background, shadow, image) go throughuseAnchoredPopover: controlled open where the row decides, dismissals still close. Gradient stop pickers are controlled too, so the click that ends a drag no longer opens one.Also on the way: the color picker anchor keeps its full width, component prop rows use the panel width, the array and object editors are labelled "Items", and every chat panel control uses the same tooltip.