svelte 5.55.8 → 5.55.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -127,13 +127,6 @@ export class Batch {
127
127
  */
128
128
  previous = new Map();
129
129
 
130
- /**
131
- * Async effects which this batch doesn't take into account anymore when calculating blockers,
132
- * as it has a value for it already.
133
- * @type {Set<Effect>}
134
- */
135
- unblocked = new Set();
136
-
137
130
  /**
138
131
  * When the batch is committed (and the DOM is updated), we need to remove old branches
139
132
  * and append new ones by calling the functions added inside (if/each/key/etc) blocks
@@ -214,6 +207,18 @@ export class Batch {
214
207
 
215
208
  #decrement_queued = false;
216
209
 
210
+ constructor() {
211
+ // link batch
212
+ if (last_batch === null) {
213
+ first_batch = last_batch = this;
214
+ } else {
215
+ last_batch.#next = this;
216
+ this.#prev = last_batch;
217
+ }
218
+
219
+ last_batch = this;
220
+ }
221
+
217
222
  #is_deferred() {
218
223
  if (this.is_fork) return true;
219
224
 
@@ -289,19 +294,19 @@ export class Batch {
289
294
  }
290
295
  }
291
296
 
292
- // we only reschedule previously-deferred effects if we expect
293
- // to be able to run them after processing the batch
294
- if (!this.#is_deferred()) {
295
- for (const e of this.#dirty_effects) {
296
- this.#maybe_dirty_effects.delete(e);
297
- set_signal_status(e, DIRTY);
298
- this.schedule(e);
299
- }
297
+ // We always reschedule previously-deferred effects, not just when
298
+ // #is_deferred() is true, because traversing the tree could make
299
+ // an if block that contains the last blocking pending effect falsy,
300
+ // causing the block to no longer be deferred.
301
+ for (const e of this.#dirty_effects) {
302
+ this.#maybe_dirty_effects.delete(e);
303
+ set_signal_status(e, DIRTY);
304
+ this.schedule(e);
305
+ }
300
306
 
301
- for (const e of this.#maybe_dirty_effects) {
302
- set_signal_status(e, MAYBE_DIRTY);
303
- this.schedule(e);
304
- }
307
+ for (const e of this.#maybe_dirty_effects) {
308
+ set_signal_status(e, MAYBE_DIRTY);
309
+ this.schedule(e);
305
310
  }
306
311
 
307
312
  const roots = this.#roots;
@@ -326,6 +331,12 @@ export class Batch {
326
331
  this.#traverse(root, effects, render_effects);
327
332
  } catch (e) {
328
333
  reset_all(root);
334
+ // If there's no async work left, this branch is now dead and needs
335
+ // to be discarded to not become a zombie that is never cleaned up.
336
+ // See https://github.com/sveltejs/svelte/issues/18221#issuecomment-4497918414
337
+ // for a (non-minimal) reproduction that demonstrates a case where this is necessary
338
+ // to not get follow-up false-positives via "batch has scheduled roots" invariant errors.
339
+ if (!this.#is_deferred()) this.discard();
329
340
  throw e;
330
341
  }
331
342
  }
@@ -362,6 +373,10 @@ export class Batch {
362
373
  const earlier_batch = this.#find_earlier_batch();
363
374
 
364
375
  if (earlier_batch) {
376
+ // If this batch collected deferred effects during traversal, they still need
377
+ // to run after being merged into the earlier batch.
378
+ this.#defer_effects(render_effects);
379
+ this.#defer_effects(effects);
365
380
  earlier_batch.#merge(this);
366
381
  return;
367
382
  }
@@ -383,31 +398,30 @@ export class Batch {
383
398
 
384
399
  var next_batch = /** @type {Batch | null} */ (/** @type {unknown} */ (current_batch));
385
400
 
386
- if (this.linked && this.#pending === 0) {
401
+ if (this.#pending === 0 && (this.#roots.length === 0 || next_batch !== null)) {
387
402
  this.#unlink();
388
- }
389
403
 
390
- // Order matters here - we need to commit and THEN continue flushing new batches, not the other way around,
391
- // else we could start flushing a new batch and then, if it has pending work, rebase it right afterwards, which is wrong.
392
- // In sync mode flushSync can cause #commit to wrongfully think that there needs to be a rebase, so we only do it in async mode
393
- // TODO fix the underlying cause, otherwise this will likely regress when non-async mode is removed
394
- if (async_mode_flag && !this.linked) {
395
- this.#commit();
396
- // Rebases can activate other batches or null it out, therefore restore the new one here
397
- current_batch = next_batch;
404
+ // Order matters here - we need to commit and THEN continue flushing new batches, not the other way around,
405
+ // else we could start flushing a new batch and then, if it has pending work, rebase it right afterwards, which is wrong.
406
+ // In sync mode flushSync can cause #commit to wrongfully think that there needs to be a rebase, so we only do it in async mode
407
+ // TODO fix the underlying cause, otherwise this will likely regress when non-async mode is removed
408
+ if (async_mode_flag) {
409
+ this.#commit();
410
+ // Rebases can activate other batches or null it out, therefore restore the new one here
411
+ current_batch = next_batch;
412
+ }
398
413
  }
399
414
 
400
415
  // Edge case: During traversal new branches might create effects that run immediately and set state,
401
416
  // causing an effect and therefore a root to be scheduled again. We need to traverse the current batch
402
417
  // once more in that case - most of the time this will just clean up dirty branches.
403
418
  if (this.#roots.length > 0) {
404
- if (next_batch === null) {
419
+ if (next_batch !== null) {
420
+ const batch = next_batch;
421
+ batch.#roots.push(...this.#roots.filter((r) => !batch.#roots.includes(r)));
422
+ } else {
405
423
  next_batch = this;
406
- this.#link();
407
424
  }
408
-
409
- const batch = next_batch;
410
- batch.#roots.push(...this.#roots.filter((r) => !batch.#roots.includes(r)));
411
425
  }
412
426
 
413
427
  if (next_batch !== null) {
@@ -500,9 +514,12 @@ export class Batch {
500
514
 
501
515
  for (const [effect, deferred] of batch.async_deriveds) {
502
516
  const d = this.async_deriveds.get(effect);
503
- if (d) deferred.promise.then(d.resolve);
517
+ if (d) deferred.promise.then(d.resolve).catch(d.reject);
504
518
  }
505
519
 
520
+ // Mark is not guaranteed not touch these, so we transfer them
521
+ this.transfer_effects(batch.#dirty_effects, batch.#maybe_dirty_effects);
522
+
506
523
  /**
507
524
  * mark all effects that depend on `batch.current`, except the
508
525
  * async effects that we just resolved (TODO unless they depend
@@ -620,6 +637,7 @@ export class Batch {
620
637
  this.#fork_commit_callbacks.clear();
621
638
 
622
639
  this.#unlink();
640
+ this.#deferred?.resolve();
623
641
  }
624
642
 
625
643
  /**
@@ -630,8 +648,6 @@ export class Batch {
630
648
  }
631
649
 
632
650
  #commit() {
633
- this.#unlink();
634
-
635
651
  // If there are other pending batches, they now need to be 'rebased' —
636
652
  // in other words, we re-run block/async effects with the newly
637
653
  // committed state, unless the batch in question has a more
@@ -664,14 +680,16 @@ export class Batch {
664
680
  // immediately resolving them? Likely not because of how this.apply() works.
665
681
  for (const [effect, deferred] of this.async_deriveds) {
666
682
  const d = batch.async_deriveds.get(effect);
667
- if (d) deferred.promise.then(d.resolve);
683
+ if (d) deferred.promise.then(d.resolve).catch(d.reject);
668
684
  }
669
685
  }
670
686
 
671
687
  if (!batch.#started) continue;
672
688
 
673
- // Re-run async/block effects that depend on distinct values changed in both batches
674
- var others = [...batch.current.keys()].filter((s) => !this.current.has(s));
689
+ // Re-run async/block effects that depend on distinct values changed in both batches (ignoring deriveds)
690
+ var others = [...batch.current.keys()].filter(
691
+ (s) => !(/** @type {[any, boolean]} */ (batch.current.get(s))[1]) && !this.current.has(s)
692
+ );
675
693
 
676
694
  if (others.length === 0) {
677
695
  if (is_earlier) {
@@ -679,7 +697,9 @@ export class Batch {
679
697
  batch.discard();
680
698
  }
681
699
  } else if (sources.length > 0) {
682
- if (DEV) {
700
+ // The microtask queue can contain the batch already scheduled to run right
701
+ // after this one is finished, so throwing the invariant would be wrong here.
702
+ if (DEV && !batch.#decrement_queued) {
683
703
  invariant(batch.#roots.length === 0, 'Batch has scheduled roots');
684
704
  }
685
705
 
@@ -709,11 +729,14 @@ export class Batch {
709
729
  }
710
730
 
711
731
  checked = new Map();
712
- var current_unequal = [...batch.current.keys()].filter((c) =>
713
- this.current.has(c)
714
- ? /** @type {[any, boolean]} */ (this.current.get(c))[0] !== c.v
715
- : true
716
- );
732
+ var current_unequal = [...batch.current]
733
+ .filter(([c, v1]) => {
734
+ const v2 = this.current.get(c);
735
+ if (!v2) return true;
736
+ // Either their values are different or one is a derived but not the other
737
+ return v2[0] !== v1[0] || v2[1] !== v1[1];
738
+ })
739
+ .map(([c]) => c);
717
740
 
718
741
  if (current_unequal.length > 0) {
719
742
  for (const effect of this.#new_effects) {
@@ -732,7 +755,8 @@ export class Batch {
732
755
  }
733
756
 
734
757
  // Only apply and traverse when we know we triggered async work with marking the effects
735
- if (batch.#roots.length > 0) {
758
+ // and know this won't run anyway right afterwards
759
+ if (batch.#roots.length > 0 && !batch.#decrement_queued) {
736
760
  batch.apply();
737
761
 
738
762
  for (var root of batch.#roots) {
@@ -833,7 +857,6 @@ export class Batch {
833
857
  static ensure() {
834
858
  if (current_batch === null) {
835
859
  const batch = (current_batch = new Batch());
836
- batch.#link();
837
860
 
838
861
  if (!is_processing && !is_flushing_sync) {
839
862
  queue_micro_task(() => {
@@ -953,18 +976,11 @@ export class Batch {
953
976
  this.#roots.push(e);
954
977
  }
955
978
 
956
- #link() {
957
- if (last_batch === null) {
958
- first_batch = last_batch = this;
959
- } else {
960
- last_batch.#next = this;
961
- this.#prev = last_batch;
962
- }
963
-
964
- last_batch = this;
965
- }
966
-
967
979
  #unlink() {
980
+ // #merge calls #unlink, discard later on does it again - prevent
981
+ // running it multiple times to not corrupt the linked list
982
+ if (!this.linked) return;
983
+
968
984
  var prev = this.#prev;
969
985
  var next = this.#next;
970
986
 
@@ -187,7 +187,10 @@ export function async_derived(fn, label, location) {
187
187
  var decrement_pending = increment_pending();
188
188
  }
189
189
 
190
- if (/** @type {Boundary} */ (parent.b).is_rendered()) {
190
+ if (
191
+ // boundary can be null if the async derived is inside an $effect.root not connected to the component render tree
192
+ parent.b?.is_rendered()
193
+ ) {
191
194
  batch.async_deriveds.get(effect)?.reject(OBSOLETE);
192
195
  } else {
193
196
  // While the boundary is still showing pending, a new run supersedes all older in-flight runs
@@ -227,9 +230,7 @@ export function async_derived(fn, label, location) {
227
230
  signal.f ^= ERROR_VALUE;
228
231
  }
229
232
 
230
- internal_set(signal, value);
231
-
232
- if (DEV && location !== undefined) {
233
+ if (DEV && location !== undefined && !signal.equals(value)) {
233
234
  recent_async_deriveds.add(signal);
234
235
 
235
236
  setTimeout(() => {
@@ -239,6 +240,8 @@ export function async_derived(fn, label, location) {
239
240
  }
240
241
  });
241
242
  }
243
+
244
+ internal_set(signal, value);
242
245
  }
243
246
 
244
247
  batch.deactivate();
@@ -20,7 +20,6 @@ import {
20
20
  EFFECT,
21
21
  DESTROYED,
22
22
  INERT,
23
- REACTION_RAN,
24
23
  BLOCK_EFFECT,
25
24
  ROOT_EFFECT,
26
25
  EFFECT_TRANSPARENT,
@@ -213,7 +212,11 @@ export function user_effect(fn) {
213
212
  // Non-nested `$effect(...)` in a component should be deferred
214
213
  // until the component is mounted
215
214
  var flags = /** @type {Effect} */ (active_effect).f;
216
- var defer = !active_reaction && (flags & BRANCH_EFFECT) !== 0 && (flags & REACTION_RAN) === 0;
215
+ var defer =
216
+ !active_reaction &&
217
+ (flags & BRANCH_EFFECT) !== 0 &&
218
+ component_context !== null &&
219
+ !component_context.i;
217
220
 
218
221
  if (defer) {
219
222
  // Top-level `$effect(...)` in an unmounted component — defer until mount
@@ -560,9 +560,15 @@ export function get(signal) {
560
560
  }
561
561
  }
562
562
  } else {
563
- // we're adding a dependency outside the init/update cycle
564
- // (i.e. after an `await`)
565
- (active_reaction.deps ??= []).push(signal);
563
+ // We're adding a dependency outside the init/update cycle (i.e. after an `await`).
564
+ // We have to deduplicate deps/reactions in this case or remove_reactions could
565
+ // disconnect deps/reactions that are actually still in use (if skip_deps says
566
+ // "disconnect all after this index" and some of the signals are also present in
567
+ // list prior to the cutoff index, i.e. that should be kept).
568
+ active_reaction.deps ??= [];
569
+ if (!includes.call(active_reaction.deps, signal)) {
570
+ active_reaction.deps.push(signal);
571
+ }
566
572
 
567
573
  var reactions = signal.reactions;
568
574
 
package/src/version.js CHANGED
@@ -4,5 +4,5 @@
4
4
  * The current version, as set in package.json.
5
5
  * @type {string}
6
6
  */
7
- export const VERSION = '5.55.8';
7
+ export const VERSION = '5.55.10';
8
8
  export const PUBLIC_VERSION = '5';
@@ -273,6 +273,6 @@
273
273
  null,
274
274
  null
275
275
  ],
276
- "mappings": "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",
276
+ "mappings": "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",
277
277
  "ignoreList": []
278
278
  }