Skip to content

Conversation

@ghengeveld
Copy link
Member

@ghengeveld ghengeveld commented Dec 23, 2025

What I did

Rather than using parameters.chromatic.disable = true, use parameters.chromatic.disableSnapshot = true. This prevents the Visual Tests panel from disappearing on stories where snapshotting is disabled, and follows Chromatic recommendations.

Checklist for Contributors

Testing

The changes in this PR are covered in the following automated tests:

  • stories
  • unit tests
  • integration tests
  • end-to-end tests

Manual testing

Not necessary. Just check UI Review for unexpected additions/removals.

Documentation

  • Add or update documentation reflecting your changes
  • If you are deprecating/removing a feature, make sure to update
    MIGRATION.MD

Checklist for Maintainers

  • When this PR is ready for testing, make sure to add ci:normal, ci:merged or ci:daily GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found in code/lib/cli-storybook/src/sandbox-templates.ts

  • Make sure this PR contains one of the labels below:

    Available labels
    • bug: Internal changes that fixes incorrect behavior.
    • maintenance: User-facing maintenance tasks.
    • dependencies: Upgrading (sometimes downgrading) dependencies.
    • build: Internal-facing build tooling & test updates. Will not show up in release changelog.
    • cleanup: Minor cleanup style change. Will not show up in release changelog.
    • documentation: Documentation only changes. Will not show up in release changelog.
    • feature request: Introducing a new feature.
    • BREAKING CHANGE: Changes that break compatibility in some way with current major version.
    • other: Changes that don't fit in the above categories.

🦋 Canary release

This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the @storybookjs/core team here.

core team members can create a canary release here or locally with gh workflow run --repo storybookjs/storybook publish.yml --field pr=<PR_NUMBER>

Summary by CodeRabbit

  • Chores
    • Updated Storybook configuration parameters across story files to align with Chromatic snapshot settings.

✏️ Tip: You can customize this high-level summary in your review settings.

@ghengeveld ghengeveld requested a review from ndelangen December 23, 2025 13:13
@ghengeveld ghengeveld self-assigned this Dec 23, 2025
@ghengeveld ghengeveld added cleanup Minor cleanup style change that won't show up in release changelog ci:normal labels Dec 23, 2025
@nx-cloud
Copy link

nx-cloud bot commented Dec 23, 2025

View your CI Pipeline Execution ↗ for commit 1cba4d8

Command Status Duration Result
nx run-many -t compile,check,knip,test,pretty-d... ❌ Failed 17m 32s View ↗

☁️ Nx Cloud last updated this comment at 2025-12-29 11:26:32 UTC

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 23, 2025

📝 Walkthrough

Walkthrough

A bulk property rename across 60+ Storybook story files updates the Chromatic configuration parameter from disable to disableSnapshot. This consistent change targets snapshot-disabling behavior specifically while preserving all other logic and file structure. Documentation is also updated to reflect this parameter change.

Changes

Cohort / File(s) Change Summary
Documentation
MIGRATION.md
Updated migration guide to reflect Chromatic parameter rename from chromatic.disable to chromatic.disableSnapshot.
A11y Addon Stories
code/addons/a11y/template/stories/parameters.stories.ts, tests.stories.ts
Chromatic parameters changed from disable: true to disableSnapshot: true in default exports.
Docs Addon — Examples
code/addons/docs/src/blocks/examples/Button.stories.tsx, ButtonNoAutodocs.stories.tsx, ButtonSomeAutodocs.stories.tsx
Chromatic configuration renamed from disable to disableSnapshot in story parameters.
Docs Addon — Template Stories
code/addons/docs/template/stories/codePanel/index.stories.tsx, docs2/button.stories.ts, docs2/multiple-csf-files-*.stories.ts, docs2/resolved-react.stories.ts
Chromatic parameter updated from disable: true to disableSnapshot: true across multiple story definitions.
Docs Addon — Docspage Stories
code/addons/docs/template/stories/docspage/autoplay.stories.ts, basic.stories.ts, description.stories.ts, error.stories.ts, extract-description.stories.ts, iframe.stories.ts, overflow.stories.ts, override.stories.ts, source.stories.ts
Chromatic snapshot configuration changed from disable to disableSnapshot in default export parameters across nine story files.
Docs Addon — TOC Stories
code/addons/docs/template/stories/toc/basic.stories.ts, custom-selector.stories.ts, custom-title.stories.ts, ignore-selector.stories.ts
Chromatic parameter renamed from disable to disableSnapshot in all table-of-contents story definitions.
Links Addon Stories
code/addons/links/template/stories/decorator.stories.ts, hrefto.stories.ts, linkto.stories.ts
Chromatic configuration updated from disable: true to disableSnapshot: true in story parameters.
Themes Addon Stories
code/addons/themes/template/stories/decorators.stories.ts, globals.stories.ts, parameters.stories.ts
Chromatic snapshot-disabling flag changed from disable to disableSnapshot in default exports.
Vitest Addon Stories
code/addons/vitest/template/stories/unhandled-errors.stories.ts
Chromatic parameter renamed from disable: true to disableSnapshot: true.
Core Manager Components
code/core/src/manager/components/mobile/navigation/MobileNavigation.stories.tsx, preview/Iframe.stories.tsx, sidebar/SidebarBottom.stories.tsx
Chromatic configuration updated from disable to disableSnapshot across multiple story definitions (Dark, WorkingStory, WorkingDocs, PreparingStory, PreparingDocs, DynamicHeight).
Core Template Stories
code/core/template/stories/argtype.stories.ts, backgrounds/globals.stories.ts, basics.stories.ts, before-each.stories.ts, component-test.unhandled-errors.stories.ts, configs.stories.ts, controls/sorting.stories.ts, destructuring-not-transpiled.stories.ts, loader-enhancements.stories.ts, moduleMocking.stories.ts, mount-in-play.stories.ts, parameters-actions.stories.ts, rendering.stories.ts, spies.stories.ts, tags-*.stories.ts, viewport/globals.stories.ts
Chromatic parameter renamed from disable to disableSnapshot across 18+ core story files; some stories also have values updated (e.g., tags-add.stories.ts and tags-config.stories.ts include both true and false values).
Framework-Specific Stories
code/frameworks/angular/template/stories/basics/component-with-ng-on-destroy/component-with-on-destroy.stories.ts, code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx, code/frameworks/nextjs/template/stories/RSC.stories.tsx
Chromatic snapshot configuration changed from disable: true to disableSnapshot: true.
React Renderer Stories
code/renderers/react/template/stories/csf1.stories.tsx, csf2.stories.tsx, errors.stories.tsx, teardown.stories.tsx
Chromatic parameter updated from disable: true to disableSnapshot: true across all React renderer template stories.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

✨ Finishing touches
  • 📝 Generate docstrings

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 821b832 and 7986919.

