From 5bcdb13f26929dd145a19ff369b3632ad90bbbac Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 28 Feb 2025 17:23:05 -0500 Subject: [PATCH] fix --- packages/svelte/src/internal/client/index.js | 11 +++++++++-- .../svelte/src/internal/client/reactivity/forks.js | 7 +++---- .../svelte/src/internal/client/reactivity/sources.js | 2 ++ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/svelte/src/internal/client/index.js b/packages/svelte/src/internal/client/index.js index fea7ac1ada..692373d21a 100644 --- a/packages/svelte/src/internal/client/index.js +++ b/packages/svelte/src/internal/client/index.js @@ -115,8 +115,15 @@ export { user_effect, user_pre_effect } from './reactivity/effects.js'; -export { pending } from './reactivity/forks.js'; -export { mutable_state, mutate, set, state, update, update_pre } from './reactivity/sources.js'; +export { + mutable_state, + mutate, + pending, + set, + state, + update, + update_pre +} from './reactivity/sources.js'; export { prop, rest_props, diff --git a/packages/svelte/src/internal/client/reactivity/forks.js b/packages/svelte/src/internal/client/reactivity/forks.js index 1abefbfe34..6c4705b934 100644 --- a/packages/svelte/src/internal/client/reactivity/forks.js +++ b/packages/svelte/src/internal/client/reactivity/forks.js @@ -1,7 +1,8 @@ /** @import { Effect, Source } from '#client' */ import { noop } from '../../shared/utils.js'; import { flushSync } from '../runtime.js'; -import { internal_set, source } from './sources.js'; +import { raf } from '../timing.js'; +import { internal_set, pending } from './sources.js'; /** @type {Set} */ const forks = new Set(); @@ -13,8 +14,6 @@ export function remove_active_fork() { active_fork = null; } -export let pending = source(false); - function update_pending() { internal_set(pending, forks.size > 0); } @@ -144,7 +143,7 @@ export class Fork { static ensure() { if (active_fork === null) { if (forks.size === 0) { - requestAnimationFrame(update_pending); + raf.tick(update_pending); } active_fork = new Fork(); diff --git a/packages/svelte/src/internal/client/reactivity/sources.js b/packages/svelte/src/internal/client/reactivity/sources.js index 85736d001b..5b08028288 100644 --- a/packages/svelte/src/internal/client/reactivity/sources.js +++ b/packages/svelte/src/internal/client/reactivity/sources.js @@ -38,6 +38,8 @@ import { active_fork, Fork } from './forks.js'; export let inspect_effects = new Set(); +export let pending = source(false); + /** * @param {Set} v */