@fluidframework/container-runtime 2.91.0 → 2.93.0
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.
- package/CHANGELOG.md +8 -0
- package/README.md +1 -1
- package/api-report/container-runtime.legacy.beta.api.md +2 -0
- package/container-runtime.test-files.tar +0 -0
- package/dist/containerCompatibility.d.ts +1 -1
- package/dist/containerCompatibility.d.ts.map +1 -1
- package/dist/containerCompatibility.js.map +1 -1
- package/dist/containerRuntime.d.ts +38 -11
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +118 -86
- package/dist/containerRuntime.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts +1 -0
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +3 -8
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +4 -0
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +1 -1
- package/dist/opLifecycle/batchManager.d.ts +3 -9
- package/dist/opLifecycle/batchManager.d.ts.map +1 -1
- package/dist/opLifecycle/batchManager.js +5 -3
- package/dist/opLifecycle/batchManager.js.map +1 -1
- package/dist/opLifecycle/index.d.ts +1 -1
- package/dist/opLifecycle/index.d.ts.map +1 -1
- package/dist/opLifecycle/index.js +2 -1
- package/dist/opLifecycle/index.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts +6 -0
- package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js +11 -2
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSerialization.d.ts +3 -1
- package/dist/opLifecycle/opSerialization.d.ts.map +1 -1
- package/dist/opLifecycle/opSerialization.js +11 -9
- package/dist/opLifecycle/opSerialization.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +8 -11
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +42 -66
- package/dist/opLifecycle/outbox.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/pendingStateManager.d.ts +8 -9
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +24 -22
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/public.d.ts +1 -1
- package/dist/runtimeLayerCompatState.d.ts +2 -2
- package/dist/summary/documentSchema.d.ts +9 -3
- package/dist/summary/documentSchema.d.ts.map +1 -1
- package/dist/summary/documentSchema.js +19 -3
- package/dist/summary/documentSchema.js.map +1 -1
- package/dist/summary/orderedClientElection.js +2 -2
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/summaryManager.d.ts +1 -0
- package/dist/summary/summaryManager.d.ts.map +1 -1
- package/dist/summary/summaryManager.js +9 -0
- package/dist/summary/summaryManager.js.map +1 -1
- package/eslint.config.mts +1 -1
- package/internal.d.ts +1 -1
- package/legacy.d.ts +1 -1
- package/lib/containerCompatibility.d.ts +1 -1
- package/lib/containerCompatibility.d.ts.map +1 -1
- package/lib/containerCompatibility.js.map +1 -1
- package/lib/containerRuntime.d.ts +38 -11
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +118 -87
- package/lib/containerRuntime.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts +1 -0
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +3 -8
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +4 -0
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +1 -1
- package/lib/opLifecycle/batchManager.d.ts +3 -9
- package/lib/opLifecycle/batchManager.d.ts.map +1 -1
- package/lib/opLifecycle/batchManager.js +5 -3
- package/lib/opLifecycle/batchManager.js.map +1 -1
- package/lib/opLifecycle/index.d.ts +1 -1
- package/lib/opLifecycle/index.d.ts.map +1 -1
- package/lib/opLifecycle/index.js +1 -1
- package/lib/opLifecycle/index.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts +6 -0
- package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js +10 -1
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSerialization.d.ts +3 -1
- package/lib/opLifecycle/opSerialization.d.ts.map +1 -1
- package/lib/opLifecycle/opSerialization.js +11 -9
- package/lib/opLifecycle/opSerialization.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +8 -11
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +43 -67
- package/lib/opLifecycle/outbox.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/pendingStateManager.d.ts +8 -9
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +24 -22
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/public.d.ts +1 -1
- package/lib/runtimeLayerCompatState.d.ts +2 -2
- package/lib/summary/documentSchema.d.ts +9 -3
- package/lib/summary/documentSchema.d.ts.map +1 -1
- package/lib/summary/documentSchema.js +19 -3
- package/lib/summary/documentSchema.js.map +1 -1
- package/lib/summary/orderedClientElection.js +2 -2
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/summaryManager.d.ts +1 -0
- package/lib/summary/summaryManager.d.ts.map +1 -1
- package/lib/summary/summaryManager.js +9 -0
- package/lib/summary/summaryManager.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +27 -28
- package/src/containerCompatibility.ts +2 -0
- package/src/containerRuntime.ts +163 -106
- package/src/gc/garbageCollection.ts +4 -9
- package/src/gc/gcDefinitions.ts +4 -0
- package/src/index.ts +1 -0
- package/src/opLifecycle/batchManager.ts +6 -13
- package/src/opLifecycle/index.ts +1 -0
- package/src/opLifecycle/opGroupingManager.ts +11 -1
- package/src/opLifecycle/opSerialization.ts +14 -12
- package/src/opLifecycle/outbox.ts +53 -86
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +31 -33
- package/src/summary/documentSchema.ts +25 -2
- package/src/summary/orderedClientElection.ts +2 -2
- package/src/summary/summaryManager.ts +11 -0
|
@@ -102,6 +102,7 @@ export class SummaryManager
|
|
|
102
102
|
private latestClientId: string | undefined;
|
|
103
103
|
private state = SummaryManagerState.Off;
|
|
104
104
|
private summarizer?: ISummarizer;
|
|
105
|
+
private pendingStopReason?: SummarizerStopReason;
|
|
105
106
|
private _disposed = false;
|
|
106
107
|
private summarizerStopTimeout?: ReturnType<typeof setTimeout>;
|
|
107
108
|
/**
|
|
@@ -287,6 +288,13 @@ export class SummaryManager
|
|
|
287
288
|
this.summarizer = summarizer;
|
|
288
289
|
this.setupForwardedEvents(summarizer);
|
|
289
290
|
|
|
291
|
+
// A stop may have been requested while we were awaiting summarizer creation.
|
|
292
|
+
// Replay it now so the summarizer can observe the stop intent and move to exit.
|
|
293
|
+
if (this.pendingStopReason !== undefined) {
|
|
294
|
+
summarizer.stop(this.pendingStopReason);
|
|
295
|
+
this.pendingStopReason = undefined;
|
|
296
|
+
}
|
|
297
|
+
|
|
290
298
|
// Re-validate that it need to be running. Due to asynchrony, it may be not the case anymore
|
|
291
299
|
// If we can't run the LastSummary, simply return as to avoid paying the cost of launching
|
|
292
300
|
// the summarizer at all.
|
|
@@ -375,6 +383,7 @@ export class SummaryManager
|
|
|
375
383
|
private cleanupAfterSummarizerStop(): void {
|
|
376
384
|
this.summarizerGeneration++;
|
|
377
385
|
this.state = SummaryManagerState.Off;
|
|
386
|
+
this.pendingStopReason = undefined;
|
|
378
387
|
|
|
379
388
|
// Clear any pending stop timeout to avoid it firing for a different summarizer
|
|
380
389
|
if (this.summarizerStopTimeout !== undefined) {
|
|
@@ -396,6 +405,7 @@ export class SummaryManager
|
|
|
396
405
|
return;
|
|
397
406
|
}
|
|
398
407
|
this.state = SummaryManagerState.Stopping;
|
|
408
|
+
this.pendingStopReason = reason;
|
|
399
409
|
|
|
400
410
|
// Stopping the running summarizer client should trigger a change
|
|
401
411
|
// in states when the running summarizer closes
|
|
@@ -502,6 +512,7 @@ export class SummaryManager
|
|
|
502
512
|
this.connectedState.off("connected", this.handleConnected);
|
|
503
513
|
this.connectedState.off("disconnected", this.handleDisconnected);
|
|
504
514
|
this.cleanupForwardedEvents();
|
|
515
|
+
this.pendingStopReason = undefined;
|
|
505
516
|
if (this.summarizerStopTimeout !== undefined) {
|
|
506
517
|
clearTimeout(this.summarizerStopTimeout);
|
|
507
518
|
}
|