-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: (motion) Resolve Safari overflow rendering issue in Collapse component #32911
base: master
Are you sure you want to change the base?
fix: (motion) Resolve Safari overflow rendering issue in Collapse component #32911
Conversation
📊 Bundle size reportUnchanged fixtures
|
@akatrukhin Do we have an automated visual regression test for this? It would be good to have to avoid missing issues across browsers. |
Perf Analysis (
|
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
FluentProviderWithTheme | virtual-rerender | 35 | 35 | 10 | Possible regression |
All results
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
Avatar | mount | 653 | 620 | 5000 | |
Button | mount | 301 | 314 | 5000 | |
Field | mount | 1155 | 1143 | 5000 | |
FluentProvider | mount | 713 | 730 | 5000 | |
FluentProviderWithTheme | mount | 79 | 89 | 10 | |
FluentProviderWithTheme | virtual-rerender | 35 | 35 | 10 | Possible regression |
FluentProviderWithTheme | virtual-rerender-with-unmount | 76 | 75 | 10 | |
MakeStyles | mount | 852 | 868 | 50000 | |
Persona | mount | 1782 | 1730 | 5000 | |
SpinButton | mount | 1452 | 1357 | 5000 | |
SwatchPicker | mount | 1729 | 1688 | 5000 |
@@ -0,0 +1,7 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🕵🏾♀️ visual regressions to review in the fluentuiv9 Visual Regression Report
Avatar Converged 3 screenshots
Image Name | Diff(in Pixels) | Image Type |
---|---|---|
Avatar Converged.Badge Mask RTL.chromium.png | 3 | Changed |
Avatar Converged.size+inactive+badge.chromium.png | 1 | Changed |
Avatar Converged.badgeMask.chromium.png | 49 | Changed |
Drawer 2 screenshots
Image Name | Diff(in Pixels) | Image Type |
---|---|---|
Drawer.overlay drawer full.chromium.png | 1147 | Changed |
Drawer.Full Overlay Dark Mode.chromium.png | 984 | Changed |
Fluent UI has automated visual regression tests, but we don't have them for this component. As far as I know, these tests won't detect issues in Safari |
If there isn't a visual regression test for this component then we should have one. We're likely using Playwright for testing which does have the ability to check Safari specifically. If there's a blocker for that let's document it so we can investigate a path to a solution. Thanks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You simply write like this---
const toOpacity = 1, fromHeight = '0', toHeight =
${element.scrollHeight}px`, overflowHidden = 'hidden';
const enterKeyframes = [
{ opacity: 0, maxHeight: fromHeight, overflowX: overflowHidden, overflowY: overflowHidden },
{ opacity: toOpacity, maxHeight: toHeight, offset: 0.9999 },
{ opacity: toOpacity, maxHeight: 'unset' }
];
const exitKeyframes = [
{ opacity: toOpacity, maxHeight: toHeight },
{ opacity: 0, maxHeight: fromHeight }
];
`
Safari was not correctly applying the `overflow` property during collapse/expand animations, causing visual issues. This fix splits the shorthand `overflow` into `overflowX` and `overflowY`, which ensures proper rendering across all browsers.
3809e6c
to
d470a33
Compare
In Safari where the overflow property was not being correctly applied during collapse/expand animations.
Safari ignores shorthand
overflow: 'hidden'
or{ overflow }
in keyframes as result visible collapsed content.Issue: #32912
Fix
The overflow property has been split into
overflowX
andoverflowY
, both set tohidden
, ensuring that Safari correctly handles the overflow behavior during animations.Tested on:
Safari
Chrome
Firefox
Edge
No regressions were observed on other browsers.