@fluidframework/container-loader 0.48.5 → 0.49.1
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/dist/container.d.ts +15 -8
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +14 -9
- package/dist/container.js.map +1 -1
- package/dist/deltaManager.d.ts +0 -2
- package/dist/deltaManager.d.ts.map +1 -1
- package/dist/deltaManager.js +0 -12
- package/dist/deltaManager.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.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/utils.d.ts.map +1 -1
- package/dist/utils.js +0 -3
- package/dist/utils.js.map +1 -1
- package/lib/container.d.ts +15 -8
- package/lib/container.d.ts.map +1 -1
- package/lib/container.js +14 -9
- package/lib/container.js.map +1 -1
- package/lib/deltaManager.d.ts +0 -2
- package/lib/deltaManager.d.ts.map +1 -1
- package/lib/deltaManager.js +0 -12
- package/lib/deltaManager.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -1
- package/lib/index.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/utils.d.ts.map +1 -1
- package/lib/utils.js +1 -4
- package/lib/utils.js.map +1 -1
- package/package.json +10 -10
- package/src/container.ts +15 -10
- package/src/deltaManager.ts +0 -14
- package/src/index.ts +0 -1
- package/src/packageVersion.ts +1 -1
- package/src/utils.ts +0 -4
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;AAUH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAe,MAAM,sCAAsC,CAAC;AAIhG,MAAM,WAAW,6BAA8B,SAAQ,aAAa;IAChE,aAAa,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;KAAC,CAAC;IACjD,KAAK,EAAE;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,6BAA6B,CAAA;KAAC,CAAC;CAC1D;AAED,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAW5D;AAsDD;;;;GAIG;AACH,wBAAgB,0CAA0C,CACtD,mBAAmB,EAAE,YAAY,EACjC,cAAc,EAAE,YAAY,GAC7B,6BAA6B,CAW/B;AAID,eAAO,MAAM,sCAAsC,8BAA+B,YAAY,kCAU7F,CAAC"}
|
package/lib/utils.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { parse } from "url";
|
|
6
6
|
import { v4 as uuid } from "uuid";
|
|
7
|
-
import { assert,
|
|
7
|
+
import { assert, stringToBuffer, Uint8ArrayToArrayBuffer, unreachableCase, } from "@fluidframework/common-utils";
|
|
8
8
|
export function parseUrl(url) {
|
|
9
9
|
var _a;
|
|
10
10
|
const parsed = parse(url, true);
|
|
@@ -54,9 +54,6 @@ function convertSummaryToSnapshotWithEmbeddedBlobContents(summary) {
|
|
|
54
54
|
const contentBuffer = typeof summaryObject.content === "string" ?
|
|
55
55
|
stringToBuffer(summaryObject.content, "utf8") : Uint8ArrayToArrayBuffer(summaryObject.content);
|
|
56
56
|
treeNode.blobsContents[blobId] = contentBuffer;
|
|
57
|
-
// 0.47 back-compat old runtime will still expect content in the blobs only.
|
|
58
|
-
// So need to put in blobs for now.
|
|
59
|
-
treeNode.blobs[blobId] = bufferToString(contentBuffer, "base64");
|
|
60
57
|
break;
|
|
61
58
|
}
|
|
62
59
|
case 3 /* Handle */:
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAC5B,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EACH,MAAM,EACN,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { parse } from \"url\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n assert,\n stringToBuffer,\n Uint8ArrayToArrayBuffer,\n unreachableCase,\n} from \"@fluidframework/common-utils\";\nimport { ISummaryTree, ISnapshotTree, SummaryType } from \"@fluidframework/protocol-definitions\";\n\n// This is used when we rehydrate a container from the snapshot. Here we put the blob contents\n// in separate property: blobContents.\nexport interface ISnapshotTreeWithBlobContents extends ISnapshotTree {\n blobsContents: {[path: string]: ArrayBufferLike},\n trees: {[path: string]: ISnapshotTreeWithBlobContents},\n}\n\nexport interface IParsedUrl {\n id: string;\n path: string;\n query: string;\n /**\n * Null means do not use snapshots, undefined means load latest snapshot\n * otherwise it's version ID passed to IDocumentStorageService.getVersions() to figure out what snapshot to use.\n * If needed, can add undefined which is treated by Container.load() as load latest snapshot.\n */\n version: string | null | undefined;\n}\n\nexport function parseUrl(url: string): IParsedUrl | undefined {\n const parsed = parse(url, true);\n if (typeof parsed.pathname !== \"string\") {\n throw new Error(\"Failed to parse pathname\");\n }\n const query = parsed.search ?? \"\";\n const regex = /^\\/([^/]*\\/[^/]*)(\\/?.*)$/;\n const match = regex.exec(parsed.pathname);\n return (match?.length === 3)\n ? { id: match[1], path: match[2], query, version: parsed.query.version as string }\n : undefined;\n}\n\n/**\n * Converts summary tree (for upload) to snapshot tree (for download).\n * Summary tree blobs contain contents, but snapshot tree blobs normally\n * contain IDs pointing to storage. This will create 2 blob entries in the\n * snapshot tree for each blob in the summary tree. One will be the regular\n * path pointing to a uniquely generated ID. Then there will be another\n * entry with the path as that uniquely generated ID, and value as the\n * blob contents as a base-64 string.\n * @param summary - summary to convert\n */\nfunction convertSummaryToSnapshotWithEmbeddedBlobContents(\n summary: ISummaryTree,\n): ISnapshotTreeWithBlobContents {\n const treeNode: ISnapshotTreeWithBlobContents = {\n blobs: {},\n blobsContents: {},\n trees: {},\n commits: {},\n id: uuid(),\n unreferenced: summary.unreferenced,\n };\n const keys = Object.keys(summary.tree);\n for (const key of keys) {\n const summaryObject = summary.tree[key];\n\n switch (summaryObject.type) {\n case SummaryType.Tree: {\n treeNode.trees[key] = convertSummaryToSnapshotWithEmbeddedBlobContents(summaryObject);\n break;\n }\n case SummaryType.Attachment:\n treeNode.blobs[key] = summaryObject.id;\n break;\n case SummaryType.Blob: {\n const blobId = uuid();\n treeNode.blobs[key] = blobId;\n const contentBuffer = typeof summaryObject.content === \"string\" ?\n stringToBuffer(summaryObject.content, \"utf8\") : Uint8ArrayToArrayBuffer(summaryObject.content);\n treeNode.blobsContents[blobId] = contentBuffer;\n break;\n }\n case SummaryType.Handle:\n throw new Error(\"No handles should be there in summary in detached container!!\");\n break;\n default: {\n unreachableCase(summaryObject, `Unknown tree type ${(summaryObject as any).type}`);\n }\n }\n }\n return treeNode;\n}\n\n/**\n * Combine and convert protocol and app summary tree to format which is readable by container while rehydrating.\n * @param protocolSummaryTree - Protocol Summary Tree\n * @param appSummaryTree - App Summary Tree\n */\nexport function convertProtocolAndAppSummaryToSnapshotTree(\n protocolSummaryTree: ISummaryTree,\n appSummaryTree: ISummaryTree,\n): ISnapshotTreeWithBlobContents {\n // Shallow copy is fine, since we are doing a deep clone below.\n const combinedSummary: ISummaryTree = {\n type: SummaryType.Tree,\n tree: { ...appSummaryTree.tree },\n };\n\n combinedSummary.tree[\".protocol\"] = protocolSummaryTree;\n const snapshotTreeWithBlobContents =\n convertSummaryToSnapshotWithEmbeddedBlobContents(combinedSummary);\n return snapshotTreeWithBlobContents;\n}\n\n// This function converts the snapshot taken in detached container(by serialize api) to snapshotTree with which\n// a detached container can be rehydrated.\nexport const getSnapshotTreeFromSerializedContainer = (detachedContainerSnapshot: ISummaryTree) => {\n const protocolSummaryTree = detachedContainerSnapshot.tree[\".protocol\"] as ISummaryTree;\n const appSummaryTree = detachedContainerSnapshot.tree[\".app\"] as ISummaryTree;\n assert(protocolSummaryTree !== undefined && appSummaryTree !== undefined,\n 0x1e0 /* \"Protocol and App summary trees should be present\" */);\n const snapshotTreeWithBlobContents = convertProtocolAndAppSummaryToSnapshotTree(\n protocolSummaryTree,\n appSummaryTree,\n );\n return snapshotTreeWithBlobContents;\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/container-loader",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.49.1",
|
|
4
4
|
"description": "Fluid container loader",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": "https://github.com/microsoft/FluidFramework",
|
|
@@ -58,14 +58,14 @@
|
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@fluidframework/common-definitions": "^0.20.1",
|
|
60
60
|
"@fluidframework/common-utils": "^0.32.1",
|
|
61
|
-
"@fluidframework/container-definitions": "^0.
|
|
62
|
-
"@fluidframework/container-utils": "^0.
|
|
61
|
+
"@fluidframework/container-definitions": "^0.40.0",
|
|
62
|
+
"@fluidframework/container-utils": "^0.49.1",
|
|
63
63
|
"@fluidframework/core-interfaces": "^0.39.7",
|
|
64
|
-
"@fluidframework/driver-definitions": "^0.
|
|
65
|
-
"@fluidframework/driver-utils": "^0.
|
|
66
|
-
"@fluidframework/protocol-base": "^0.
|
|
67
|
-
"@fluidframework/protocol-definitions": "^0.
|
|
68
|
-
"@fluidframework/telemetry-utils": "^0.
|
|
64
|
+
"@fluidframework/driver-definitions": "^0.40.0",
|
|
65
|
+
"@fluidframework/driver-utils": "^0.49.1",
|
|
66
|
+
"@fluidframework/protocol-base": "^0.1032.0",
|
|
67
|
+
"@fluidframework/protocol-definitions": "^0.1025.0",
|
|
68
|
+
"@fluidframework/telemetry-utils": "^0.49.1",
|
|
69
69
|
"abort-controller": "^3.0.0",
|
|
70
70
|
"double-ended-queue": "^2.1.0-0",
|
|
71
71
|
"lodash": "^4.17.21",
|
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@fluidframework/build-common": "^0.23.0",
|
|
76
76
|
"@fluidframework/eslint-config-fluid": "^0.23.0",
|
|
77
|
-
"@fluidframework/mocha-test-setup": "^0.
|
|
78
|
-
"@fluidframework/test-loader-utils": "^0.
|
|
77
|
+
"@fluidframework/mocha-test-setup": "^0.49.1",
|
|
78
|
+
"@fluidframework/test-loader-utils": "^0.49.1",
|
|
79
79
|
"@microsoft/api-extractor": "^7.16.1",
|
|
80
80
|
"@types/double-ended-queue": "^2.1.0",
|
|
81
81
|
"@types/lodash": "^4.14.118",
|
package/src/container.ts
CHANGED
|
@@ -483,7 +483,16 @@ export class Container extends EventEmitterWithErrorHandling<IContainerEvents> i
|
|
|
483
483
|
}
|
|
484
484
|
|
|
485
485
|
/**
|
|
486
|
-
*
|
|
486
|
+
* Tells if container is in read-only mode.
|
|
487
|
+
* Data stores should listen for "readonly" notifications and disallow user making changes to data stores.
|
|
488
|
+
* Readonly state can be because of no storage write permission,
|
|
489
|
+
* or due to host forcing readonly mode for container.
|
|
490
|
+
*
|
|
491
|
+
* We do not differentiate here between no write access to storage vs. host disallowing changes to container -
|
|
492
|
+
* in all cases container runtime and data stores should respect readonly state and not allow local changes.
|
|
493
|
+
*
|
|
494
|
+
* It is undefined if we have not yet established websocket connection
|
|
495
|
+
* and do not know if user has write access to a file.
|
|
487
496
|
* @deprecated - use readOnlyInfo
|
|
488
497
|
*/
|
|
489
498
|
public get readonly() {
|
|
@@ -491,22 +500,21 @@ export class Container extends EventEmitterWithErrorHandling<IContainerEvents> i
|
|
|
491
500
|
}
|
|
492
501
|
|
|
493
502
|
/**
|
|
494
|
-
*
|
|
503
|
+
* Tells if user has no write permissions for file in storage
|
|
504
|
+
* It is undefined if we have not yet established websocket connection
|
|
505
|
+
* and do not know if user has write access to a file.
|
|
495
506
|
* @deprecated - use readOnlyInfo
|
|
496
507
|
*/
|
|
497
508
|
public get readonlyPermissions() {
|
|
498
509
|
return this._deltaManager.readonlyPermissions;
|
|
499
510
|
}
|
|
500
511
|
|
|
501
|
-
/**
|
|
502
|
-
* {@inheritDoc DeltaManager.readOnlyInfo}
|
|
503
|
-
*/
|
|
504
512
|
public get readOnlyInfo(): ReadOnlyInfo {
|
|
505
513
|
return this._deltaManager.readOnlyInfo;
|
|
506
514
|
}
|
|
507
515
|
|
|
508
516
|
/**
|
|
509
|
-
*
|
|
517
|
+
* Tracks host requiring read-only mode.
|
|
510
518
|
*/
|
|
511
519
|
public forceReadonly(readonly: boolean) {
|
|
512
520
|
this._deltaManager.forceReadonly(readonly);
|
|
@@ -639,9 +647,6 @@ export class Container extends EventEmitterWithErrorHandling<IContainerEvents> i
|
|
|
639
647
|
// load information to associate errors with the specific load point
|
|
640
648
|
dmInitialSeqNumber: () => this._deltaManager?.initialSequenceNumber,
|
|
641
649
|
dmLastKnownSeqNumber: () => this._deltaManager?.lastKnownSeqNumber,
|
|
642
|
-
dmLastProcessedSeqNumber: () => this._deltaManager?.lastSequenceNumber,
|
|
643
|
-
dmLastQueuedSeqNumber: () => this._deltaManager?.lastQueuedSeqNumber,
|
|
644
|
-
dmLastObservedSeqNumber: () => this._deltaManager?.lastObservedSequenceNumber,
|
|
645
650
|
containerLoadedFromVersionId: () => this.loadedFromVersion?.id,
|
|
646
651
|
containerLoadedFromVersionDate: () => this.loadedFromVersion?.date,
|
|
647
652
|
// message information to associate errors with the specific execution state
|
|
@@ -1018,7 +1023,7 @@ export class Container extends EventEmitterWithErrorHandling<IContainerEvents> i
|
|
|
1018
1023
|
}
|
|
1019
1024
|
}
|
|
1020
1025
|
|
|
1021
|
-
|
|
1026
|
+
private resumeInternal(args: IConnectionArgs) {
|
|
1022
1027
|
assert(!this.closed, 0x0d9 /* "Attempting to setAutoReconnect() a closed DeltaManager" */);
|
|
1023
1028
|
|
|
1024
1029
|
// Resume processing ops
|
package/src/deltaManager.ts
CHANGED
|
@@ -267,14 +267,6 @@ export class DeltaManager
|
|
|
267
267
|
return this.initSequenceNumber;
|
|
268
268
|
}
|
|
269
269
|
|
|
270
|
-
public get lastQueuedSeqNumber(): number {
|
|
271
|
-
return this.lastQueuedSequenceNumber;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
public get lastObservedSequenceNumber(): number {
|
|
275
|
-
return this.lastObservedSeqNumber;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
270
|
public get lastSequenceNumber(): number {
|
|
279
271
|
return this.lastProcessedSequenceNumber;
|
|
280
272
|
}
|
|
@@ -1588,12 +1580,6 @@ export class DeltaManager
|
|
|
1588
1580
|
return;
|
|
1589
1581
|
}
|
|
1590
1582
|
|
|
1591
|
-
this.logger.sendTelemetryEvent({
|
|
1592
|
-
eventName: "fetchingDeltas",
|
|
1593
|
-
fetchReason: reason,
|
|
1594
|
-
lastKnowOp,
|
|
1595
|
-
to,
|
|
1596
|
-
});
|
|
1597
1583
|
try {
|
|
1598
1584
|
assert(lastKnowOp === this.lastQueuedSequenceNumber, 0x0f1 /* "from arg" */);
|
|
1599
1585
|
let from = lastKnowOp + 1;
|
package/src/index.ts
CHANGED
package/src/packageVersion.ts
CHANGED
package/src/utils.ts
CHANGED
|
@@ -7,7 +7,6 @@ import { parse } from "url";
|
|
|
7
7
|
import { v4 as uuid } from "uuid";
|
|
8
8
|
import {
|
|
9
9
|
assert,
|
|
10
|
-
bufferToString,
|
|
11
10
|
stringToBuffer,
|
|
12
11
|
Uint8ArrayToArrayBuffer,
|
|
13
12
|
unreachableCase,
|
|
@@ -85,9 +84,6 @@ function convertSummaryToSnapshotWithEmbeddedBlobContents(
|
|
|
85
84
|
const contentBuffer = typeof summaryObject.content === "string" ?
|
|
86
85
|
stringToBuffer(summaryObject.content, "utf8") : Uint8ArrayToArrayBuffer(summaryObject.content);
|
|
87
86
|
treeNode.blobsContents[blobId] = contentBuffer;
|
|
88
|
-
// 0.47 back-compat old runtime will still expect content in the blobs only.
|
|
89
|
-
// So need to put in blobs for now.
|
|
90
|
-
treeNode.blobs[blobId] = bufferToString(contentBuffer, "base64");
|
|
91
87
|
break;
|
|
92
88
|
}
|
|
93
89
|
case SummaryType.Handle:
|