e436a698394c474b060e98301396c7e0053bf181
Replacing the preferences object (spread reassignment) caused all consumers' prefs references to go stale — the loop guard read the old value forever. Svelte 5 shared state pattern requires a stable const object with property mutations, not reassignment. Also removes duplicate theme sync $effect from SettingsPage (already handled in +layout.svelte).
Description
Languages
Rust
56.1%
Svelte
26.8%
TypeScript
7.8%
Shell
3.2%
HTML
2.4%
Other
3.7%