react-dom 19.2.0-canary-c4676e72-20250520 → 19.2.0-canary-23884812-20250520

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.
@@ -766,9 +766,6 @@
766
766
  moduleScriptResources: {}
767
767
  };
768
768
  }
769
- function createPreambleState() {
770
- return { htmlChunks: null, headChunks: null, bodyChunks: null };
771
- }
772
769
  function createFormatContext(
773
770
  insertionMode,
774
771
  selectedValue,
@@ -3357,6 +3354,10 @@
3357
3354
  function hoistStylesheetDependency(stylesheet) {
3358
3355
  this.stylesheets.add(stylesheet);
3359
3356
  }
3357
+ function hoistHoistables(parentState, childState) {
3358
+ childState.styles.forEach(hoistStyleQueueDependency, parentState);
3359
+ childState.stylesheets.forEach(hoistStylesheetDependency, parentState);
3360
+ }
3360
3361
  function createRenderState(resumableState, generateStaticMarkup) {
3361
3362
  var idPrefix = resumableState.idPrefix,
3362
3363
  bootstrapChunks = [],
@@ -3376,7 +3377,7 @@
3376
3377
  segmentPrefix: idPrefix + "S:",
3377
3378
  boundaryPrefix: idPrefix + "B:",
3378
3379
  startInlineScript: "<script",
3379
- preamble: createPreambleState(),
3380
+ preamble: { htmlChunks: null, headChunks: null, bodyChunks: null },
3380
3381
  externalRuntimeScript: null,
3381
3382
  bootstrapChunks: bootstrapChunks,
3382
3383
  importMapChunks: [],
@@ -4478,11 +4479,14 @@
4478
4479
  };
4479
4480
  null !== row &&
4480
4481
  (row.pendingTasks++,
4481
- (row = row.boundaries),
4482
- null !== row &&
4482
+ (contentPreamble = row.boundaries),
4483
+ null !== contentPreamble &&
4483
4484
  (request.allPendingTasks++,
4484
4485
  fallbackAbortableTasks.pendingTasks++,
4485
- row.push(fallbackAbortableTasks)));
4486
+ contentPreamble.push(fallbackAbortableTasks)),
4487
+ (request = row.inheritedHoistables),
4488
+ null !== request &&
4489
+ hoistHoistables(fallbackAbortableTasks.contentState, request));
4486
4490
  return fallbackAbortableTasks;
4487
4491
  }
4488
4492
  function createRenderTask(
@@ -4760,20 +4764,70 @@
4760
4764
  : ((request.status = 13), (request.fatalError = error));
4761
4765
  }
