sveltejs / svelte · Issue No. 18624
When using a reactive remote function, for example:
const data = $derived(await getData(days));
and trigger a change (days) will cause the browser to freeze/lockup.
This same code works if you switch to client-side synchronous data, for example:
const data = $derived(generate(days));
This was first reported as a LayerChart issue but I'm unable to find any cause and looks like a potential svelte async scheduling issue.
<script>
import { BarChart } from "layerchart";
import { getData } from "../data.remote";
let days = $state(30);
const data = $derived(await getData(days));
</script>
<h1>remote function (async)</h1>
<button onclick={() => (days = days === 30 ? 90 : 30)}>range: {days}d</button>
<BarChart
data={data.rows}
x="day"
series={[
{ key: "a", color: "tomato" },
{ key: "b", color: "steelblue" },
]}
seriesLayout="stack"
bandPadding={0.2}
height={300}
/>
svelte `5.56.8` (also tried `5.55.10`)
blocking an upgrade
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.