Release: Prerelease 10.5.0-alpha.6#35076
Merged
Merged
Conversation
…lookups
When Svelte's docgen incorrectly emits an array as the `labels` prop,
`labels['reverse']` resolves to `Array.prototype.reverse` via the
prototype chain, causing the control to display
`function reverse() { [native code] }` instead of the option value.
Add an `Array.isArray` guard and use `Object.prototype.hasOwnProperty.call`
so only own-property matches on a plain-object labels map are used;
everything else falls back to `String(item)`.
Fixes #30142
🤖 Generated with [Claude Code](https://claude.ai/claude-code)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Export normalizeOptions from Options.tsx so tests exercise the production function directly rather than a reimplemented copy. 🤖 Generated with [Claude Code](https://claude.ai/claude-code) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…prototype-collision fix
Adds Chromatic-visible stories to CheckOptions, RadioOptions, and
SelectOptions covering the two cases fixed by the normalizeOptions guard:
1. ArrayLabelsPartial / ArrayInlineLabelsPartial
- Only some option keys have label mappings; unlabelled keys must fall
back to String(item) rather than 'undefined'.
2. ArrayLabelsIsArray / ArrayInlineLabelsIsArray / ArrayMultiLabelsIsArray
- When docgen (e.g. Svelte) emits `labels` as an array, options whose
names collide with Array.prototype methods (reverse, map, filter)
previously displayed `function reverse() { [native code] }`.
- With the !Array.isArray + hasOwnProperty guard, every option correctly
displays as its raw string value.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tsx-fallback # Conflicts: # code/core/src/common/utils/interpret-files.ts
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
…mpilation Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
- Added a new background color service with manager, preview, and server components. - Integrated service registration in Storybook's manager and preview files. - Established a communication channel for state synchronization between manager and preview. - Created tests for service registration and subscription behavior.
…e tests Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
Co-authored-by: Sidnioulz <5108577+Sidnioulz@users.noreply.github.com>
- Added a new background color service with manager, preview, and server components. - Integrated service registration in Storybook's manager and preview files. - Established a communication channel for state synchronization between manager and preview. - Created tests for service registration and subscription behavior.
…zation - Updated service registration to automatically join the cross-peer sync protocol without a separate connect step. - Introduced a schema validation mechanism for state synchronization to ensure integrity across runtimes. - Implemented last-write-wins logic for concurrent state updates, improving conflict resolution. - Added comprehensive tests for service registration, state synchronization, and validation behavior. - Removed deprecated service-server-channel integration, consolidating functionality into service-sync.
- Added a new project configuration for the open-service internal demo in Playwright. - Updated Storybook's preview components to synchronize body background color with the open-service background demo. - Introduced a new event for when the preview iframe finishes loading, improving state synchronization. - Enhanced the Viewport component to conditionally render the iframe based on addon loading state. - Added end-to-end tests for the open-service background demo to ensure consistent behavior after reloads.
- Removed the PREVIEW_IFRAME_LOADED_EVENT export from the postMessage channel as it is no longer utilized. - Simplified the IFrame component by eliminating the event dispatch for iframe load completion. - Updated the PostMessageTransport class to remove references to the now-removed event. - Enhanced the Viewport component to streamline iframe rendering logic. - Adjusted the provider module to clean up state management related to addon loading.
- Updated ManagerProvider to run addon register callbacks before the first render, ensuring manager-side listeners are ready for preview JS events. - Refactored the provider module to remove unused API handling logic during initialization. - Simplified open-service tests by consolidating welcome-request retry logic and improving clarity in test cases for welcome-reply handling. - Adjusted end-to-end tests to validate the reload bootstrap path and ensure synchronization between manager and preview components.
- Updated README to clarify the merging of `staticInputs` and handler overrides in service registration. - Improved type safety in `server.test-d.ts` by adding type expectations for input and context in service handlers. - Adjusted service registration tests to ensure handlers and load hooks are correctly defined on service definitions. - Enhanced type definitions in `types.ts` to reflect the correct structure for service query registrations. - Updated docgen service definition to ensure the load hook is correctly associated with the query definition.
…a81' of github.com:storybookjs/storybook into norbert/service-clients
…ybook into norbert/service-clients
…s-version Angular: Fix @angular/forms version to 21 in sandbox
78dc467 to
61d8e1e
Compare
Add regression tests for declared compound subcomponents (Button.Aligner) and namespace-import subcomponents without JSX. metaComponentMatchesRef no longer treats member refs as matching a plain meta.component identifier, and Path 3 resolves namespace imports by module export name rather than the local namespace alias. Co-authored-by: Cursor <cursoragent@cursor.com>
Mirror withProject files into memfs and read story sources from the in-memory volume instead of node:fs in ComponentMetaProject tests. Adds loadDeclaredSubcomponentComponents helper shared by subcomponent cases. Co-authored-by: Cursor <cursoragent@cursor.com>
Ignore Playwright output dirs in Vite watch so trace writes do not reload the dev server during internal e2e, and harden preview-ready waits for cold starts. Co-authored-by: Cursor <cursoragent@cursor.com>
Avoid repeated index scans when mapping bumped story files to component IDs, and add focused unit coverage for the getLatestStoryChanges query contract. Co-authored-by: Cursor <cursoragent@cursor.com>
…p-extraction React: Fix subcomponent prop extraction without JSX usage
61d8e1e to
cedaa6f
Compare
Preview: Stop mixed CSF3+4 stories getting core annotations injected twice
cedaa6f to
9143310
Compare
Module Graph: Refactor from StoryDependencyService to open service-based ModuleGraphService
9143310 to
9c7cd76
Compare
Use onTestFinished for handler spy restore in load-body test, and reuse a single remoteCommandNames Set cleared on attachChannelCommands. Co-authored-by: Cursor <cursoragent@cursor.com>
Move the git cleanliness check to after compile so generated files must be committed before merge. Co-authored-by: Cursor <cursoragent@cursor.com>
…ce type After merging next, the getService<typeof def> callsites for core/module-graph resolved to the definition type (no subscribe/loaded) under this PR's single getService<TInstance> generic. Add a ModuleGraphService instance-type alias and use it. Also fix remoteCommandNames Set.add spread misuse. Co-authored-by: Cursor <cursoragent@cursor.com>
…dy-commands Open Service: Call remote commands in load functions
9c7cd76 to
9b3b9be
Compare
…uild CI: Fail build when compile leaves uncommitted changes
9b3b9be to
c47e6a8
Compare
Package BenchmarksCommit: The following packages have significant changes to their size or dependencies:
|
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 18 | 18 | 0 |
| Self size | 1.28 MB | 1.26 MB | 🎉 -20 KB 🎉 |
| Dependency size | 9.27 MB | 9.27 MB | 🚨 +724 B 🚨 |
| Bundle Size Analyzer | Link | Link |
storybook
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 74 | 72 | 🎉 -2 🎉 |
| Self size | 20.43 MB | 20.73 MB | 🚨 +308 KB 🚨 |
| Dependency size | 36.65 MB | 36.12 MB | 🎉 -531 KB 🎉 |
| Bundle Size Analyzer | Link | Link |
@storybook/ember
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 188 | 189 | 🚨 +1 🚨 |
| Self size | 15 KB | 15 KB | 0 B |
| Dependency size | 30.68 MB | 30.78 MB | 🚨 +102 KB 🚨 |
| Bundle Size Analyzer | Link | Link |
@storybook/cli
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 205 | 203 | 🎉 -2 🎉 |
| Self size | 908 KB | 908 KB | 🚨 +69 B 🚨 |
| Dependency size | 89.21 MB | 88.99 MB | 🎉 -223 KB 🎉 |
| Bundle Size Analyzer | Link | Link |
@storybook/codemod
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 198 | 196 | 🎉 -2 🎉 |
| Self size | 32 KB | 32 KB | 🚨 +36 B 🚨 |
| Dependency size | 87.70 MB | 87.48 MB | 🎉 -224 KB 🎉 |
| Bundle Size Analyzer | Link | Link |
create-storybook
| Before | After | Difference | |
|---|---|---|---|
| Dependency count | 75 | 73 | 🎉 -2 🎉 |
| Self size | 1.08 MB | 1.08 MB | 0 B |
| Dependency size | 57.08 MB | 56.85 MB | 🎉 -224 KB 🎉 |
| Bundle Size Analyzer | node | node |
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.
This is an automated pull request that bumps the version from `10.5.0-alpha.5` to `10.5.0-alpha.6`.
Once this pull request is merged, it will trigger a new release of version `10.5.0-alpha.6`.
If you're not a core maintainer with permissions to release you can ignore this pull request.
To do
Before merging the PR, there are a few QA steps to go through:
And for each change below:
This is a list of all the PRs merged and commits pushed directly to `next`, that will be part of this release:
If you've made any changes doing the above QA (change PR titles, revert PRs), manually trigger a re-generation of this PR with this workflow and wait for it to finish. It will wipe your progress in this to do, which is expected.
Feel free to manually commit any changes necessary to this branch after you've done the last re-generation, following the Make Manual Changes section in the docs, especially if you're making changes to the changelog.
When everything above is done:
Generated changelog
10.5.0-alpha.6