4762
4766
  function finishSuspenseListRow(request, row) {
4763
- for (row = row.next; null !== row; ) {
4764
- var unblockedBoundaries = row.boundaries;
4767
+ unblockSuspenseListRow(request, row.next, row.hoistables);
4768
+ }
4769
+ function unblockSuspenseListRow(
4770
+ request,
4771
+ unblockedRow,
4772
+ inheritedHoistables
4773
+ ) {
4774
+ for (; null !== unblockedRow; ) {
4775
+ null !== inheritedHoistables &&
4776
+ (hoistHoistables(unblockedRow.hoistables, inheritedHoistables),
4777
+ (unblockedRow.inheritedHoistables = inheritedHoistables));
4778
+ var unblockedBoundaries = unblockedRow.boundaries;
4765
4779
  if (null !== unblockedBoundaries) {
4766
- row.boundaries = null;
4767
- for (var i = 0; i < unblockedBoundaries.length; i++)
4768
- finishedTask(request, unblockedBoundaries[i], null, null);
4780
+ unblockedRow.boundaries = null;
4781
+ for (var i = 0; i < unblockedBoundaries.length; i++) {
4782
+ var unblockedBoundary = unblockedBoundaries[i];
4783
+ null !== inheritedHoistables &&
4784
+ hoistHoistables(
4785
+ unblockedBoundary.contentState,
4786
+ inheritedHoistables
4787
+ );
4788
+ finishedTask(request, unblockedBoundary, null, null);
4789
+ }
4769
4790
  }
4770
- row.pendingTasks--;
4771
- if (0 < row.pendingTasks) break;
4772
- row = row.next;
4791
+ unblockedRow.pendingTasks--;
4792
+ if (0 < unblockedRow.pendingTasks) break;
4793
+ inheritedHoistables = unblockedRow.hoistables;
4794
+ unblockedRow = unblockedRow.next;
4795
+ }
4796
+ }
4797
+ function tryToResolveTogetherRow(request, togetherRow) {
4798
+ var boundaries = togetherRow.boundaries;
4799
+ if (
4800
+ null !== boundaries &&
4801
+ togetherRow.pendingTasks === boundaries.length
4802
+ ) {
4803
+ for (
4804
+ var allCompleteAndInlinable = !0, i = 0;
4805
+ i < boundaries.length;
4806
+ i++
4807
+ ) {
4808
+ var rowBoundary = boundaries[i];
4809
+ if (
4810
+ 1 !== rowBoundary.pendingTasks ||
4811
+ rowBoundary.parentFlushed ||
4812
+ 500 < rowBoundary.byteSize
4813
+ ) {
4814
+ allCompleteAndInlinable = !1;
4815
+ break;
4816
+ }
4817
+ }
4818
+ allCompleteAndInlinable &&
4819
+ unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);
4773
4820
  }
4774
4821
  }
