Skip to content

Conversation

@Rich-Harris
Copy link
Member

There was a TODO in the codebase to check whether root effects should re-run if they reference any state that later changes. I think that would be surprising, and indeed it's currently the case that they do not re-run. This PR just adds a test case to verify that.

It also tweaks the implementation — rather than using untrack, we can use the effect flag and do microscopically less work. Finally, since branch effects also have this 'don't re-run me' behaviour, we can remove an untrack call from the effect root in mount.

No changeset because this doesn't change anything user-observable.

Before submitting the PR, please make sure you do the following

  • It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
  • Prefix your PR title with feat:, fix:, chore:, or docs:.
  • This message body should clearly illustrate what problems it solves.
  • Ideally, include a test that fails without this PR but passes with it.

Tests and linting

  • Run the tests with pnpm test and lint the project with pnpm lint

@changeset-bot
Copy link

changeset-bot bot commented Apr 1, 2024

⚠️ No Changeset found

Latest commit: 2135a32

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@trueadm trueadm merged commit 34748ba into main Apr 2, 2024
@trueadm trueadm deleted the effect-root-behaviour branch April 2, 2024 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants