sveltejs / svelte · Issue No. 18563
Pause and resume walks in the transition machinery don't know who paused a subtree, so each controller keeps its own guard against undoing someone else's state, branches.js tracks an #outroing set and each.js checks INERT at two call sites. The fixes in this area (#16150, #17258, #17942, #18291) are mostly walks stepping on each other's state one case at a time, and #15604 is the same class, resume_children resurrecting a subtree that outroed for its own reasons.
#18431 adds a PAUSED bit so resume_children stops at roots that paused independently. Making pause_effect a no-op on an already paused root would finish the job, the per-controller guards could then collapse onto the flag instead of each tracking pause state separately. Happy to PR it on top of #18431 if that's a direction you want.
Keeping the per-controller guards. They work, but each new controller has to rediscover the problem, which is how the point fix history accumulated.
nice to have
Relay reads this issue against the repository's contribution signals: the files it is likely to touch, how the maintainers triage work this size, and what the first contribution would exercise.
The full analysis for this issue is still being assembled. Until then, the description above and the thread on GitHub are the most reliable context.