-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
fix: store effects cleanup & projection siblings serialization #7228
Conversation
🦋 Changeset detectedLatest commit: 19584fb The changes in this PR will be included in the next version bump. This PR includes changesets to release 5 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
3a95d94
to
dae54f6
Compare
dae54f6
to
0403889
Compare
a599e06
to
a6492f8
Compare
commit: |
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
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.
LGTM, but see comments
clearEffects(subscriber, value, value.$effectDependencies$, i, container); | ||
} | ||
|
||
if (value.$effectDependencies$.length === 0) { |
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 wonder if it isn't better to take out the whole effects array, replace with null
or an empty array (removes a bunch of guards), and process all the effects without splicing.
That way the new effects will register in a separate array and we don't need to do array manipulation the whole time.
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.
But we can't just remove all effects. I don't understand how we can do that without modifying the array
a6492f8
to
19584fb
Compare
SERIALIZE
flag, which is a bug, because we did not serialize component props that were siblings of the projection