4775
4822
  function createSuspenseListRow(previousRow) {
4776
- var newRow = { pendingTasks: 1, boundaries: null, next: null };
4823
+ var newRow = {
4824
+ pendingTasks: 1,
4825
+ boundaries: null,
4826
+ hoistables: createHoistableState(),
4827
+ inheritedHoistables: null,
4828
+ together: !1,
4829
+ next: null
4830
+ };
4777
4831
  null !== previousRow &&
4778
4832
  0 < previousRow.pendingTasks &&
4779
4833
  (newRow.pendingTasks++,
@@ -4782,28 +4836,25 @@
4782
4836
  return newRow;
4783
4837
  }
4784
4838
  function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) {
4785
- keyPath = task.keyPath;
4786
- var previousComponentStack = task.componentStack;
4839
+ var prevKeyPath = task.keyPath,
4840
+ prevTreeContext = task.treeContext,
4841
+ prevRow = task.row,
4842
+ previousComponentStack = task.componentStack;
4787
4843
  var previousDebugTask = task.debugTask;
4788
4844
  pushServerComponentStack(task, task.node.props.children._debugInfo);
4789
- var prevTreeContext = task.treeContext,
4790
- prevRow = task.row,
4791
- totalChildren = rows.length,
4792
- previousSuspenseListRow = null;
4845
+ task.keyPath = keyPath;
4846
+ keyPath = rows.length;
4847
+ var previousSuspenseListRow = null;
4793
4848
  if (null !== task.replay) {
4794
4849
  var resumeSlots = task.replay.slots;
4795
4850
  if (null !== resumeSlots && "object" === typeof resumeSlots)
4796
- for (var n = 0; n < totalChildren; n++) {
4797
- var i = "backwards" !== revealOrder ? n : totalChildren - 1 - n,
4851
+ for (var n = 0; n < keyPath; n++) {
4852
+ var i = "backwards" !== revealOrder ? n : keyPath - 1 - n,
4798
4853
  node = rows[i];
4799
4854
  task.row = previousSuspenseListRow = createSuspenseListRow(
4800
4855
  previousSuspenseListRow
4801
4856
  );
4802
- task.treeContext = pushTreeContext(
4803
- prevTreeContext,
4804
- totalChildren,
4805
- i
4806
- );
4857
+ task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
4807
4858
  var resumeSegmentID = resumeSlots[i];
4808
4859
  "number" === typeof resumeSegmentID
4809
4860
  ? (resumeNode(request, task, resumeSegmentID, node, i),
@@ -4813,32 +4864,28 @@
4813
4864
  finishSuspenseListRow(request, previousSuspenseListRow);
4814
4865
  }
4815
4866
  else
4816
- for (resumeSlots = 0; resumeSlots < totalChildren; resumeSlots++)
4867
+ for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++)
4817
4868
  (n =
4818
4869
  "backwards" !== revealOrder
4819
4870
  ? resumeSlots
4820
- : totalChildren - 1 - resumeSlots),
4871
+ : keyPath - 1 - resumeSlots),
4821
4872
  (i = rows[n]),
4822
4873
  warnForMissingKey(request, task, i),
4823
4874
  (task.row = previousSuspenseListRow =
4824
4875
  createSuspenseListRow(previousSuspenseListRow)),
4825
- (task.treeContext = pushTreeContext(
4826
- prevTreeContext,
4827
- totalChildren,
4828
- n
4829
- )),
4876
+ (task.treeContext = pushTreeContext(prevTreeContext, keyPath, n)),
4830
4877
  renderNode(request, task, i, n),
4831
4878
  0 === --previousSuspenseListRow.pendingTasks &&
4832
4879
  finishSuspenseListRow(request, previousSuspenseListRow);
4833
4880
  } else if ("backwards" !== revealOrder)
4834
- for (revealOrder = 0; revealOrder < totalChildren; revealOrder++)
4881
+ for (revealOrder = 0; revealOrder < keyPath; revealOrder++)
4835
4882
  (resumeSlots = rows[revealOrder]),
4836
4883
  warnForMissingKey(request, task, resumeSlots),
4837
4884
  (task.row = previousSuspenseListRow =
4838
4885
  createSuspenseListRow(previousSuspenseListRow)),
4839
4886
  (task.treeContext = pushTreeContext(
4840
4887
  prevTreeContext,
4841
- totalChildren,
4888
+ keyPath,
4842
4889
  revealOrder
4843
4890
  )),
4844
4891
  renderNode(request, task, resumeSlots, revealOrder),
@@ -4848,12 +4895,12 @@
4848
4895
  revealOrder = task.blockedSegment;
4849
4896
  resumeSlots = revealOrder.children.length;
4850
4897
  n = revealOrder.chunks.length;
4851
- for (i = totalChildren - 1; 0 <= i; i--) {
4898
+ for (i = keyPath - 1; 0 <= i; i--) {
4852
4899
  node = rows[i];
4853
4900
  task.row = previousSuspenseListRow = createSuspenseListRow(
4854
4901
  previousSuspenseListRow
4855
4902
  );
4856
- task.treeContext = pushTreeContext(prevTreeContext, totalChildren, i);
4903
+ task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
4857
4904
  resumeSegmentID = createPendingSegment(
4858
4905
  request,
4859
4906
  n,
@@ -4892,7 +4939,7 @@
4892
4939
  (prevRow.pendingTasks++, (previousSuspenseListRow.next = prevRow));
4893
4940
  task.treeContext = prevTreeContext;
4894
4941
  task.row = prevRow;
4895
- task.keyPath = keyPath;
4942
+ task.keyPath = prevKeyPath;
4896
4943
  task.componentStack = previousComponentStack;
4897
4944
  task.debugTask = previousDebugTask;
4898
4945
  }
@@ -5437,7 +5484,7 @@
5437
5484
  );
5438
5485
  segment.lastPushedText = !1;
5439
5486
  var _prevContext2 = task.formatContext,
5440
- _prevKeyPath2 = task.keyPath;
5487
+ _prevKeyPath3 = task.keyPath;
5441
5488
  task.keyPath = keyPath;
5442
5489
  if (
5443
5490
  (task.formatContext = getChildFormatContext(
@@ -5478,7 +5525,7 @@
5478
5525
  request.pingedTasks.push(preambleTask);
5479
5526
  } else renderNode(request, task, _children, -1);
5480
5527
  task.formatContext = _prevContext2;
5481
- task.keyPath = _prevKeyPath2;
5528
+ task.keyPath = _prevKeyPath3;
5482
5529
  a: {
5483
5530
  var target = segment.chunks,
5484
5531
  resumableState = request.resumableState;
@@ -5545,10 +5592,10 @@
5545
5592
  request.renderState.generateStaticMarkup ||
5546
5593
  segment$jscomp$0.chunks.push("\x3c!--&--\x3e");
5547
5594
  segment$jscomp$0.lastPushedText = !1;
5548
- var _prevKeyPath3 = task.keyPath;
5595
+ var _prevKeyPath4 = task.keyPath;
5549
5596
  task.keyPath = keyPath;
5550
5597
  renderNode(request, task, props.children, -1);
5551
- task.keyPath = _prevKeyPath3;
5598
+ task.keyPath = _prevKeyPath4;
5552
5599
  request.renderState.generateStaticMarkup ||
5553
5600
  segment$jscomp$0.chunks.push("\x3c!--/&--\x3e");
5554
5601
  segment$jscomp$0.lastPushedText = !1;
@@ -5597,10 +5644,27 @@
5597
5644
  }
5598
5645
  }
5599
5646
  }
5600
- var prevKeyPath$jscomp$3 = task.keyPath;
5601
- task.keyPath = keyPath;
5602
- renderNodeDestructive(request, task, children$jscomp$0, -1);
5603
- task.keyPath = prevKeyPath$jscomp$3;
5647
+ if ("together" === revealOrder) {
5648
+ var _prevKeyPath2 = task.keyPath,
5649
+ prevRow = task.row,
5650
+ newRow = (task.row = createSuspenseListRow(null));
5651
+ newRow.boundaries = [];
5652
+ newRow.together = !0;
5653
+ task.keyPath = keyPath;
5654
+ renderNodeDestructive(request, task, children$jscomp$0, -1);
5655
+ 0 === --newRow.pendingTasks &&
5656
+ finishSuspenseListRow(request, newRow);
5657
+ task.keyPath = _prevKeyPath2;
5658
+ task.row = prevRow;
5659
+ null !== prevRow &&
5660
+ 0 < newRow.pendingTasks &&
5661
+ (prevRow.pendingTasks++, (newRow.next = prevRow));
5662
+ } else {
5663
+ var prevKeyPath$jscomp$3 = task.keyPath;
5664
+ task.keyPath = keyPath;
5665
+ renderNodeDestructive(request, task, children$jscomp$0, -1);
5666
+ task.keyPath = prevKeyPath$jscomp$3;
5667
+ }
5604
5668
  }
5605
5669
  return;
5606
5670
  case REACT_VIEW_TRANSITION_TYPE:
@@ -5630,7 +5694,7 @@
5630
5694
  } else {
5631
5695
  var prevKeyPath$jscomp$4 = task.keyPath,
5632
5696
  prevContext$jscomp$0 = task.formatContext,
5633
- prevRow = task.row,
5697
+ prevRow$jscomp$0 = task.row,
5634
5698
  parentBoundary = task.blockedBoundary,
5635
5699
  parentPreamble = task.blockedPreamble,
5636
5700
  parentHoistableState = task.hoistableState,
@@ -5638,22 +5702,13 @@
5638
5702
  fallback = props.fallback,
5639
5703
  content = props.children,
5640
5704
  fallbackAbortSet = new Set();
5641
- var newBoundary =
5642
- task.formatContext.insertionMode < HTML_MODE
5643
- ? createSuspenseBoundary(
5644
- request,
5645
- task.row,
5646
- fallbackAbortSet,
5647
- createPreambleState(),
5648
- createPreambleState()
5649
- )
5650
- : createSuspenseBoundary(
5651
- request,
5652
- task.row,
5653
- fallbackAbortSet,
5654
- null,
5655
- null
5656
- );
5705
+ var newBoundary = createSuspenseBoundary(
5706
+ request,
5707
+ task.row,
5708
+ fallbackAbortSet,
5709
+ null,
5710
+ null
5711
+ );
5657
5712
  null !== request.trackedPostpones &&
5658
5713
  (newBoundary.trackedContentKeyPath = keyPath);
5659
5714
  var boundarySegment = createPendingSegment(
@@ -5769,18 +5824,24 @@
5769
5824
  (contentRootSegment.status = COMPLETED),
5770
5825
  queueCompletedSegment(newBoundary, contentRootSegment),
5771
5826
  0 === newBoundary.pendingTasks &&
5772
- newBoundary.status === PENDING &&
5773
- ((newBoundary.status = COMPLETED),
5774
- !(500 < newBoundary.byteSize)))
5827
+ newBoundary.status === PENDING)
5775
5828
  ) {
5776
- null !== prevRow &&
5777
- 0 === --prevRow.pendingTasks &&
5778
- finishSuspenseListRow(request, prevRow);
5779
- 0 === request.pendingRootTasks &&
5780
- task.blockedPreamble &&
5781
- preparePreamble(request);
5782
- break a;
5783
- }
5829
+ if (
5830
+ ((newBoundary.status = COMPLETED),
5831
+ !(500 < newBoundary.byteSize))
5832
+ ) {
5833
+ null !== prevRow$jscomp$0 &&
5834
+ 0 === --prevRow$jscomp$0.pendingTasks &&
5835
+ finishSuspenseListRow(request, prevRow$jscomp$0);
5836
+ 0 === request.pendingRootTasks &&
5837
+ task.blockedPreamble &&
5838
+ preparePreamble(request);
5839
+ break a;
5840
+ }
5841
+ } else
5842
+ null !== prevRow$jscomp$0 &&
5843
+ prevRow$jscomp$0.together &&
5844
+ tryToResolveTogetherRow(request, prevRow$jscomp$0);
5784
5845
  } catch (thrownValue$2) {
5785
5846
  newBoundary.status = CLIENT_RENDERED;
5786
5847
  if (12 === request.status) {
@@ -5810,7 +5871,7 @@
5810
5871
  (task.blockedSegment = parentSegment),
5811
5872
  (task.keyPath = prevKeyPath$jscomp$4),
5812
5873
  (task.formatContext = prevContext$jscomp$0),
5813
- (task.row = prevRow);
5874
+ (task.row = prevRow$jscomp$0);
5814
5875
  }
5815
5876
  var suspendedFallbackTask = createRenderTask(
5816
5877
  request,
@@ -6072,22 +6133,13 @@
6072
6133
  content = props.children,
6073
6134
  fallback = props.fallback,
6074
6135
  fallbackAbortSet = new Set();
6075
- props =
6076
- task.formatContext.insertionMode < HTML_MODE
6077
- ? createSuspenseBoundary(
6078
- request,
6079
- task.row,
6080
- fallbackAbortSet,
6081
- createPreambleState(),
6082
- createPreambleState()
6083
- )
6084
- : createSuspenseBoundary(
6085
- request,
6086
- task.row,
6087
- fallbackAbortSet,
6088
- null,
6089
- null
6090
- );
6136
+ props = createSuspenseBoundary(
6137
+ request,
6138
+ task.row,
6139
+ fallbackAbortSet,
6140
+ null,
6141
+ null
6142
+ );
6091
6143
  props.parentFlushed = !0;
6092
6144
  props.rootSegmentID = name;
6093
6145
  task.blockedBoundary = props;
@@ -6769,10 +6821,6 @@
6769
6821
  if (6 === segment.status) return;
6770
6822
  segment.status = ABORTED;
6771
6823
  }
6772
- segment = task.row;
6773
- null !== segment &&
6774
- 0 === --segment.pendingTasks &&
6775
- finishSuspenseListRow(request, segment);
6776
6824
  segment = getThrownInfo(task.componentStack);
6777
6825
  if (null === boundary) {
6778
6826
  if (13 !== request.status && request.status !== CLOSED) {
@@ -6783,36 +6831,49 @@
6783
6831
  return;
6784
6832
  }
6785
6833
  boundary.pendingTasks--;
6786
- 0 === boundary.pendingTasks &&
6787
- 0 < boundary.nodes.length &&
6788
- ((task = logRecoverableError(request, error, segment, null)),
6834
+ if (0 === boundary.pendingTasks && 0 < boundary.nodes.length) {
6835
+ var errorDigest = logRecoverableError(
6836
+ request,
6837
+ error,
6838
+ segment,
6839
+ null
6840
+ );
6789
6841
  abortRemainingReplayNodes(
6790
6842
  request,
6791
6843
  null,
6792
6844
  boundary.nodes,
6793
6845
  boundary.slots,
6794
6846
  error,
6795
- task,
6847
+ errorDigest,
6796
6848
  segment,
6797
6849
  !0
6798
- ));
6850
+ );
6851
+ }
6799
6852
  request.pendingRootTasks--;
6800
6853
  0 === request.pendingRootTasks && completeShell(request);
6801
6854
  }