📒 Files selected for processing (59)
  • MIGRATION.md
  • code/addons/a11y/template/stories/parameters.stories.ts
  • code/addons/a11y/template/stories/tests.stories.ts
  • code/addons/docs/src/blocks/examples/Button.stories.tsx
  • code/addons/docs/src/blocks/examples/ButtonNoAutodocs.stories.tsx
  • code/addons/docs/src/blocks/examples/ButtonSomeAutodocs.stories.tsx
  • code/addons/docs/template/stories/codePanel/index.stories.tsx
  • code/addons/docs/template/stories/docs2/button.stories.ts
  • code/addons/docs/template/stories/docs2/multiple-csf-files-a.stories.ts
  • code/addons/docs/template/stories/docs2/multiple-csf-files-b.stories.ts
  • code/addons/docs/template/stories/docs2/resolved-react.stories.ts
  • code/addons/docs/template/stories/docspage/autoplay.stories.ts
  • code/addons/docs/template/stories/docspage/basic.stories.ts
  • code/addons/docs/template/stories/docspage/description.stories.ts
  • code/addons/docs/template/stories/docspage/error.stories.ts
  • code/addons/docs/template/stories/docspage/extract-description.stories.ts
  • code/addons/docs/template/stories/docspage/iframe.stories.ts
  • code/addons/docs/template/stories/docspage/overflow.stories.ts
  • code/addons/docs/template/stories/docspage/override.stories.ts
  • code/addons/docs/template/stories/docspage/source.stories.ts
  • code/addons/docs/template/stories/toc/basic.stories.ts
  • code/addons/docs/template/stories/toc/custom-selector.stories.ts
  • code/addons/docs/template/stories/toc/custom-title.stories.ts
  • code/addons/docs/template/stories/toc/ignore-selector.stories.ts
  • code/addons/links/template/stories/decorator.stories.ts
  • code/addons/links/template/stories/hrefto.stories.ts
  • code/addons/links/template/stories/linkto.stories.ts
  • code/addons/themes/template/stories/decorators.stories.ts
  • code/addons/themes/template/stories/globals.stories.ts
  • code/addons/themes/template/stories/parameters.stories.ts
  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/core/src/manager/components/mobile/navigation/MobileNavigation.stories.tsx
  • code/core/src/manager/components/preview/Iframe.stories.tsx
  • code/core/src/manager/components/sidebar/SidebarBottom.stories.tsx
  • code/core/template/stories/argtype.stories.ts
  • code/core/template/stories/backgrounds/globals.stories.ts
  • code/core/template/stories/basics.stories.ts
  • code/core/template/stories/before-each.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/core/template/stories/configs.stories.ts
  • code/core/template/stories/controls/sorting.stories.ts
  • code/core/template/stories/destructuring-not-transpiled.stories.ts
  • code/core/template/stories/loader-enhancements.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
  • code/core/template/stories/mount-in-play.stories.ts
  • code/core/template/stories/parameters-actions.stories.ts
  • code/core/template/stories/rendering.stories.ts
  • code/core/template/stories/spies.stories.ts
  • code/core/template/stories/tags-add.stories.ts
  • code/core/template/stories/tags-config.stories.ts
  • code/core/template/stories/tags-remove.stories.ts
  • code/core/template/stories/viewport/globals.stories.ts
  • code/frameworks/angular/template/stories/basics/component-with-ng-on-destroy/component-with-on-destroy.stories.ts
  • code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx
  • code/frameworks/nextjs/template/stories/RSC.stories.tsx
  • code/renderers/react/template/stories/csf1.stories.tsx
  • code/renderers/react/template/stories/csf2.stories.tsx
  • code/renderers/react/template/stories/errors.stories.tsx
  • code/renderers/react/template/stories/teardown.stories.tsx
🧰 Additional context used
📓 Path-based instructions (5)
**/*.{js,jsx,ts,tsx,json,md,html,css,scss}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Format code using Prettier with yarn prettier --write <file>

Files:

  • code/addons/themes/template/stories/globals.stories.ts
  • code/renderers/react/template/stories/errors.stories.tsx
  • code/addons/themes/template/stories/decorators.stories.ts
  • code/core/template/stories/destructuring-not-transpiled.stories.ts
  • code/core/template/stories/mount-in-play.stories.ts
  • code/addons/themes/template/stories/parameters.stories.ts
  • code/core/template/stories/rendering.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonNoAutodocs.stories.tsx
  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docs2/resolved-react.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonSomeAutodocs.stories.tsx
  • code/core/template/stories/spies.stories.ts
  • code/core/template/stories/tags-add.stories.ts
  • code/core/template/stories/argtype.stories.ts
  • code/addons/docs/template/stories/docs2/button.stories.ts
  • code/addons/docs/template/stories/toc/ignore-selector.stories.ts
  • code/addons/docs/template/stories/toc/custom-title.stories.ts
  • code/core/template/stories/controls/sorting.stories.ts
  • code/addons/docs/template/stories/docspage/overflow.stories.ts
  • code/addons/links/template/stories/hrefto.stories.ts
  • code/core/src/manager/components/sidebar/SidebarBottom.stories.tsx
  • code/addons/a11y/template/stories/tests.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docspage/basic.stories.ts
  • code/addons/links/template/stories/decorator.stories.ts
  • code/core/template/stories/configs.stories.ts
  • code/core/template/stories/before-each.stories.ts
  • code/addons/links/template/stories/linkto.stories.ts
  • code/core/template/stories/viewport/globals.stories.ts
  • code/renderers/react/template/stories/csf2.stories.tsx
  • code/addons/docs/template/stories/docspage/iframe.stories.ts
  • code/frameworks/angular/template/stories/basics/component-with-ng-on-destroy/component-with-on-destroy.stories.ts
  • code/renderers/react/template/stories/teardown.stories.tsx
  • code/addons/docs/template/stories/codePanel/index.stories.tsx
  • code/core/template/stories/loader-enhancements.stories.ts
  • code/addons/docs/template/stories/docspage/extract-description.stories.ts
  • code/addons/docs/template/stories/docspage/description.stories.ts
  • code/frameworks/nextjs/template/stories/RSC.stories.tsx
  • MIGRATION.md
  • code/addons/docs/template/stories/docs2/multiple-csf-files-b.stories.ts
  • code/addons/docs/template/stories/docspage/source.stories.ts
  • code/addons/docs/template/stories/docspage/error.stories.ts
  • code/core/template/stories/parameters-actions.stories.ts
  • code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx
  • code/addons/docs/template/stories/docspage/override.stories.ts
  • code/addons/docs/template/stories/toc/basic.stories.ts
  • code/core/src/manager/components/mobile/navigation/MobileNavigation.stories.tsx
  • code/core/template/stories/basics.stories.ts
  • code/addons/docs/template/stories/docspage/autoplay.stories.ts
  • code/addons/docs/template/stories/docs2/multiple-csf-files-a.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
  • code/core/template/stories/backgrounds/globals.stories.ts
  • code/addons/docs/template/stories/toc/custom-selector.stories.ts
  • code/addons/a11y/template/stories/parameters.stories.ts
  • code/core/src/manager/components/preview/Iframe.stories.tsx
  • code/renderers/react/template/stories/csf1.stories.tsx
  • code/core/template/stories/tags-remove.stories.ts
  • code/core/template/stories/tags-config.stories.ts
  • code/addons/docs/src/blocks/examples/Button.stories.tsx
**/*.{js,jsx,json,html,ts,tsx,mjs}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Run ESLint checks using yarn lint:js:cmd <file> or the full command cross-env NODE_ENV=production eslint --cache --cache-location=../.cache/eslint --ext .js,.jsx,.json,.html,.ts,.tsx,.mjs --report-unused-disable-directives to fix linting errors before committing

