Fix staggered toolbar disappearance in some themes#294
Open
wlo2 wants to merge 1 commit intoPKM-er:masterfrom
Open
Fix staggered toolbar disappearance in some themes#294wlo2 wants to merge 1 commit intoPKM-er:masterfrom
wlo2 wants to merge 1 commit intoPKM-er:masterfrom
Conversation
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.
In some themes (like cupertino), the editing toolbar disappears in two steps: the background vanishes semi-instantly, and the buttons/icons linger for a fraction of a second. This is caused by broad CSS transitions (e.g.,
transition: all 0.3s) in the theme that also apply to thevisibilityproperty. When a plugin setsvisibility: hidden, the browser delays the state change until the transition completes, causing the staggered effect:Screen.Recording.2026-03-01.mov
Proposing the following solution:
display: none: Updatedmain.tsandeditingToolbarModal.tsto toggledisplay: nonealongsidevisibility: hidden. This bypasses all CSS transitions and ensures the toolbar vanishes instantly.transition: allinstyles.csswith specific property transitions (transform,opacity,top,left) to prevent accidentalvisibilitytransitions.display: none !importantwhenever the plugin appliesvisibility: hiddenvia inline styles, serving as a robust backstop against theme overrides.Built and tested locally, the solution works, but it's very blunt, I'm assuming there is a more elegant way to fix that, please take a look.