From 55acec628cfbe88d8c5a02d7caf5fb6cfb072d80 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sat, 25 Oct 2025 18:42:24 -0400 Subject: [PATCH] WIP --- .../src/internal/client/reactivity/async.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/svelte/src/internal/client/reactivity/async.js b/packages/svelte/src/internal/client/reactivity/async.js index 02b3f54c36..c23ad9fe6f 100644 --- a/packages/svelte/src/internal/client/reactivity/async.js +++ b/packages/svelte/src/internal/client/reactivity/async.js @@ -293,19 +293,32 @@ export function run(thunks) { boundary.update_pending_count(1); batch.increment(blocking); + let was_hydrating = hydrating; + const promises = thunks.map((fn) => { promise = promise .then(() => { - // TODO abort if component was destroyed + // TODO abort if component was destroyed? try { restore(); return fn(); } finally { + // TODO do we need it here as well as below? unset_context(); + + if (was_hydrating) { + set_hydrating(false); + } } }) - .then(noop); + .then(() => { + unset_context(); + + if (was_hydrating) { + set_hydrating(false); + } + }); return promise; });