Files:

  • code/addons/themes/template/stories/globals.stories.ts
  • code/renderers/react/template/stories/errors.stories.tsx
  • code/addons/themes/template/stories/decorators.stories.ts
  • code/core/template/stories/destructuring-not-transpiled.stories.ts
  • code/core/template/stories/mount-in-play.stories.ts
  • code/addons/themes/template/stories/parameters.stories.ts
  • code/core/template/stories/rendering.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonNoAutodocs.stories.tsx
  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docs2/resolved-react.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonSomeAutodocs.stories.tsx
  • code/core/template/stories/spies.stories.ts
  • code/core/template/stories/tags-add.stories.ts
  • code/core/template/stories/argtype.stories.ts
  • code/addons/docs/template/stories/docs2/button.stories.ts
  • code/addons/docs/template/stories/toc/ignore-selector.stories.ts
  • code/addons/docs/template/stories/toc/custom-title.stories.ts
  • code/core/template/stories/controls/sorting.stories.ts
  • code/addons/docs/template/stories/docspage/overflow.stories.ts
  • code/addons/links/template/stories/hrefto.stories.ts
  • code/core/src/manager/components/sidebar/SidebarBottom.stories.tsx
  • code/addons/a11y/template/stories/tests.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docspage/basic.stories.ts
  • code/addons/links/template/stories/decorator.stories.ts
  • code/core/template/stories/configs.stories.ts
  • code/core/template/stories/before-each.stories.ts
  • code/addons/links/template/stories/linkto.stories.ts
  • code/core/template/stories/viewport/globals.stories.ts
  • code/renderers/react/template/stories/csf2.stories.tsx
  • code/addons/docs/template/stories/docspage/iframe.stories.ts
  • code/frameworks/angular/template/stories/basics/component-with-ng-on-destroy/component-with-on-destroy.stories.ts
  • code/renderers/react/template/stories/teardown.stories.tsx
  • code/addons/docs/template/stories/codePanel/index.stories.tsx
  • code/core/template/stories/loader-enhancements.stories.ts
  • code/addons/docs/template/stories/docspage/extract-description.stories.ts
  • code/addons/docs/template/stories/docspage/description.stories.ts
  • code/frameworks/nextjs/template/stories/RSC.stories.tsx
  • code/addons/docs/template/stories/docs2/multiple-csf-files-b.stories.ts
  • code/addons/docs/template/stories/docspage/source.stories.ts
  • code/addons/docs/template/stories/docspage/error.stories.ts
  • code/core/template/stories/parameters-actions.stories.ts
  • code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx
  • code/addons/docs/template/stories/docspage/override.stories.ts
  • code/addons/docs/template/stories/toc/basic.stories.ts
  • code/core/src/manager/components/mobile/navigation/MobileNavigation.stories.tsx
  • code/core/template/stories/basics.stories.ts
  • code/addons/docs/template/stories/docspage/autoplay.stories.ts
  • code/addons/docs/template/stories/docs2/multiple-csf-files-a.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
  • code/core/template/stories/backgrounds/globals.stories.ts
  • code/addons/docs/template/stories/toc/custom-selector.stories.ts
  • code/addons/a11y/template/stories/parameters.stories.ts
  • code/core/src/manager/components/preview/Iframe.stories.tsx
  • code/renderers/react/template/stories/csf1.stories.tsx
  • code/core/template/stories/tags-remove.stories.ts
  • code/core/template/stories/tags-config.stories.ts
  • code/addons/docs/src/blocks/examples/Button.stories.tsx
**/*.{ts,tsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Enable TypeScript strict mode across all packages

Files:

  • code/addons/themes/template/stories/globals.stories.ts
  • code/renderers/react/template/stories/errors.stories.tsx
  • code/addons/themes/template/stories/decorators.stories.ts
  • code/core/template/stories/destructuring-not-transpiled.stories.ts
  • code/core/template/stories/mount-in-play.stories.ts
  • code/addons/themes/template/stories/parameters.stories.ts
  • code/core/template/stories/rendering.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonNoAutodocs.stories.tsx
  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docs2/resolved-react.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonSomeAutodocs.stories.tsx
  • code/core/template/stories/spies.stories.ts
  • code/core/template/stories/tags-add.stories.ts
  • code/core/template/stories/argtype.stories.ts
  • code/addons/docs/template/stories/docs2/button.stories.ts
  • code/addons/docs/template/stories/toc/ignore-selector.stories.ts
  • code/addons/docs/template/stories/toc/custom-title.stories.ts
  • code/core/template/stories/controls/sorting.stories.ts
  • code/addons/docs/template/stories/docspage/overflow.stories.ts
  • code/addons/links/template/stories/hrefto.stories.ts
  • code/core/src/manager/components/sidebar/SidebarBottom.stories.tsx
  • code/addons/a11y/template/stories/tests.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docspage/basic.stories.ts
  • code/addons/links/template/stories/decorator.stories.ts
  • code/core/template/stories/configs.stories.ts
  • code/core/template/stories/before-each.stories.ts
  • code/addons/links/template/stories/linkto.stories.ts
  • code/core/template/stories/viewport/globals.stories.ts
  • code/renderers/react/template/stories/csf2.stories.tsx
  • code/addons/docs/template/stories/docspage/iframe.stories.ts
  • code/frameworks/angular/template/stories/basics/component-with-ng-on-destroy/component-with-on-destroy.stories.ts
  • code/renderers/react/template/stories/teardown.stories.tsx
  • code/addons/docs/template/stories/codePanel/index.stories.tsx
  • code/core/template/stories/loader-enhancements.stories.ts
  • code/addons/docs/template/stories/docspage/extract-description.stories.ts
  • code/addons/docs/template/stories/docspage/description.stories.ts
  • code/frameworks/nextjs/template/stories/RSC.stories.tsx
  • code/addons/docs/template/stories/docs2/multiple-csf-files-b.stories.ts
  • code/addons/docs/template/stories/docspage/source.stories.ts
  • code/addons/docs/template/stories/docspage/error.stories.ts
  • code/core/template/stories/parameters-actions.stories.ts
  • code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx
  • code/addons/docs/template/stories/docspage/override.stories.ts
  • code/addons/docs/template/stories/toc/basic.stories.ts
  • code/core/src/manager/components/mobile/navigation/MobileNavigation.stories.tsx
  • code/core/template/stories/basics.stories.ts
  • code/addons/docs/template/stories/docspage/autoplay.stories.ts
  • code/addons/docs/template/stories/docs2/multiple-csf-files-a.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
  • code/core/template/stories/backgrounds/globals.stories.ts
  • code/addons/docs/template/stories/toc/custom-selector.stories.ts
  • code/addons/a11y/template/stories/parameters.stories.ts
  • code/core/src/manager/components/preview/Iframe.stories.tsx
  • code/renderers/react/template/stories/csf1.stories.tsx
  • code/core/template/stories/tags-remove.stories.ts
  • code/core/template/stories/tags-config.stories.ts
  • code/addons/docs/src/blocks/examples/Button.stories.tsx
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

**/*.{ts,tsx,js,jsx}: Export functions from modules if they need to be tested
Do not use console.log, console.warn, or console.error directly unless in isolated files where importing loggers would significantly increase bundle size

