Repository navigation
Conversation
The job was red on every pull request, including one that changed only the version and the changelog, and always on the same stories with the same pixel counts — ChatLauncher at 4.94%, then ShellOutput, MicButton, TaskList and the rest. A gate that fires on everything stops being read, and it held the last release for four days. Three causes, three fixes: - A style tag stops at a shadow boundary, so the animation of a widget mounted into a shadow root kept running and the two sides of the comparison caught it in different frames. The freeze is now adopted into every shadow root. - A widget that mounts itself in an effect reports when it is there (`data-shadow-ready`), and the screenshot waits for that instead of racing it. - Loaders, voice levels and pulse rings move from JavaScript, which no stylesheet can stop. The page now asks for reduced motion, the switch the kit already honours everywhere. The job also stops running where pixels cannot move: a release pull request, a change to the docs data or to another workflow no longer pays 25 minutes for a comparison of two identical Storybooks.
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.
Why
The
visualjob has been red on every pull request, including one that changed only the version and the changelog, and always on the same stories with the same pixel counts:An identical pixel count across unrelated pull requests is not antialiasing noise — it is two stable rendering states. A gate that fires on everything stops being read, and this one held 0.8.0 for four days.
What changes
Three causes, three fixes:
addStyleTagstops at the shadow boundary, so a widget mounted into one kept animating and the baseline and the comparison caught different frames. The freezing stylesheet is now adopted into every shadow root on the page.ChatLauncher's shadow story mounts in an effect; it now reports readiness withdata-shadow-readyand the screenshot waits for it.prefers-reduced-motion: reduce— the switch the kit already honours inuseAnimationTime,SpiralLoader, the streaming fade and the launcher rings.And the job stops running where pixels cannot move: with a
pathsfilter, a release pull request or a change to the docs data no longer pays 25 minutes to compare two identical Storybooks.How this is verified
This pull request touches
.storybook/**, so its ownvisualjob runs the full comparison. Green here means the three fixes hold; the stories listed above are the test.yarn test(1571 tests) passes locally.