fix: overwrite #last_value when Spring is .set() with {instant: true}
#14656
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.
Fixes #14645
After using the
{instant: true}option withSpring.set(), a subsequent (non-instant).set()sometimes displayed unexpected behavior. See Issue link for reproduction, .gif of example, and more details.This PR overwrites the Spring's #last_value after updating instantly so that no data/context from before the
instant.set()lingers to interfere with future.set()s. After building this modified version of svelte and linking it to a sveltekit project, I no longer see the glitchy behavior described in the Issue linked above.I saw no tests in the
/svelte/tests/directory that use the newly created Spring class and don't feel currently knowledgeable enough to write a full suite myself. I'm also unsure how I would test the private #last_value property. If tests are necessary, please let me know and I will do my best to provide them.Tests and linting
pnpm testand lint the project withpnpm lint