Files:

  • code/addons/themes/template/stories/globals.stories.ts
  • code/renderers/react/template/stories/errors.stories.tsx
  • code/addons/themes/template/stories/decorators.stories.ts
  • code/core/template/stories/destructuring-not-transpiled.stories.ts
  • code/core/template/stories/mount-in-play.stories.ts
  • code/addons/themes/template/stories/parameters.stories.ts
  • code/core/template/stories/rendering.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonNoAutodocs.stories.tsx
  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docs2/resolved-react.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonSomeAutodocs.stories.tsx
  • code/core/template/stories/spies.stories.ts
  • code/core/template/stories/tags-add.stories.ts
  • code/core/template/stories/argtype.stories.ts
  • code/addons/docs/template/stories/docs2/button.stories.ts
  • code/addons/docs/template/stories/toc/ignore-selector.stories.ts
  • code/addons/docs/template/stories/toc/custom-title.stories.ts
  • code/core/template/stories/controls/sorting.stories.ts
  • code/addons/docs/template/stories/docspage/overflow.stories.ts
  • code/addons/links/template/stories/hrefto.stories.ts
  • code/core/src/manager/components/sidebar/SidebarBottom.stories.tsx
  • code/addons/a11y/template/stories/tests.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docspage/basic.stories.ts
  • code/addons/links/template/stories/decorator.stories.ts
  • code/core/template/stories/configs.stories.ts
  • code/core/template/stories/before-each.stories.ts
  • code/addons/links/template/stories/linkto.stories.ts
  • code/core/template/stories/viewport/globals.stories.ts
  • code/renderers/react/template/stories/csf2.stories.tsx
  • code/addons/docs/template/stories/docspage/iframe.stories.ts
  • code/frameworks/angular/template/stories/basics/component-with-ng-on-destroy/component-with-on-destroy.stories.ts
  • code/renderers/react/template/stories/teardown.stories.tsx
  • code/addons/docs/template/stories/codePanel/index.stories.tsx
  • code/core/template/stories/loader-enhancements.stories.ts
  • code/addons/docs/template/stories/docspage/extract-description.stories.ts
  • code/addons/docs/template/stories/docspage/description.stories.ts
  • code/frameworks/nextjs/template/stories/RSC.stories.tsx
  • code/addons/docs/template/stories/docs2/multiple-csf-files-b.stories.ts
  • code/addons/docs/template/stories/docspage/source.stories.ts
  • code/addons/docs/template/stories/docspage/error.stories.ts
  • code/core/template/stories/parameters-actions.stories.ts
  • code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx
  • code/addons/docs/template/stories/docspage/override.stories.ts
  • code/addons/docs/template/stories/toc/basic.stories.ts
  • code/core/src/manager/components/mobile/navigation/MobileNavigation.stories.tsx
  • code/core/template/stories/basics.stories.ts
  • code/addons/docs/template/stories/docspage/autoplay.stories.ts
  • code/addons/docs/template/stories/docs2/multiple-csf-files-a.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
  • code/core/template/stories/backgrounds/globals.stories.ts
  • code/addons/docs/template/stories/toc/custom-selector.stories.ts
  • code/addons/a11y/template/stories/parameters.stories.ts
  • code/core/src/manager/components/preview/Iframe.stories.tsx
  • code/renderers/react/template/stories/csf1.stories.tsx
  • code/core/template/stories/tags-remove.stories.ts
  • code/core/template/stories/tags-config.stories.ts
  • code/addons/docs/src/blocks/examples/Button.stories.tsx
