Repository navigation
web(844): hold search panel exit state until unmount - #847
Merged
Merged
Conversation
The panel exit was a 100ms one-shot keyframe while Base UI holds the unmount window 150ms, so the keyframe finished first, snapped back to opacity 1, and painted 2-3 fully-opaque frames before removal: the flash on the second Ctrl+K. Exit now rides a specified-style transition to opacity 0 / scale .98 (same law as #771/P2, base-ui-theme 1.2), held until unmount; enter keyframes untouched. closes #844
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.
Fixes the flash on the second Ctrl+K: the panel exit was a 100ms one-shot
keyframe while Base UI holds the unmount window 150ms, so the keyframe
finished first, snapped back to opacity 1, and painted 2-3 fully-opaque
frames before removal. Exit now rides a specified-style transition to
opacity 0 / scale .98 (same law as #771/P2,
docs/spec/base-ui-theme.md§1.2: interaction-state changes use transitions, not one-shot keyframes);
enter keyframes untouched, no duration changed.
Measured traces (rAF opacity sampler, full numbers in
docs/verify/844/):before
1 -> 0.01 (t=96ms) -> 1 (t=112ms) -> detach (t=165ms);after
1 -> 0 (t=111ms), held at 0 -> detach (t=181ms).Evidence (slow-motion strobe, 15ms steps, dark scheme):
Same-delay stills (+120ms into a 100ms fade-out):
Regression: new
search-close-flash.spec.ts(monotonic-opacity close test,failed pre-fix, passes now; triple-toggle test included). Family green on the
after stack (32 passed): search-focus, search-result-rows,
sidebar-search-offboard, dialog-viewport, escape-wiring, checkbox-unified,
search-close-flash.
pnpm lint/pnpm typecheckpass.Also checked the ticket's checkbox half: rapid-uncheck probe on the accept
face shows the Indicator fading 1 -> 0 with no remount — #771 holds, no
change made there.