diff --git a/packages/svelte/src/constants.js b/packages/svelte/src/constants.js index 784920f4b0..69cd213940 100644 --- a/packages/svelte/src/constants.js +++ b/packages/svelte/src/constants.js @@ -43,6 +43,7 @@ export const NAMESPACE_MATHML = 'http://www.w3.org/1998/Math/MathML'; // can be ignored and we want to keep the validation for svelte-ignore in place export const IGNORABLE_RUNTIME_WARNINGS = /** @type {const} */ ([ 'await_waterfall', + 'await_reactivity_loss', 'state_snapshot_uncloneable', 'binding_property_non_reactive', 'hydration_attribute_changed', diff --git a/packages/svelte/src/internal/client/dom/blocks/boundary.js b/packages/svelte/src/internal/client/dom/blocks/boundary.js index bb0d896b09..d174dbdc5d 100644 --- a/packages/svelte/src/internal/client/dom/blocks/boundary.js +++ b/packages/svelte/src/internal/client/dom/blocks/boundary.js @@ -376,8 +376,10 @@ export function capture(track = true) { set_active_effect(previous_effect); set_active_reaction(previous_reaction); set_component_context(previous_component_context); - } else if (DEV) { - set_from_async_derived(was_from_async_derived); + } + + if (DEV) { + set_from_async_derived(track ? null : was_from_async_derived); } // prevent the active effect from outstaying its welcome @@ -416,6 +418,7 @@ function exit() { set_active_effect(null); set_active_reaction(null); set_component_context(null); + if (DEV) set_from_async_derived(null); } export function pending() {