-
-
Notifications
You must be signed in to change notification settings - Fork 9.8k
UI: Fix React error 300 on some addons #33381
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
Conversation
|
View your CI Pipeline Execution ↗ for commit 0e95f1e
☁️ Nx Cloud last updated this comment at |
📝 WalkthroughWalkthroughAdded a helper in Panel.tsx that normalizes addon render props so they can be React elements or functions; PreRenderAddons now uses this helper to ensure the Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Possibly related PRs
✨ Finishing touches
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ 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)
Comment |
Package BenchmarksCommit: No significant changes detected, all good. 👏 |
ghengeveld
left a comment
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.
I would've used a ternary return statement, but generally LGTM.
Generally agreed. Here, this allowed me to scope down the ts-expect-error to the exact problematic code, so I don't risk shadowing future errors elsewhere. |
Feel free to merge this whenever you like, @ghengeveld :) |
f341036 to
9f3f9ff
Compare
9f3f9ff to
0e95f1e
Compare
UI: Fix React error 300 on some addons (cherry picked from commit 14c61ea)
Closes #33352
What I did
Accounted for React elements passed to the
renderprop for addon tools. If the prop is not a function, I'm now usingcloneElementinstead of directly rendering it as a function. This fixes the bug as far as I can tell.Checklist for Contributors
Testing
The changes in this PR are covered in the following automated tests:
ø
Manual testing
Caution
I could not repro on our own SB instance so I ended up having to code a fix in the built SB manager in the repro repo's
node_modules.packages/web-componentsDocumentation
ø
Checklist for Maintainers
When this PR is ready for testing, make sure to add
ci:normal,ci:mergedorci:dailyGH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found incode/lib/cli-storybook/src/sandbox-templates.tsMake 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 pull request has been released as version
0.0.0-pr-33381-sha-f3410369. Try it out in a new sandbox by runningnpx [email protected] sandboxor in an existing project withnpx [email protected] upgrade.More information
0.0.0-pr-33381-sha-f3410369sidnioulz/issue-33352f34103691765972100)To request a new release of this pull request, mention the
@storybookjs/coreteam.core team members can create a new canary release here or locally with
gh workflow run --repo storybookjs/storybook publish.yml --field pr=33381Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.