code/{core,lib,addons,builders,frameworks,presets}/**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Use logger from storybook/internal/node-logger for server-side logging in Node.js code

Files:

  • code/addons/themes/template/stories/globals.stories.ts
  • code/addons/themes/template/stories/decorators.stories.ts
  • code/core/template/stories/destructuring-not-transpiled.stories.ts
  • code/core/template/stories/mount-in-play.stories.ts
  • code/addons/themes/template/stories/parameters.stories.ts
  • code/core/template/stories/rendering.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonNoAutodocs.stories.tsx
  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docs2/resolved-react.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonSomeAutodocs.stories.tsx
  • code/core/template/stories/spies.stories.ts
  • code/core/template/stories/tags-add.stories.ts
  • code/core/template/stories/argtype.stories.ts
  • code/addons/docs/template/stories/docs2/button.stories.ts
  • code/addons/docs/template/stories/toc/ignore-selector.stories.ts
  • code/addons/docs/template/stories/toc/custom-title.stories.ts
  • code/core/template/stories/controls/sorting.stories.ts
  • code/addons/docs/template/stories/docspage/overflow.stories.ts
  • code/addons/links/template/stories/hrefto.stories.ts
  • code/core/src/manager/components/sidebar/SidebarBottom.stories.tsx
  • code/addons/a11y/template/stories/tests.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docspage/basic.stories.ts
  • code/addons/links/template/stories/decorator.stories.ts
  • code/core/template/stories/configs.stories.ts
  • code/core/template/stories/before-each.stories.ts
  • code/addons/links/template/stories/linkto.stories.ts
  • code/core/template/stories/viewport/globals.stories.ts
  • code/addons/docs/template/stories/docspage/iframe.stories.ts
  • code/frameworks/angular/template/stories/basics/component-with-ng-on-destroy/component-with-on-destroy.stories.ts
  • code/addons/docs/template/stories/codePanel/index.stories.tsx
  • code/core/template/stories/loader-enhancements.stories.ts
  • code/addons/docs/template/stories/docspage/extract-description.stories.ts
  • code/addons/docs/template/stories/docspage/description.stories.ts
  • code/frameworks/nextjs/template/stories/RSC.stories.tsx
  • code/addons/docs/template/stories/docs2/multiple-csf-files-b.stories.ts
  • code/addons/docs/template/stories/docspage/source.stories.ts
  • code/addons/docs/template/stories/docspage/error.stories.ts
  • code/core/template/stories/parameters-actions.stories.ts
  • code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx
  • code/addons/docs/template/stories/docspage/override.stories.ts
  • code/addons/docs/template/stories/toc/basic.stories.ts
  • code/core/src/manager/components/mobile/navigation/MobileNavigation.stories.tsx
  • code/core/template/stories/basics.stories.ts
  • code/addons/docs/template/stories/docspage/autoplay.stories.ts
  • code/addons/docs/template/stories/docs2/multiple-csf-files-a.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
  • code/core/template/stories/backgrounds/globals.stories.ts
  • code/addons/docs/template/stories/toc/custom-selector.stories.ts
  • code/addons/a11y/template/stories/parameters.stories.ts
  • code/core/src/manager/components/preview/Iframe.stories.tsx
  • code/core/template/stories/tags-remove.stories.ts
  • code/core/template/stories/tags-config.stories.ts
  • code/addons/docs/src/blocks/examples/Button.stories.tsx
🧠 Learnings (19)
📚 Learning: 2025-09-24T09:39:39.233Z
Learnt from: ndelangen
Repo: storybookjs/storybook PR: 32507
File: code/core/src/manager/globals/globals-module-info.ts:25-33
Timestamp: 2025-09-24T09:39:39.233Z
Learning: In Storybook, storybook/actions/decorator is a preview-only entrypoint and should not be included in manager globals configuration. The duplicatedKeys array in code/core/src/manager/globals/globals-module-info.ts is specifically for manager-side externalization, not preview entrypoints.

Applied to files:

  • code/addons/themes/template/stories/globals.stories.ts
  • code/renderers/react/template/stories/errors.stories.tsx
  • code/addons/themes/template/stories/decorators.stories.ts
  • code/core/template/stories/destructuring-not-transpiled.stories.ts
  • code/core/template/stories/mount-in-play.stories.ts
  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docs2/button.stories.ts
  • code/addons/docs/template/stories/toc/ignore-selector.stories.ts
  • code/addons/docs/template/stories/toc/custom-title.stories.ts
  • code/core/template/stories/controls/sorting.stories.ts
  • code/addons/links/template/stories/hrefto.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/addons/links/template/stories/decorator.stories.ts
  • code/core/template/stories/configs.stories.ts
  • code/addons/links/template/stories/linkto.stories.ts
  • code/core/template/stories/viewport/globals.stories.ts
  • code/frameworks/angular/template/stories/basics/component-with-ng-on-destroy/component-with-on-destroy.stories.ts
  • code/renderers/react/template/stories/teardown.stories.tsx
  • code/addons/docs/template/stories/codePanel/index.stories.tsx
  • code/core/template/stories/loader-enhancements.stories.ts
  • code/addons/docs/template/stories/docs2/multiple-csf-files-b.stories.ts
  • code/addons/docs/template/stories/docspage/source.stories.ts
  • code/addons/docs/template/stories/docspage/error.stories.ts
  • code/core/template/stories/parameters-actions.stories.ts
  • code/addons/docs/template/stories/toc/basic.stories.ts
  • code/core/src/manager/components/mobile/navigation/MobileNavigation.stories.tsx
  • code/core/template/stories/backgrounds/globals.stories.ts
  • code/addons/docs/template/stories/toc/custom-selector.stories.ts
  • code/core/src/manager/components/preview/Iframe.stories.tsx
  • code/core/template/stories/tags-remove.stories.ts
📚 Learning: 2025-09-18T20:51:06.618Z
Learnt from: Sidnioulz
Repo: storybookjs/storybook PR: 32458
File: code/core/src/viewport/components/Tool.tsx:38-39
Timestamp: 2025-09-18T20:51:06.618Z
Learning: The useGlobals hook from storybook/manager-api returns a tuple where the third element (storyGlobals) is typed as Globals, not Globals | undefined. This means TypeScript guarantees it's always defined, making the `in` operator safe to use without additional null checks.

Applied to files:

  • code/addons/themes/template/stories/globals.stories.ts
  • code/core/src/manager/components/mobile/navigation/MobileNavigation.stories.tsx
📚 Learning: 2025-09-18T20:51:06.618Z
Learnt from: Sidnioulz
Repo: storybookjs/storybook PR: 32458
File: code/core/src/viewport/components/Tool.tsx:38-39
Timestamp: 2025-09-18T20:51:06.618Z
Learning: In viewport tool code, when using the `useGlobals` hook from storybook/manager-api, the third returned value `storyGlobals` is guaranteed by TypeScript to be defined (not undefined/null), making the `in` operator safe to use without additional null checks.

Applied to files:

  • code/addons/themes/template/stories/globals.stories.ts
  • code/core/template/stories/viewport/globals.stories.ts
  • code/core/src/manager/components/mobile/navigation/MobileNavigation.stories.tsx
📚 Learning: 2025-11-05T09:38:47.712Z
Learnt from: Sidnioulz
Repo: storybookjs/storybook PR: 32458
File: code/core/src/components/components/Select/Select.tsx:200-204
Timestamp: 2025-11-05T09:38:47.712Z
Learning: Repo: storybookjs/storybook — Guidance: Until Storybook 11 is released, do not suggest using React.useId anywhere (e.g., in code/core/src/components/components/Select/Select.tsx) to maintain compatibility with React 17 runtimes. Prefer advising: accept a caller-provided props.id and, if needed, generate a client-only fallback id to minimize SSR hydration issues — but avoid useId. Resume prompting for useId after Storybook 11.

Applied to files:

  • code/renderers/react/template/stories/errors.stories.tsx
  • code/core/template/stories/destructuring-not-transpiled.stories.ts
  • code/core/template/stories/mount-in-play.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonNoAutodocs.stories.tsx
  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/addons/docs/template/stories/docs2/resolved-react.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonSomeAutodocs.stories.tsx
  • code/addons/docs/template/stories/docs2/button.stories.ts
  • code/addons/docs/template/stories/toc/ignore-selector.stories.ts
  • code/addons/docs/template/stories/toc/custom-title.stories.ts
  • code/core/template/stories/controls/sorting.stories.ts
  • code/addons/links/template/stories/hrefto.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/addons/links/template/stories/decorator.stories.ts
  • code/core/template/stories/configs.stories.ts
  • code/addons/docs/template/stories/docspage/iframe.stories.ts
  • code/frameworks/angular/template/stories/basics/component-with-ng-on-destroy/component-with-on-destroy.stories.ts
  • code/renderers/react/template/stories/teardown.stories.tsx
  • code/core/template/stories/loader-enhancements.stories.ts
  • code/frameworks/nextjs/template/stories/RSC.stories.tsx
  • code/addons/docs/template/stories/docspage/source.stories.ts
  • code/addons/docs/template/stories/docspage/error.stories.ts
  • code/core/template/stories/parameters-actions.stories.ts
  • code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx
  • code/addons/docs/template/stories/toc/basic.stories.ts
  • code/addons/docs/template/stories/toc/custom-selector.stories.ts
  • code/core/src/manager/components/preview/Iframe.stories.tsx
  • code/renderers/react/template/stories/csf1.stories.tsx
  • code/core/template/stories/tags-remove.stories.ts
  • code/addons/docs/src/blocks/examples/Button.stories.tsx
📚 Learning: 2025-11-05T09:37:25.920Z
Learnt from: Sidnioulz
Repo: storybookjs/storybook PR: 32458
File: code/core/src/components/components/tooltip/WithTooltip.tsx:54-96
Timestamp: 2025-11-05T09:37:25.920Z
Learning: Repo: storybookjs/storybook — In code/core/src/components/components/tooltip/WithTooltip.tsx, the legacy WithTooltip implementation is intentionally reintroduced for backward compatibility and is deprecated; maintainers (per Sidnioulz) do not want maintenance or improvements on it. Prefer WithTooltipNew/Popover; avoid suggesting changes to WithTooltip.* going forward.

Applied to files:

  • code/renderers/react/template/stories/errors.stories.tsx
  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/addons/docs/src/blocks/examples/ButtonSomeAutodocs.stories.tsx
  • code/addons/docs/template/stories/docs2/button.stories.ts
  • code/addons/docs/template/stories/toc/ignore-selector.stories.ts
  • code/addons/docs/template/stories/toc/custom-title.stories.ts
  • code/core/template/stories/controls/sorting.stories.ts
  • code/addons/links/template/stories/hrefto.stories.ts
  • code/core/src/manager/components/sidebar/SidebarBottom.stories.tsx
  • code/addons/links/template/stories/decorator.stories.ts
  • code/core/template/stories/configs.stories.ts
  • code/addons/links/template/stories/linkto.stories.ts
  • code/addons/docs/template/stories/docspage/iframe.stories.ts
  • code/frameworks/angular/template/stories/basics/component-with-ng-on-destroy/component-with-on-destroy.stories.ts
  • code/renderers/react/template/stories/teardown.stories.tsx
  • code/addons/docs/template/stories/codePanel/index.stories.tsx
  • code/core/template/stories/loader-enhancements.stories.ts
  • code/addons/docs/template/stories/docspage/error.stories.ts
  • code/addons/docs/template/stories/toc/basic.stories.ts
  • code/addons/docs/template/stories/toc/custom-selector.stories.ts
  • code/core/src/manager/components/preview/Iframe.stories.tsx
  • code/core/template/stories/tags-remove.stories.ts
📚 Learning: 2025-11-24T17:49:59.279Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .cursor/rules/spy-mocking.mdc:0-0
Timestamp: 2025-11-24T17:49:59.279Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Avoid mocking without the `spy: true` option in Vitest tests

Applied to files:

  • code/renderers/react/template/stories/errors.stories.tsx
  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/core/template/stories/spies.stories.ts
  • code/core/src/manager/components/sidebar/SidebarBottom.stories.tsx
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
📚 Learning: 2025-11-24T17:49:59.279Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .cursor/rules/spy-mocking.mdc:0-0
Timestamp: 2025-11-24T17:49:59.279Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Avoid inline mock implementations within test cases in Vitest tests

Applied to files:

  • code/renderers/react/template/stories/errors.stories.tsx
  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/frameworks/nextjs/template/stories/RSC.stories.tsx
  • code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx
  • code/core/template/stories/moduleMocking.stories.ts
📚 Learning: 2025-11-05T09:36:55.944Z
Learnt from: Sidnioulz
Repo: storybookjs/storybook PR: 32458
File: code/core/src/components/components/Tabs/Tabs.stories.tsx:222-227
Timestamp: 2025-11-05T09:36:55.944Z
Learning: Repo: storybookjs/storybook PR: 32458 — In code/core/src/components/components/Button/Button.tsx (React/TypeScript), ButtonProps includes ariaLabel?: string | false and the component maps it to the DOM aria-label. Convention: ariaLabel is mandatory on all Button usages — provide a descriptive string for icon-only buttons; set ariaLabel=false when the button’s children already serve as the accessible name. Do not suggest using a raw aria-label prop on Button call sites.

Applied to files:

  • code/addons/docs/src/blocks/examples/ButtonNoAutodocs.stories.tsx
  • code/addons/docs/src/blocks/examples/ButtonSomeAutodocs.stories.tsx
  • code/addons/docs/template/stories/docs2/button.stories.ts
  • code/addons/docs/template/stories/toc/ignore-selector.stories.ts
  • code/addons/docs/template/stories/toc/custom-title.stories.ts
  • code/addons/docs/template/stories/codePanel/index.stories.tsx
  • code/addons/docs/template/stories/toc/basic.stories.ts
  • code/addons/docs/template/stories/toc/custom-selector.stories.ts
  • code/addons/docs/src/blocks/examples/Button.stories.tsx
📚 Learning: 2025-11-24T17:49:59.279Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .cursor/rules/spy-mocking.mdc:0-0
Timestamp: 2025-11-24T17:49:59.279Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Document complex mock behaviors in Vitest tests

Applied to files:

  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/frameworks/nextjs/template/stories/RSC.stories.tsx
  • code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx
  • code/core/template/stories/moduleMocking.stories.ts
📚 Learning: 2025-11-24T17:49:59.279Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .cursor/rules/spy-mocking.mdc:0-0
Timestamp: 2025-11-24T17:49:59.279Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Avoid mocking only a subset of required dependencies in Vitest tests

Applied to files:

  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
📚 Learning: 2025-11-24T17:49:59.279Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .cursor/rules/spy-mocking.mdc:0-0
Timestamp: 2025-11-24T17:49:59.279Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Avoid direct function mocking without `vi.mocked()` in Vitest tests

Applied to files:

  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
📚 Learning: 2025-11-24T17:49:31.838Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .cursorrules:0-0
Timestamp: 2025-11-24T17:49:31.838Z
Learning: Applies to **/*.{test,spec}.{ts,tsx} : Follow the spy mocking rules defined in `.cursor/rules/spy-mocking.mdc` for consistent mocking patterns with Vitest