6802
6855
  } else
6803
- boundary.pendingTasks--,
6804
- boundary.status !== CLIENT_RENDERED &&
6805
- ((boundary.status = CLIENT_RENDERED),
6806
- (task = logRecoverableError(request, error, segment, null)),
6807
- (boundary.status = CLIENT_RENDERED),
6808
- encodeErrorForBoundary(boundary, task, error, segment, !0),
6809
- untrackBoundary(request, boundary),
6810
- boundary.parentFlushed &&
6811
- request.clientRenderedBoundaries.push(boundary)),
6856
+ boundary.status !== CLIENT_RENDERED &&
6857
+ ((boundary.status = CLIENT_RENDERED),
6858
+ (errorDigest = logRecoverableError(request, error, segment, null)),
6859
+ (boundary.status = CLIENT_RENDERED),
6860
+ encodeErrorForBoundary(boundary, errorDigest, error, segment, !0),
6861
+ untrackBoundary(request, boundary),
6862
+ boundary.parentFlushed &&
6863
+ request.clientRenderedBoundaries.push(boundary)),
6864
+ boundary.pendingTasks--,
6865
+ (segment = boundary.row),
6866
+ null !== segment &&
6867
+ 0 === --segment.pendingTasks &&
6868
+ finishSuspenseListRow(request, segment),
6812
6869
  boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {
6813
6870
  return abortTask(fallbackTask, request, error);
6814
6871
  }),
