Repository navigation
Conversation
Menubar shared viewport no longer fades content on first open or hides the selected wash until shell morph ends — both read as a late hover fill. Harvest after one rAF. Floating panels stay visibility:hidden until afterPosition writes geometry (and select wash), then reveal. Docs head modulepreload starts the client bundle earlier to shorten chrome upgrade flash on cold loads. Co-authored-by: ZhouHang <hicaxs@gmail.com>
Deploying ran with
|
| Latest commit: |
02029d2
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://7e9f09b6.ran-4ty.pages.dev |
| Branch Preview URL: | https://cursor-home-flash-select-was.ran-4ty.pages.dev |
Industry pattern (Stripe / Radix): selection fill eases transform/size only — opacity snaps, so open and row moves never read as a late fade. Place menubar wash before fitAndShow's forced reflow. Drop the floating visibility:hidden hold that left Role menus without a painted surface. Co-authored-by: ZhouHang <hicaxs@gmail.com>
First-open wash must use post-fitAndShow geometry with data-instant — early place left dy≈16px short of the selected row. Peer hops wait for shell morph again, then snap (opacity has no transition). Regenerate style-token docs after wash CSS change. Co-authored-by: ZhouHang <hicaxs@gmail.com>
Place the selected wash after shell size is written but before the instant transition flush, so the first painted frame has wash + rows together at the correct clip-local box. Peer hops show wash immediately with content and only re-snap after morph — never hide then re-fade. Co-authored-by: ZhouHang <hicaxs@gmail.com>
Unformatted long argument list failed Lint & Type-check on CI. Co-authored-by: ZhouHang <hicaxs@gmail.com>
SSR setAttribute never ran attributeChangedCallback, so invite-card captions and placeholders only appeared after client upgrade. Call label/placeholder sync from _preSerialize, teach ShadowRoot mocks insertBefore, and assert DSD contains the caption nodes. Co-authored-by: ZhouHang <hicaxs@gmail.com>
Peer hops removed the outgoing layer immediately and slide incoming content with transform only, so English/System/Graphite no longer cross-fade as a double menu. Hero frost moves to ::before (header pattern) and the select portal wrapper carries the dropdown z-index so Role stays above the plate. Co-authored-by: ZhouHang <hicaxs@gmail.com>
position:relative on the body portal wrapper shifted absolute panel coords and blew popup bounds. Stacking stays on FloatingController + hero ::before. Co-authored-by: ZhouHang <hicaxs@gmail.com>
elementFromPoint often lands inside r-dropdown's closed shadow; closest() stops there, so the glass Role stacking guard falsely reported "other". Co-authored-by: ZhouHang <hicaxs@gmail.com>
WebKit/Firefox briefly expose the listbox before FloatingController places it; hit samples then land outside the viewport and read as null. Co-authored-by: ZhouHang <hicaxs@gmail.com>
This branch has not been deployed
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.
Summary
Chrome wash was fading late / misaligned on preview, and Role’s panel briefly lost its surface. Converge on the Stripe / Radix rule: selection fill never eases opacity; geometry must be correct before first paint. Hard-refresh also showed invite-field captions appearing hundreds of ms after first paint. Menubar peer hops also left a dual-layer residual, and Role under glass could lose the stacking fight with the hero frost plate.
Changes
hu__hover/sb__hover): transitiontransform/width/heightonly; opacity snaps.afterPositionbefore enter transit; novisibility:hiddenhold (that broke Role panel paint)._preSerializepaintslabel/placeholderinto closed shadow (SSR mocks gaininsertBefore); invite example captions are present on first paint, not only after upgrade.::before(same pattern as the glass header); select portal wrapper carries the dropdown z-index so Role hit-tests above the plate.modulepreloadfor earlier client upgrade; regenerate style-token docs after wash CSS change.Verify on preview
After Pages redeploys (latest head): hard-refresh home — invite card shows Work email / Role on first paint (no late label pop). Open English / System / Graphite — selected wash on first frame and aligned; hop peers — only one menu’s labels visible mid-transition. Open Role under Liquid glass — panel stays above the hero plate.