sveltejs / svelte · Issue No. 18531
Setting a new value for a key that already exists in a SvelteMap re-runs effects that only read the key set (keys(), has() misses), as long as that key was never read individually. Such a key has no source yet, so set() takes the new-key branch and increments the version signal unconditionally even though the key set didn't change. In practice {#each [...map.keys()] as key} re-renders on every value write into the map.
Fix incoming.
Click the button and watch the console, keys: logs on every click although the key set is always ['a'].
annoyance
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.