6815
6872
  boundary.fallbackAbortableTasks.clear();
6873
+ task = task.row;
6874
+ null !== task &&
6875
+ 0 === --task.pendingTasks &&
6876
+ finishSuspenseListRow(request, task);
6816
6877
  request.allPendingTasks--;
6817
6878
  0 === request.allPendingTasks && completeAll(request);
6818
6879
  }
@@ -6916,8 +6977,9 @@
6916
6977
  }
6917
6978
  function finishedTask(request, boundary, row, segment) {
6918
6979
  null !== row &&
6919
- 0 === --row.pendingTasks &&
6920
- finishSuspenseListRow(request, row);
6980
+ (0 === --row.pendingTasks
6981
+ ? finishSuspenseListRow(request, row)
6982
+ : row.together && tryToResolveTogetherRow(request, row));
6921
6983
  request.allPendingTasks--;
6922
6984
  if (null === boundary) {
6923
6985
  if (null !== segment && segment.parentFlushed) {
@@ -6941,13 +7003,15 @@
6941
7003
  boundary.parentFlushed &&
6942
7004
  request.completedBoundaries.push(boundary),
6943
7005
  boundary.status === COMPLETED &&
6944
- (500 < boundary.byteSize ||
7006
+ ((row = boundary.row),
7007
+ null !== row &&
7008
+ hoistHoistables(row.hoistables, boundary.contentState),
7009
+ 500 < boundary.byteSize ||
6945
7010
  (boundary.fallbackAbortableTasks.forEach(
6946
7011
  abortTaskSoft,
6947
7012
  request
6948
7013
  ),
6949
7014
  boundary.fallbackAbortableTasks.clear(),
6950
- (row = boundary.row),
6951
7015
  null !== row &&
6952
7016
  0 === --row.pendingTasks &&
6953
7017
  finishSuspenseListRow(request, row)),
@@ -6955,13 +7019,17 @@
6955
7019
  null === request.trackedPostpones &&
6956
7020
  null !== boundary.contentPreamble &&
6957
7021
  preparePreamble(request)))
6958
- : null !== segment &&
6959
- segment.parentFlushed &&
6960
- segment.status === COMPLETED &&
6961
- (queueCompletedSegment(boundary, segment),
6962
- 1 === boundary.completedSegments.length &&
6963
- boundary.parentFlushed &&
6964
- request.partialBoundaries.push(boundary)));
7022
+ : (null !== segment &&
7023
+ segment.parentFlushed &&
7024
+ segment.status === COMPLETED &&
7025
+ (queueCompletedSegment(boundary, segment),
7026
+ 1 === boundary.completedSegments.length &&
7027
+ boundary.parentFlushed &&
7028
+ request.partialBoundaries.push(boundary)),
7029
+ (boundary = boundary.row),
7030
+ null !== boundary &&
7031
+ boundary.together &&
7032
+ tryToResolveTogetherRow(request, boundary)));
6965
7033
  0 === request.allPendingTasks && completeAll(request);
6966
7034
  }
