If you have a transition on an element and the condition changes while the transition is still running,
then only the first state change triggers the transition, subsequent state changes are not triggering new transitions,
nor cancel the already running one.
This is especially bad if one is using forms with use:enhance in SvelteKit, as form-ActionData gets set to undefined on submit and applied afterward.
If the request was now faster than the transition, well... Your conditional elements may not get displayed anymore.
Describe the bug
If you have a transition on an element and the condition changes while the transition is still running,
then only the first state change triggers the transition, subsequent state changes are not triggering new transitions,
nor cancel the already running one.
This is especially bad if one is using forms with use:enhance in SvelteKit, as form-ActionData gets set to undefined on submit and applied afterward. If the request was now faster than the transition, well... Your conditional elements may not get displayed anymore.
Reproduction
Svelte5 REPL (broken)
Svelte5 / SvelteKit form Example (Broken)
Svelte4 Repl (working as intended)
Instructions:
Logs
No response
System Info
Severity
blocking an upgrade