Repository navigation
gh-16315: Preserve existing Boost CSS when opening the editor - #16318
Merged
Merged
Conversation
jasseeeem
marked this pull request as ready for review
November 1, 2026 18:54
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.
A Boost with missing color-picker coordinates opens the Code editor empty because
updateAllVisuals()throws before loading the stored CSS. Editing that empty buffer then replaces the existing CSS on disk.Load the saved CSS while the editor is read-only, before connecting its change handler. Fill missing Boost settings and partial color-picker coordinates from defaults, update the CSS before the other visual controls, and avoid replacing an unchanged editor buffer.
Fixes #16315.
Before and after
boost-css-editor-before-after.mp4
Both recordings use the same synthetic Boost with
secondaryDotPosremoved. They show opening Code, typing a new rule, then closing and reopening. The before case loses the original CSS on disk; the after case preserves both the original and new CSS. Captures include only the temporary profile's Boost editor.Validation
browser_boosts_code_editor.jsto the Boost browser-test manifest. It covers complete, missing, null, partial and minimal records; edit/save/reopen; import/reset; and opening an untouched Boost.devdetect the blank editor, lost original CSS and incomplete-import failure.git diff --checkpass.mach testharness was not run because this checkout has no initialized Zen engine.Reproduction scope
The failure is reproduced with synthetic Boost records missing
dotPosorsecondaryDotPos. The reporter's exported Boost and console output are not available, so their exact input has not been confirmed.