Applied to files:

  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/core/template/stories/spies.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
📚 Learning: 2025-11-24T17:49:59.279Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .cursor/rules/spy-mocking.mdc:0-0
Timestamp: 2025-11-24T17:49:59.279Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Implement mock behaviors in `beforeEach` blocks in Vitest tests

Applied to files:

  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/core/template/stories/spies.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/core/template/stories/before-each.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
📚 Learning: 2025-11-24T17:49:59.279Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .cursor/rules/spy-mocking.mdc:0-0
Timestamp: 2025-11-24T17:49:59.279Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Keep mock implementations simple and focused in Vitest tests

Applied to files:

  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
📚 Learning: 2025-11-24T17:49:59.279Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .cursor/rules/spy-mocking.mdc:0-0
Timestamp: 2025-11-24T17:49:59.279Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Use `vi.mock()` with the `spy: true` option for all package and file mocks in Vitest tests

Applied to files:

  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/core/template/stories/spies.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
📚 Learning: 2025-11-24T17:49:59.279Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .cursor/rules/spy-mocking.mdc:0-0
Timestamp: 2025-11-24T17:49:59.279Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Mock all required properties and methods that the test subject uses in Vitest tests

Applied to files:

  • code/addons/vitest/template/stories/unhandled-errors.stories.ts
  • code/core/template/stories/component-test.unhandled-errors.stories.ts
📚 Learning: 2025-11-24T17:49:59.279Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .cursor/rules/spy-mocking.mdc:0-0
Timestamp: 2025-11-24T17:49:59.279Z
Learning: Applies to **/*.test.{ts,tsx,js,jsx} : Avoid mock implementations outside of `beforeEach` blocks in Vitest tests

Applied to files:

  • code/core/template/stories/before-each.stories.ts
  • code/core/template/stories/moduleMocking.stories.ts
📚 Learning: 2025-12-22T22:03:40.109Z
Learnt from: CR
Repo: storybookjs/storybook PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-22T22:03:40.109Z
Learning: Applies to docs/**/migration*.md : Update migration guides for breaking changes

Applied to files:

  • MIGRATION.md
📚 Learning: 2025-10-01T15:24:01.060Z
Learnt from: Sidnioulz
Repo: storybookjs/storybook PR: 32594
File: code/core/src/components/components/Popover/WithPopover.tsx:7-9
Timestamp: 2025-10-01T15:24:01.060Z
Learning: In the Storybook repository, "react-aria-components/patched-dist/*" (e.g., "react-aria-components/patched-dist/Dialog", "react-aria-components/patched-dist/Popover", "react-aria-components/patched-dist/Tooltip") are valid import paths created by a patch applied to the react-aria-components package. These imports should not be flagged as broken or invalid until a maintainer explicitly states they are no longer acceptable.

Applied to files:

  • code/core/template/stories/tags-remove.stories.ts
