@fluidframework/container-runtime 2.63.0-359286 → 2.63.0-359734
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/container-runtime.test-files.tar +0 -0
- package/dist/containerRuntime.d.ts +8 -1
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +9 -13
- package/dist/containerRuntime.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/lib/containerRuntime.d.ts +8 -1
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +9 -13
- package/lib/containerRuntime.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/package.json +17 -17
- package/src/containerRuntime.ts +18 -18
- package/src/packageVersion.ts +1 -1
package/lib/packageVersion.d.ts
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
|
|
6
6
|
*/
|
|
7
7
|
export declare const pkgName = "@fluidframework/container-runtime";
|
|
8
|
-
export declare const pkgVersion = "2.63.0-
|
|
8
|
+
export declare const pkgVersion = "2.63.0-359734";
|
|
9
9
|
//# sourceMappingURL=packageVersion.d.ts.map
|
package/lib/packageVersion.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,mCAAmC,CAAC;AAC3D,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/container-runtime\";\nexport const pkgVersion = \"2.63.0-
|
|
1
|
+
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,mCAAmC,CAAC;AAC3D,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/container-runtime\";\nexport const pkgVersion = \"2.63.0-359734\";\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/container-runtime",
|
|
3
|
-
"version": "2.63.0-
|
|
3
|
+
"version": "2.63.0-359734",
|
|
4
4
|
"description": "Fluid container runtime",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -119,18 +119,18 @@
|
|
|
119
119
|
"temp-directory": "nyc/.nyc_output"
|
|
120
120
|
},
|
|
121
121
|
"dependencies": {
|
|
122
|
-
"@fluid-internal/client-utils": "2.63.0-
|
|
123
|
-
"@fluidframework/container-definitions": "2.63.0-
|
|
124
|
-
"@fluidframework/container-runtime-definitions": "2.63.0-
|
|
125
|
-
"@fluidframework/core-interfaces": "2.63.0-
|
|
126
|
-
"@fluidframework/core-utils": "2.63.0-
|
|
127
|
-
"@fluidframework/datastore": "2.63.0-
|
|
128
|
-
"@fluidframework/driver-definitions": "2.63.0-
|
|
129
|
-
"@fluidframework/driver-utils": "2.63.0-
|
|
130
|
-
"@fluidframework/id-compressor": "2.63.0-
|
|
131
|
-
"@fluidframework/runtime-definitions": "2.63.0-
|
|
132
|
-
"@fluidframework/runtime-utils": "2.63.0-
|
|
133
|
-
"@fluidframework/telemetry-utils": "2.63.0-
|
|
122
|
+
"@fluid-internal/client-utils": "2.63.0-359734",
|
|
123
|
+
"@fluidframework/container-definitions": "2.63.0-359734",
|
|
124
|
+
"@fluidframework/container-runtime-definitions": "2.63.0-359734",
|
|
125
|
+
"@fluidframework/core-interfaces": "2.63.0-359734",
|
|
126
|
+
"@fluidframework/core-utils": "2.63.0-359734",
|
|
127
|
+
"@fluidframework/datastore": "2.63.0-359734",
|
|
128
|
+
"@fluidframework/driver-definitions": "2.63.0-359734",
|
|
129
|
+
"@fluidframework/driver-utils": "2.63.0-359734",
|
|
130
|
+
"@fluidframework/id-compressor": "2.63.0-359734",
|
|
131
|
+
"@fluidframework/runtime-definitions": "2.63.0-359734",
|
|
132
|
+
"@fluidframework/runtime-utils": "2.63.0-359734",
|
|
133
|
+
"@fluidframework/telemetry-utils": "2.63.0-359734",
|
|
134
134
|
"@tylerbu/sorted-btree-es6": "^1.8.0",
|
|
135
135
|
"double-ended-queue": "^2.1.0-0",
|
|
136
136
|
"lz4js": "^0.2.0",
|
|
@@ -140,16 +140,16 @@
|
|
|
140
140
|
"devDependencies": {
|
|
141
141
|
"@arethetypeswrong/cli": "^0.17.1",
|
|
142
142
|
"@biomejs/biome": "~1.9.3",
|
|
143
|
-
"@fluid-internal/mocha-test-setup": "2.63.0-
|
|
144
|
-
"@fluid-private/stochastic-test-utils": "2.63.0-
|
|
145
|
-
"@fluid-private/test-pairwise-generator": "2.63.0-
|
|
143
|
+
"@fluid-internal/mocha-test-setup": "2.63.0-359734",
|
|
144
|
+
"@fluid-private/stochastic-test-utils": "2.63.0-359734",
|
|
145
|
+
"@fluid-private/test-pairwise-generator": "2.63.0-359734",
|
|
146
146
|
"@fluid-tools/benchmark": "^0.51.0",
|
|
147
147
|
"@fluid-tools/build-cli": "^0.58.3",
|
|
148
148
|
"@fluidframework/build-common": "^2.0.3",
|
|
149
149
|
"@fluidframework/build-tools": "^0.58.3",
|
|
150
150
|
"@fluidframework/container-runtime-previous": "npm:@fluidframework/container-runtime@2.62.0",
|
|
151
151
|
"@fluidframework/eslint-config-fluid": "^6.0.0",
|
|
152
|
-
"@fluidframework/test-runtime-utils": "2.63.0-
|
|
152
|
+
"@fluidframework/test-runtime-utils": "2.63.0-359734",
|
|
153
153
|
"@microsoft/api-extractor": "7.52.11",
|
|
154
154
|
"@types/double-ended-queue": "^2.1.0",
|
|
155
155
|
"@types/lz4js": "^0.2.0",
|
package/src/containerRuntime.ts
CHANGED
|
@@ -41,7 +41,6 @@ import type {
|
|
|
41
41
|
IContainerRuntimeWithResolveHandle_Deprecated,
|
|
42
42
|
JoinedStatus,
|
|
43
43
|
OutboundExtensionMessage,
|
|
44
|
-
UnverifiedBrand,
|
|
45
44
|
} from "@fluidframework/container-runtime-definitions/internal";
|
|
46
45
|
import type {
|
|
47
46
|
FluidObject,
|
|
@@ -710,13 +709,6 @@ export interface UnknownIncomingTypedMessage extends TypedMessage {
|
|
|
710
709
|
content: OpaqueJsonDeserialized<unknown>;
|
|
711
710
|
}
|
|
712
711
|
|
|
713
|
-
/**
|
|
714
|
-
* Does nothing helper to apply unverified branding to a value.
|
|
715
|
-
*/
|
|
716
|
-
function markUnverified<const T>(value: T): T & UnverifiedBrand<T> {
|
|
717
|
-
return value as T & UnverifiedBrand<T>;
|
|
718
|
-
}
|
|
719
|
-
|
|
720
712
|
type UnsequencedSignalEnvelope = Omit<ISignalEnvelope, "clientBroadcastSignalSequenceNumber">;
|
|
721
713
|
|
|
722
714
|
/**
|
|
@@ -1349,7 +1341,14 @@ export class ContainerRuntime
|
|
|
1349
1341
|
|
|
1350
1342
|
private readonly batchRunner = new BatchRunCounter();
|
|
1351
1343
|
private readonly _flushMode: FlushMode;
|
|
1352
|
-
|
|
1344
|
+
/**
|
|
1345
|
+
* BatchId tracking is needed whenever there's a possibility of a "forked Container",
|
|
1346
|
+
* where the same local state is pending in two different running Containers, each of
|
|
1347
|
+
* which is trying to ensure it's persisted.
|
|
1348
|
+
* "Offline Load" from serialized pending state is one such scenario since two Containers
|
|
1349
|
+
* could load from the same serialized pending state.
|
|
1350
|
+
*/
|
|
1351
|
+
private readonly batchIdTrackingEnabled: boolean;
|
|
1353
1352
|
private flushScheduled = false;
|
|
1354
1353
|
|
|
1355
1354
|
private canSendOps: boolean;
|
|
@@ -1796,10 +1795,12 @@ export class ContainerRuntime
|
|
|
1796
1795
|
} else {
|
|
1797
1796
|
this._flushMode = runtimeOptions.flushMode;
|
|
1798
1797
|
}
|
|
1799
|
-
this.
|
|
1800
|
-
this.mc.config.getBoolean("Fluid.Container.
|
|
1798
|
+
this.batchIdTrackingEnabled =
|
|
1799
|
+
this.mc.config.getBoolean("Fluid.Container.enableOfflineFull") ??
|
|
1800
|
+
this.mc.config.getBoolean("Fluid.ContainerRuntime.enableBatchIdTracking") ??
|
|
1801
|
+
false;
|
|
1801
1802
|
|
|
1802
|
-
if (this.
|
|
1803
|
+
if (this.batchIdTrackingEnabled && this._flushMode !== FlushMode.TurnBased) {
|
|
1803
1804
|
const error = new UsageError("Offline mode is only supported in turn-based mode");
|
|
1804
1805
|
this.closeFn(error);
|
|
1805
1806
|
throw error;
|
|
@@ -1808,7 +1809,7 @@ export class ContainerRuntime
|
|
|
1808
1809
|
// DuplicateBatchDetection is only enabled if Offline Load is enabled
|
|
1809
1810
|
// It maintains a cache of all batchIds/sequenceNumbers within the collab window.
|
|
1810
1811
|
// Don't waste resources doing so if not needed.
|
|
1811
|
-
if (this.
|
|
1812
|
+
if (this.batchIdTrackingEnabled) {
|
|
1812
1813
|
this.duplicateBatchDetector = new DuplicateBatchDetector(recentBatchInfo);
|
|
1813
1814
|
}
|
|
1814
1815
|
|
|
@@ -3321,12 +3322,12 @@ export class ContainerRuntime
|
|
|
3321
3322
|
local: boolean,
|
|
3322
3323
|
): void {
|
|
3323
3324
|
const envelope = message.content;
|
|
3324
|
-
const transformed =
|
|
3325
|
+
const transformed = {
|
|
3325
3326
|
clientId: message.clientId,
|
|
3326
3327
|
content: envelope.contents.content,
|
|
3327
3328
|
type: envelope.contents.type,
|
|
3328
3329
|
targetClientId: message.targetClientId,
|
|
3329
|
-
}
|
|
3330
|
+
};
|
|
3330
3331
|
|
|
3331
3332
|
// Only collect signal telemetry for broadcast messages sent by the current client.
|
|
3332
3333
|
if (message.clientId === this.clientId) {
|
|
@@ -3349,8 +3350,7 @@ export class ContainerRuntime
|
|
|
3349
3350
|
|
|
3350
3351
|
private routeNonContainerSignal(
|
|
3351
3352
|
address: string,
|
|
3352
|
-
signalMessage: IInboundSignalMessage<UnknownIncomingTypedMessage
|
|
3353
|
-
UnverifiedBrand<UnknownIncomingTypedMessage>,
|
|
3353
|
+
signalMessage: IInboundSignalMessage<UnknownIncomingTypedMessage>,
|
|
3354
3354
|
local: boolean,
|
|
3355
3355
|
): void {
|
|
3356
3356
|
// channelCollection signals are identified by no starting `/` in address.
|
|
@@ -4762,7 +4762,7 @@ export class ContainerRuntime
|
|
|
4762
4762
|
const resubmitInfo = {
|
|
4763
4763
|
// Only include Batch ID if "Offline Load" feature is enabled
|
|
4764
4764
|
// It's only needed to identify batches across container forks arising from misuse of offline load.
|
|
4765
|
-
batchId: this.
|
|
4765
|
+
batchId: this.batchIdTrackingEnabled ? batchId : undefined,
|
|
4766
4766
|
staged,
|
|
4767
4767
|
};
|
|
4768
4768
|
|
package/src/packageVersion.ts
CHANGED