6967
7035
  function performWork(request$jscomp$2) {
@@ -7141,32 +7209,37 @@
7141
7209
  errorInfo$jscomp$1,
7142
7210
  debugTask
7143
7211
  );
7144
- null === boundary$jscomp$0
7145
- ? fatalError(
7146
- request,
7147
- x$jscomp$0,
7148
- errorInfo$jscomp$1,
7149
- debugTask
7150
- )
7151
- : (boundary$jscomp$0.pendingTasks--,
7152
- boundary$jscomp$0.status !== CLIENT_RENDERED &&
7153
- ((boundary$jscomp$0.status = CLIENT_RENDERED),
7154
- encodeErrorForBoundary(
7155
- boundary$jscomp$0,
7156
- prevTaskInDEV,
7157
- x$jscomp$0,
7158
- errorInfo$jscomp$1,
7159
- !1
7160
- ),
7161
- untrackBoundary(request, boundary$jscomp$0),
7162
- boundary$jscomp$0.parentFlushed &&
7163
- request.clientRenderedBoundaries.push(
7164
- boundary$jscomp$0
7165
- ),
7166
- 0 === request.pendingRootTasks &&
7167
- null === request.trackedPostpones &&
7168
- null !== boundary$jscomp$0.contentPreamble &&
7169
- preparePreamble(request)));
7212
+ if (null === boundary$jscomp$0)
7213
+ fatalError(
7214
+ request,
7215
+ x$jscomp$0,
7216
+ errorInfo$jscomp$1,
7217
+ debugTask
7218
+ );
7219
+ else if (
7220
+ (boundary$jscomp$0.pendingTasks--,
7221
+ boundary$jscomp$0.status !== CLIENT_RENDERED)
7222
+ ) {
7223
+ boundary$jscomp$0.status = CLIENT_RENDERED;
7224
+ encodeErrorForBoundary(
7225
+ boundary$jscomp$0,
7226
+ prevTaskInDEV,
7227
+ x$jscomp$0,
7228
+ errorInfo$jscomp$1,
7229
+ !1
7230
+ );
7231
+ untrackBoundary(request, boundary$jscomp$0);
7232
+ var boundaryRow = boundary$jscomp$0.row;
7233
+ null !== boundaryRow &&
7234
+ 0 === --boundaryRow.pendingTasks &&
7235
+ finishSuspenseListRow(request, boundaryRow);
7236
+ boundary$jscomp$0.parentFlushed &&
7237
+ request.clientRenderedBoundaries.push(boundary$jscomp$0);
7238
+ 0 === request.pendingRootTasks &&
7239
+ null === request.trackedPostpones &&
7240
+ null !== boundary$jscomp$0.contentPreamble &&
7241
+ preparePreamble(request);
7242
+ }
7170
7243
  0 === request.allPendingTasks && completeAll(request);