🧬 Code graph analysis (1)
code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx (1)
code/frameworks/nextjs/template/stories/RSC.stories.tsx (1)
  • Errored (30-38)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: normal
  • GitHub Check: Core Unit Tests, windows-latest
  • GitHub Check: nx
🔇 Additional comments (64)
code/addons/a11y/template/stories/parameters.stories.ts (1)

9-9: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot aligns with Chromatic's recommendations and makes the intent more explicit.

code/frameworks/nextjs/template/stories/RSC.stories.tsx (2)

25-25: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot is correct and consistent with the PR objectives.


33-33: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot is correct and consistent with the PR objectives.

code/renderers/react/template/stories/csf2.stories.tsx (1)

6-6: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot is correct and aligns with Chromatic's best practices.

code/addons/links/template/stories/decorator.stories.ts (2)

8-8: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot is correct and consistent with the repository-wide migration.


22-22: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot is correct and consistent with the repository-wide migration.

code/renderers/react/template/stories/csf1.stories.tsx (1)

6-6: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot is correct and aligns with the PR's migration objectives.

code/core/template/stories/basics.stories.ts (1)

11-11: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot is correct and consistent with the repository-wide refactor.

code/core/template/stories/rendering.stories.ts (1)

57-57: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot is correct and aligns with the migration to more explicit snapshot control.

code/addons/docs/template/stories/docs2/button.stories.ts (1)

6-6: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot is correct and consistent with the repository-wide migration.

code/core/src/manager/components/mobile/navigation/MobileNavigation.stories.tsx (1)

117-117: LGTM: Chromatic parameter correctly updated.

The rename from disable to disableSnapshot is consistent with the PR objective and aligns with Chromatic's recommended configuration.

code/addons/docs/template/stories/docspage/override.stories.ts (1)

19-19: LGTM: Chromatic parameter correctly updated.

The parameter rename is correct and consistent with the PR-wide migration to disableSnapshot.

code/addons/docs/template/stories/docspage/overflow.stories.ts (1)

8-8: LGTM: Chromatic parameter correctly updated.

code/frameworks/angular/template/stories/basics/component-with-ng-on-destroy/component-with-on-destroy.stories.ts (1)

37-37: LGTM: Chromatic parameter correctly updated.

The parameter rename maintains the intended behavior of disabling snapshots for this time-dependent component.

code/addons/links/template/stories/linkto.stories.ts (1)

12-12: LGTM: Chromatic parameters correctly updated.

Both occurrences of the parameter have been consistently renamed to disableSnapshot.

Also applies to: 21-21

code/addons/themes/template/stories/decorators.stories.ts (1)

52-52: LGTM: Chromatic parameter correctly updated.

The rename is correct. Note that line 53's themes: { disable: false } is a separate configuration for the themes addon and is correctly left unchanged.

code/addons/docs/template/stories/codePanel/index.stories.tsx (1)

5-5: LGTM: Chromatic parameter correctly updated.

code/core/template/stories/spies.stories.ts (1)

17-17: LGTM: Chromatic parameter correctly updated.

code/addons/docs/src/blocks/examples/Button.stories.tsx (1)

139-139: LGTM!

The property rename from disable to disableSnapshot is correct and aligns with the PR objective to prevent the Visual Tests panel from disappearing on stories where snapshotting is disabled.

code/core/template/stories/configs.stories.ts (1)

13-13: LGTM!

The property rename from disable to disableSnapshot is correct and consistent with the PR's cleanup objective.

code/core/src/manager/components/sidebar/SidebarBottom.stories.tsx (1)

140-140: LGTM!

The property rename from disable to disableSnapshot correctly preserves the intent to exclude this dynamic height test from Chromatic snapshots.

MIGRATION.md (1)

3671-3671: Example correctly updated to chromatic.disableSnapshot

The migration example now matches the new recommended Chromatic parameter name; no further changes needed here.

code/addons/links/template/stories/hrefto.stories.ts (1)

7-7: LGTM! Chromatic configuration updated correctly.

The property rename from disable to disableSnapshot aligns with Chromatic's recommendations and ensures the Visual Tests panel remains visible.

code/core/template/stories/loader-enhancements.stories.ts (1)

6-6: LGTM! Property renamed correctly.

The Chromatic configuration has been properly updated to use disableSnapshot instead of disable.

code/core/template/stories/moduleMocking.stories.ts (1)

15-16: LGTM! Chromatic configuration updated correctly.

The property has been renamed from disable to disableSnapshot as intended.

code/core/template/stories/destructuring-not-transpiled.stories.ts (1)

13-13: LGTM! Configuration updated correctly.

The Chromatic snapshot configuration has been properly renamed to disableSnapshot.

code/core/template/stories/viewport/globals.stories.ts (1)

13-13: LGTM! Property renamed as intended.

The Chromatic configuration has been correctly updated to use disableSnapshot.

code/addons/docs/template/stories/docspage/basic.stories.ts (1)

7-7: LGTM! Configuration updated correctly.

The property has been renamed from disable to disableSnapshot as intended.

code/addons/docs/template/stories/docs2/resolved-react.stories.ts (1)

52-52: LGTM! Chromatic configuration updated correctly.

The property rename from disable to disableSnapshot is correct and the accompanying comment explaining why snapshots are disabled remains accurate.

code/addons/docs/template/stories/docspage/iframe.stories.ts (1)

6-6: LGTM! Property renamed correctly.

The Chromatic configuration has been properly updated to use disableSnapshot instead of disable.

code/addons/themes/template/stories/globals.stories.ts (1)

45-46: LGTM! Note the parameter naming difference.

The Chromatic configuration update is correct. Note that line 46 uses themes: { disable: false } while line 45 uses chromatic: { disableSnapshot: true }. This naming difference is likely intentional as these are separate addon configurations, but it's worth being aware of the inconsistency.

code/addons/docs/template/stories/docs2/multiple-csf-files-a.stories.ts (1)

9-9: LGTM!

The parameter rename is consistent with the PR objective to align with Chromatic's recommended configuration.

code/addons/docs/template/stories/docspage/autoplay.stories.ts (1)

7-7: LGTM!

The Chromatic configuration update is correct and consistent with the repository-wide refactor.

code/addons/docs/src/blocks/examples/ButtonSomeAutodocs.stories.tsx (1)

12-12: LGTM!

The parameter rename from disable to disableSnapshot is correct and maintains type safety with the Meta type.

code/renderers/react/template/stories/errors.stories.tsx (1)

9-9: LGTM!

The Chromatic configuration update is appropriate for error test stories and aligns with the PR objective.

code/addons/docs/template/stories/docspage/source.stories.ts (1)

9-9: LGTM!

The parameter update is consistent with the repository-wide refactor to use disableSnapshot for Chromatic configuration.

code/core/template/stories/parameters-actions.stories.ts (1)

11-11: LGTM!

The Chromatic configuration update is correct and consistent with the cleanup objective across all reviewed files.

code/addons/docs/template/stories/docspage/extract-description.stories.ts (1)

12-12: LGTM! The rename from disable to disableSnapshot is correct and aligns with @chromatic-com/storybook v4.1.2 documentation.

code/core/template/stories/controls/sorting.stories.ts (1)

27-27: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot aligns with Chromatic's recommendations and maintains the same snapshot-disabling behavior.

