Add storybook#255
Conversation
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 130 out of 132 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (4)
tests/constants/package.json:5
- This package is versioned as 27.0.0, but other workspace packages are already on 28.x (e.g.
tests/playwrightdepends on@coremedia/ckeditor5-itest-constantsasworkspace:^28.0.0). Withworkspace:^, pnpm enforces the semver range, so the workspace install will fail unless this package version matches the requested range.
{
"name": "@coremedia/ckeditor5-itest-constants",
"version": "27.0.0",
"author": "CoreMedia GmbH",
"license": "Apache-2.0",
tests/storybook/package.json:5
@coremedia/ckeditor5-storybook-itestis versioned as 27.0.0 even though the workspace is already on 28.x (many packages, includingtests/playwright, are 28.0.0). This will causeworkspace:^28.0.0consumers to fail to resolve this package version if/when referenced similarly.
tests/storybook/package.json:15- The Storybook package depends on a set of
@coremedia/ckeditor5-*workspace packages usingworkspace:^27.0.0, but those packages are already versioned 28.0.0 in this repo. Withworkspace:^, pnpm will reject the install because the dependency range doesn't match the local package versions.
tests/storybook/src/runtime/outputs.ts:54 installLastOpenedEntitiesstarts its polling interval asynchronously aftergetContentFormService()resolves. If the harness is cleaned up before that promise resolves (e.g. fast story switch/unmount), the returned cleanup will clearundefined, but the interval will still be created later and never cleared, leaking work in the iframe.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 130 out of 132 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
tests/storybook/src/runtime/outputs.ts:54
installLastOpenedEntitiesstarts its polling interval asynchronously aftergetContentFormServiceresolves, but the returned cleanup only clears the interval id that exists at cleanup time. If the story unmounts before the promise resolves, the interval will still be created afterwards and leak across story changes/tests.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 130 out of 132 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
tests/storybook/src/runtime/outputs.ts:54
installLastOpenedEntitiesstarts its pollingsetIntervalonly aftergetContentFormService()resolves, but the returned cleanup may run before that happens. In that case the interval can still be created later and never cleared, leaking timers and potentially updating a detached element after the story unmounts.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 130 out of 132 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
tests/storybook/src/runtime/outputs.ts:54
installLastOpenedEntitiesstarts an asyncgetContentFormService(...).then(...)chain but the returned cleanup only clears the interval. If the scenario is unmounted before the promise resolves, thethencallback can still run afterwards and create a new interval that will never be cleared (leak + background polling). Add a disposal flag (and guard) so no interval is created after cleanup.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 130 out of 132 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
tests/storybook/src/runtime/outputs.ts:54
installLastOpenedEntitiescan leave the output element empty untilgetContentFormService()resolves, causingJSON.parse("")failures in Playwright output helpers, and it can also leak an interval if the story is unmounted before the service promise resolves (the interval would be created after cleanup). Initialize the element to a valid JSON value and make cleanup cancel pending setup + clear only a created interval.
No description provided.