7171
7244
  }
7172
7245
  } finally {
@@ -7351,8 +7424,8 @@
7351
7424
  ));
7352
7425
  boundary &&
7353
7426
  (destination.push(clientRenderedSuspenseBoundaryError1D),
7354
- (boundary = escapeTextForBrowser(boundary)),
7355
- destination.push(boundary),
7427
+ (row = escapeTextForBrowser(boundary)),
7428
+ destination.push(row),
7356
7429
  destination.push(
7357
7430
  clientRenderedSuspenseBoundaryErrorAttrInterstitial
7358
7431
  ));
@@ -7376,12 +7449,7 @@
7376
7449
  boundary.rootSegmentID
7377
7450
  ),
7378
7451
  hoistableState &&
7379
- ((boundary = boundary.fallbackState),
7380
- boundary.styles.forEach(hoistStyleQueueDependency, hoistableState),
7381
- boundary.stylesheets.forEach(
7382
- hoistStylesheetDependency,
7383
- hoistableState
7384
- )),
7452
+ hoistHoistables(hoistableState, boundary.fallbackState),
7385
7453
  flushSubtree(request, destination, segment, hoistableState),
7386
7454
  destination.push(endSuspenseBoundary)
7387
7455
  );
@@ -7401,10 +7469,7 @@
7401
7469
  destination.push(endSuspenseBoundary)