code/renderers/react/template/stories/teardown.stories.tsx (1)

18-18: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot is consistent with the PR objectives and Chromatic best practices.

code/addons/a11y/template/stories/tests.stories.ts (1)

9-9: LGTM! Chromatic parameter updated correctly.

The rename to disableSnapshot is consistent with Chromatic recommendations.

code/addons/docs/template/stories/toc/ignore-selector.stories.ts (1)

5-5: LGTM! Chromatic parameter updated correctly.

The property rename maintains snapshot-disabling behavior while following Chromatic's updated conventions.

code/core/template/stories/argtype.stories.ts (1)

12-12: LGTM! Chromatic parameter updated correctly.

The rename to disableSnapshot is properly applied.

code/core/template/stories/component-test.unhandled-errors.stories.ts (1)

16-16: LGTM! Chromatic parameter updated correctly.

The property rename is consistent with the PR's cleanup objectives.

code/addons/vitest/template/stories/unhandled-errors.stories.ts (1)

16-16: LGTM! Chromatic parameter updated correctly.

The rename to disableSnapshot follows Chromatic's recommended configuration pattern.

code/addons/docs/template/stories/docs2/multiple-csf-files-b.stories.ts (1)

9-9: LGTM! Chromatic parameter updated correctly.

The property rename from disable to disableSnapshot has been completed across the codebase. No instances of the old pattern remain, and the new pattern is present in 100 locations across 93+ story files.

code/core/template/stories/mount-in-play.stories.ts (1)

8-8: LGTM! Chromatic configuration updated correctly.

The rename from disable to disableSnapshot is consistent with Chromatic's recommended parameter naming and aligns with the PR's goal to prevent the Visual Tests panel from disappearing.

code/addons/docs/src/blocks/examples/ButtonNoAutodocs.stories.tsx (1)

12-12: LGTM! Chromatic parameter updated correctly.

The change from disable to disableSnapshot is consistent with the cleanup objectives.

code/core/template/stories/tags-add.stories.ts (1)

17-17: LGTM! Chromatic configuration updated consistently.

Both the default export and the Inheritance story correctly use disableSnapshot instead of disable, preserving the original true/false semantics.

Also applies to: 28-28

code/core/template/stories/backgrounds/globals.stories.ts (1)

9-9: LGTM! Chromatic parameter renamed correctly.

The change aligns with the PR-wide migration to disableSnapshot.

code/addons/themes/template/stories/parameters.stories.ts (1)

48-48: LGTM! Chromatic configuration updated correctly.

The parameter rename is consistent with the cleanup objectives.

code/frameworks/nextjs-vite/template/stories/RSC.stories.tsx (1)

25-25: LGTM! Chromatic parameters updated consistently.

Both the DisableRSC and Errored stories now use the correct disableSnapshot parameter.

Also applies to: 33-33

code/core/template/stories/tags-remove.stories.ts (1)

17-17: LGTM! Chromatic configuration migrated correctly.

The parameter rename is applied consistently in both the default export and the Inheritance story.

Also applies to: 28-28

code/addons/docs/template/stories/docspage/description.stories.ts (1)

14-14: LGTM! Chromatic parameter updated correctly.

The change from disable to disableSnapshot at line 14 is correct and verified. No other instances of the old pattern exist in the codebase.

code/addons/docs/template/stories/docspage/error.stories.ts (1)

6-6: LGTM! Parameter rename applied correctly.

The rename from disable to disableSnapshot is correct and aligns with the PR objective to use consistent Chromatic configuration.

code/core/template/stories/tags-config.stories.ts (2)

17-17: LGTM! Parameter rename applied correctly.

The rename from disable to disableSnapshot is correct and consistent with the PR objective.


28-28: LGTM! Parameter rename applied correctly.

The rename from disable: false to disableSnapshot: false is correct and maintains the intended behavior.

code/core/src/manager/components/preview/Iframe.stories.tsx (3)

45-45: LGTM! Parameter rename applied correctly.

The rename from disable to disableSnapshot is correct.


93-93: LGTM! Parameter rename applied correctly.

The rename from disable to disableSnapshot is correct.


108-108: LGTM! Parameter rename applied correctly.

The rename from disable to disableSnapshot is correct.

code/core/template/stories/before-each.stories.ts (1)

12-12: LGTM! Parameter renames applied correctly.

All three stories correctly rename disable to disableSnapshot, maintaining the intended behavior and aligning with the PR objective.

Also applies to: 25-25, 32-32

code/addons/docs/template/stories/toc/basic.stories.ts (1)

5-5: LGTM! Parameter rename applied correctly.

The rename from disable to disableSnapshot is correct and consistent with the PR objective.

code/addons/docs/template/stories/toc/custom-selector.stories.ts (1)

5-5: LGTM! Parameter rename applied correctly.

The rename from disable to disableSnapshot is correct and consistent with the PR objective.

code/addons/docs/template/stories/toc/custom-title.stories.ts (1)

5-5: LGTM! Parameter rename applied correctly.

The rename from disable to disableSnapshot is correct and consistent with the PR objective.

Comment on lines 59 to 61
WorkingStory.parameters = {
chromatic: { disable: true },
chromatic: { disableSnapshot: true },
};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Pre-existing bug: Wrong story parameters being set.

Line 60 assigns parameters to WorkingStory but should assign to WorkingDocs (the story defined on line 48). This is a pre-existing bug unrelated to this PR's changes, but should be fixed.

🔎 Proposed fix
 );
-WorkingStory.parameters = {
+WorkingDocs.parameters = {
   chromatic: { disableSnapshot: true },
 };
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
WorkingStory.parameters = {
chromatic: { disable: true },
chromatic: { disableSnapshot: true },
};
WorkingDocs.parameters = {
chromatic: { disableSnapshot: true },
};
🤖 Prompt for AI Agents
In code/core/src/manager/components/preview/Iframe.stories.tsx around lines 59
to 61, the chromatic parameters are being assigned to WorkingStory but they
should be assigned to WorkingDocs (the story declared at line 48); update the
assignment so that WorkingDocs.parameters = { chromatic: { disableSnapshot: true
} } instead of assigning to WorkingStory, ensuring the correct story export
receives the chromatic setting.

@storybook-app-bot
Copy link

storybook-app-bot bot commented Dec 23, 2025

Package Benchmarks

Commit: 1cba4d8, ran on 29 December 2025 at 11:17:26 UTC

No significant changes detected, all good. 👏

@ndelangen ndelangen added ci:daily Run the CI jobs that normally run in the daily job. and removed ci:normal labels Dec 29, 2025
@ndelangen
Copy link
Member

ndelangen commented Dec 29, 2025

Since a new story was added to sandboxes (is this really necessary to be put in a sandbox? @ghengeveld )
I'll re-run with ci:daily.

Never mind, I was incorrect, the changes are not from this PR.

@ndelangen ndelangen merged commit e155919 into next Dec 29, 2025
136 of 139 checks passed
@ndelangen ndelangen deleted the chromatic-disableSnapshots-param branch December 29, 2025 12:04
@github-actions github-actions bot mentioned this pull request Dec 29, 2025
22 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:daily Run the CI jobs that normally run in the daily job. cleanup Minor cleanup style change that won't show up in release changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants