@fluidframework/container-loader 2.0.0-dev.7.4.0.217884 → 2.0.0-dev.7.4.0.221926
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 +4 -0
- package/api-extractor.json +0 -3
- package/dist/connectionStateHandler.cjs +3 -3
- package/dist/connectionStateHandler.cjs.map +1 -1
- package/dist/connectionStateHandler.d.ts +10 -0
- package/dist/connectionStateHandler.d.ts.map +1 -1
- package/dist/container-loader-alpha.d.ts +1 -0
- package/dist/container-loader-beta.d.ts +18 -0
- package/dist/container-loader-public.d.ts +18 -0
- package/dist/packageVersion.cjs +1 -1
- package/dist/packageVersion.cjs.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/lib/audience.d.ts +0 -4
- package/lib/audience.d.ts.map +1 -1
- package/lib/catchUpMonitor.d.ts.map +1 -1
- package/lib/connectionManager.d.ts +1 -1
- package/lib/connectionManager.d.ts.map +1 -1
- package/lib/connectionStateHandler.d.ts +13 -3
- package/lib/connectionStateHandler.d.ts.map +1 -1
- package/lib/connectionStateHandler.mjs +3 -3
- package/lib/connectionStateHandler.mjs.map +1 -1
- package/lib/container-loader-alpha.d.ts +1 -0
- package/lib/container-loader-beta.d.ts +18 -0
- package/lib/container-loader-public.d.ts +18 -0
- package/lib/container.d.ts +4 -4
- package/lib/container.d.ts.map +1 -1
- package/lib/containerContext.d.ts.map +1 -1
- package/lib/containerStorageAdapter.d.ts +1 -1
- package/lib/containerStorageAdapter.d.ts.map +1 -1
- package/lib/contracts.d.ts.map +1 -1
- package/lib/debugLogger.d.ts.map +1 -1
- package/lib/deltaManager.d.ts +1 -1
- package/lib/deltaManager.d.ts.map +1 -1
- package/lib/deltaQueue.d.ts.map +1 -1
- package/lib/disposal.d.ts.map +1 -1
- package/lib/error.d.ts.map +1 -1
- package/lib/index.d.ts +6 -6
- package/lib/index.d.ts.map +1 -1
- package/lib/loader.d.ts +2 -2
- package/lib/loader.d.ts.map +1 -1
- package/lib/location-redirection-utilities/index.d.ts +1 -1
- package/lib/location-redirection-utilities/index.d.ts.map +1 -1
- package/lib/location-redirection-utilities/resolveWithLocationRedirection.d.ts.map +1 -1
- package/lib/noopHeuristic.d.ts.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.mjs +1 -1
- package/lib/packageVersion.mjs.map +1 -1
- package/lib/protocol.d.ts.map +1 -1
- package/lib/protocolTreeDocumentStorageService.d.ts.map +1 -1
- package/lib/quorum.d.ts +0 -4
- package/lib/quorum.d.ts.map +1 -1
- package/lib/retriableDocumentStorageService.d.ts.map +1 -1
- package/lib/utils.d.ts.map +1 -1
- package/package.json +12 -10
- package/src/connectionStateHandler.ts +16 -3
- package/src/packageVersion.ts +1 -1
package/lib/quorum.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quorum.d.ts","sourceRoot":"","sources":["../src/quorum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quorum.d.ts","sourceRoot":"","sources":["../src/quorum.ts"],"names":[],"mappings":"OAIO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC;OAC5D,EAAE,kBAAkB,EAAE,MAAM,sCAAsC;AAEzE,wBAAgB,+BAA+B,CAC9C,MAAM,EAAE,iBAAiB,GACvB,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAUhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retriableDocumentStorageService.d.ts","sourceRoot":"","sources":["../src/retriableDocumentStorageService.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"retriableDocumentStorageService.d.ts","sourceRoot":"","sources":["../src/retriableDocumentStorageService.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAGI,EACN,WAAW,EACX,uBAAuB,EACvB,+BAA+B,EAC/B,eAAe,EACf,MAAM,oCAAoC;OACpC,EACN,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,MAAM,sCAAsC;OACtC,EAAE,WAAW,EAAE,MAAM,iCAAiC;OACtD,EAAgB,mBAAmB,EAAE,MAAM,iCAAiC;AAGnF,qBAAa,+BAAgC,YAAW,uBAAuB,EAAE,WAAW;IAI1F,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,sBAAsB,CAAsC;gBAElD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACzD,MAAM,EAAE,mBAAmB;IAK7C,IAAW,QAAQ,IAAI,+BAA+B,GAAG,SAAS,CAKjE;IACD,IAAW,QAAQ,YAElB;IACM,OAAO;IAId,IAAW,aAAa,IAAI,MAAM,CAKjC;IAEY,eAAe,CAC3B,OAAO,CAAC,EAAE,QAAQ,EAClB,YAAY,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAUnB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAO9C,WAAW,CACvB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,WAAW,GACvB,OAAO,CAAC,QAAQ,EAAE,CAAC;IAUT,wBAAwB,CACpC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,CAAC;IA8BL,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAO9D,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO5E,OAAO,CAAC,oBAAoB;YAiBd,YAAY;CAM1B"}
|
package/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAMI,EAAE,YAAY,EAAE,aAAa,EAAe,MAAM,sCAAsC;OAExF,EACN,6BAA6B,EAC7B,mCAAmC,EAEnC,MAAM,8BAA8B;AAKrC,MAAM,WAAW,6BAA8B,SAAQ,aAAa;IACnE,aAAa,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;IACnD,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,6BAA6B,CAAA;KAAE,CAAC;CACzD;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAWjF;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC3C,UAAU,EAAE,YAAY,EACxB,eAAe,EAAE,YAAY,GAC3B,6BAA6B,CAiB/B;AA0DD;;;;GAIG;AACH,wBAAgB,0CAA0C,CACzD,mBAAmB,EAAE,YAAY,EACjC,cAAc,EAAE,YAAY,GAC1B,6BAA6B,CAW/B;AAID,eAAO,MAAM,sCAAsC,8BACvB,YAAY,KACrC,6BAYF,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAE9E;AAED,wBAAgB,qCAAqC,CACpD,KAAK,EAAE,GAAG,GACR,KAAK,IAAI,mCAAmC,CAM9C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/container-loader",
|
|
3
|
-
"version": "2.0.0-dev.7.4.0.
|
|
3
|
+
"version": "2.0.0-dev.7.4.0.221926",
|
|
4
4
|
"description": "Fluid container loader",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -35,15 +35,15 @@
|
|
|
35
35
|
"temp-directory": "nyc/.nyc_output"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@fluid-internal/client-utils": "2.0.0-dev.7.4.0.
|
|
39
|
-
"@fluidframework/container-definitions": "2.0.0-dev.7.4.0.
|
|
40
|
-
"@fluidframework/core-interfaces": "2.0.0-dev.7.4.0.
|
|
41
|
-
"@fluidframework/core-utils": "2.0.0-dev.7.4.0.
|
|
42
|
-
"@fluidframework/driver-definitions": "2.0.0-dev.7.4.0.
|
|
43
|
-
"@fluidframework/driver-utils": "2.0.0-dev.7.4.0.
|
|
38
|
+
"@fluid-internal/client-utils": "2.0.0-dev.7.4.0.221926",
|
|
39
|
+
"@fluidframework/container-definitions": "2.0.0-dev.7.4.0.221926",
|
|
40
|
+
"@fluidframework/core-interfaces": "2.0.0-dev.7.4.0.221926",
|
|
41
|
+
"@fluidframework/core-utils": "2.0.0-dev.7.4.0.221926",
|
|
42
|
+
"@fluidframework/driver-definitions": "2.0.0-dev.7.4.0.221926",
|
|
43
|
+
"@fluidframework/driver-utils": "2.0.0-dev.7.4.0.221926",
|
|
44
44
|
"@fluidframework/protocol-base": "^2.0.1",
|
|
45
45
|
"@fluidframework/protocol-definitions": "^3.0.0",
|
|
46
|
-
"@fluidframework/telemetry-utils": "2.0.0-dev.7.4.0.
|
|
46
|
+
"@fluidframework/telemetry-utils": "2.0.0-dev.7.4.0.221926",
|
|
47
47
|
"debug": "^4.3.4",
|
|
48
48
|
"double-ended-queue": "^2.1.0-0",
|
|
49
49
|
"events": "^3.1.0",
|
|
@@ -51,13 +51,14 @@
|
|
|
51
51
|
"uuid": "^9.0.0"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@
|
|
54
|
+
"@arethetypeswrong/cli": "^0.13.3",
|
|
55
|
+
"@fluid-private/test-loader-utils": "2.0.0-dev.7.4.0.221926",
|
|
55
56
|
"@fluid-tools/build-cli": "^0.28.0",
|
|
56
57
|
"@fluidframework/build-common": "^2.0.3",
|
|
57
58
|
"@fluidframework/build-tools": "^0.28.0",
|
|
58
59
|
"@fluidframework/container-loader-previous": "npm:@fluidframework/container-loader@2.0.0-internal.7.2.0",
|
|
59
60
|
"@fluidframework/eslint-config-fluid": "^3.1.0",
|
|
60
|
-
"@fluidframework/mocha-test-setup": "2.0.0-dev.7.4.0.
|
|
61
|
+
"@fluidframework/mocha-test-setup": "2.0.0-dev.7.4.0.221926",
|
|
61
62
|
"@microsoft/api-extractor": "^7.38.3",
|
|
62
63
|
"@types/debug": "^4.1.5",
|
|
63
64
|
"@types/double-ended-queue": "^2.1.0",
|
|
@@ -105,6 +106,7 @@
|
|
|
105
106
|
"build:esnext": "tsc-multi --config ../../../common/build/build-common/tsc-multi.esm.json",
|
|
106
107
|
"build:genver": "gen-version",
|
|
107
108
|
"build:test": "tsc-multi --config tsc-multi.test.json",
|
|
109
|
+
"check:are-the-types-wrong": "attw --pack",
|
|
108
110
|
"check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
|
|
109
111
|
"ci:build:docs": "api-extractor run",
|
|
110
112
|
"clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc",
|
|
@@ -312,12 +312,25 @@ class ConnectionStateCatchup extends ConnectionStateHandlerPassThrough {
|
|
|
312
312
|
class ConnectionStateHandler implements IConnectionStateHandler {
|
|
313
313
|
private _connectionState = ConnectionState.Disconnected;
|
|
314
314
|
private _pendingClientId: string | undefined;
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* Tracks that we observe the "leave" op within the timeout for our previous clientId (see comment on ConnectionStateHandler class)
|
|
318
|
+
* ! This ensures we do not switch to a new clientId until we process all potential messages from old clientId
|
|
319
|
+
* ! i.e. We will always see the "leave" op for a client after we have seen all the ops it has sent
|
|
320
|
+
* ! This check helps prevent the same op from being resubmitted by the PendingStateManager upon reconnecting
|
|
321
|
+
*/
|
|
315
322
|
private readonly prevClientLeftTimer: Timer;
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* Tracks that we observe our own "join" op within the timeout after receiving a "connected" event from the DeltaManager
|
|
326
|
+
*/
|
|
316
327
|
private readonly joinOpTimer: Timer;
|
|
328
|
+
|
|
317
329
|
private protocol?: IProtocolHandler;
|
|
318
330
|
private connection?: IConnectionDetailsInternal;
|
|
319
331
|
private _clientId?: string;
|
|
320
332
|
|
|
333
|
+
/** Track how long we waited to see "leave" op for previous clientId */
|
|
321
334
|
private waitEvent: PerformanceEvent | undefined;
|
|
322
335
|
|
|
323
336
|
public get connectionState(): ConnectionState {
|
|
@@ -453,9 +466,9 @@ class ConnectionStateHandler implements IConnectionStateHandler {
|
|
|
453
466
|
0x2e2 /* "Must only wait for leave message when clientId in quorum" */,
|
|
454
467
|
);
|
|
455
468
|
|
|
456
|
-
// Move to connected state only if
|
|
457
|
-
//
|
|
458
|
-
// or
|
|
469
|
+
// Move to connected state only if:
|
|
470
|
+
// 1. We have seen our own "join" op (i.e. for this.pendingClientId)
|
|
471
|
+
// 2. There is no "leave" timer running, meaning this is our first connection or the previous client has left (via this.prevClientLeftTimer)
|
|
459
472
|
if (
|
|
460
473
|
this.pendingClientId !== this.clientId &&
|
|
461
474
|
this.hasMember(this.pendingClientId) &&
|
package/src/packageVersion.ts
CHANGED