7402
7470
  );
7403
7471
  flushedByteSize += boundary.byteSize;
7404
- hoistableState &&
7405
- ((segment = boundary.contentState),
7406
- segment.styles.forEach(hoistStyleQueueDependency, hoistableState),
7407
- segment.stylesheets.forEach(hoistStylesheetDependency, hoistableState));
7472
+ hoistableState && hoistHoistables(hoistableState, boundary.contentState);
7408
7473
  segment = boundary.row;
7409
7474
  null !== segment &&
7410
7475
  500 < boundary.byteSize &&
@@ -7824,6 +7889,17 @@
7824
7889
  break a;
7825
7890
  }
7826
7891
  completedSegments.splice(0, JSCompiler_inline_result);
7892
+ var row = boundary$jscomp$0.row;
7893
+ null !== row &&
7894
+ row.together &&
7895
+ 1 === boundary$jscomp$0.pendingTasks &&
7896
+ (1 === row.pendingTasks
7897
+ ? unblockSuspenseListRow(
7898
+ clientRenderedBoundaries,
7899
+ row,
7900
+ row.hoistables
7901
+ )
7902
+ : row.pendingTasks--);
7827
7903
  JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(
7828
7904
  boundary,
7829
7905
  boundary$jscomp$0.contentState,
@@ -9443,5 +9519,5 @@
9443
9519
  'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server'
9444
9520
  );
9445
9521
  };
9446
- exports.version = "19.2.0-canary-c4676e72-20250520";
9522
+ exports.version = "19.2.0-canary-23884812-20250520";
9447
9523
  })();