@fluidframework/container-loader 0.51.2 → 0.52.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/connectionStateHandler.d.ts.map +1 -1
- package/dist/connectionStateHandler.js +5 -3
- package/dist/connectionStateHandler.js.map +1 -1
- package/dist/container.d.ts +15 -2
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +31 -19
- package/dist/container.js.map +1 -1
- package/dist/containerContext.d.ts +4 -4
- package/dist/containerContext.d.ts.map +1 -1
- package/dist/containerContext.js.map +1 -1
- package/dist/deltaManager.d.ts.map +1 -1
- package/dist/deltaManager.js +7 -18
- package/dist/deltaManager.js.map +1 -1
- package/dist/deltaQueue.d.ts +5 -1
- package/dist/deltaQueue.d.ts.map +1 -1
- package/dist/deltaQueue.js.map +1 -1
- package/dist/loader.d.ts +3 -3
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.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.js +6 -5
- package/dist/utils.js.map +1 -1
- package/lib/connectionStateHandler.d.ts.map +1 -1
- package/lib/connectionStateHandler.js +5 -3
- package/lib/connectionStateHandler.js.map +1 -1
- package/lib/container.d.ts +15 -2
- package/lib/container.d.ts.map +1 -1
- package/lib/container.js +32 -20
- package/lib/container.js.map +1 -1
- package/lib/containerContext.d.ts +4 -4
- package/lib/containerContext.d.ts.map +1 -1
- package/lib/containerContext.js.map +1 -1
- package/lib/deltaManager.d.ts.map +1 -1
- package/lib/deltaManager.js +7 -18
- package/lib/deltaManager.js.map +1 -1
- package/lib/deltaQueue.d.ts +5 -1
- package/lib/deltaQueue.d.ts.map +1 -1
- package/lib/deltaQueue.js.map +1 -1
- package/lib/loader.d.ts +3 -3
- package/lib/loader.d.ts.map +1 -1
- package/lib/loader.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.js +6 -5
- package/lib/utils.js.map +1 -1
- package/package.json +11 -11
- package/src/connectionStateHandler.ts +6 -4
- package/src/container.ts +26 -14
- package/src/containerContext.ts +4 -3
- package/src/deltaManager.ts +15 -22
- package/src/deltaQueue.ts +10 -1
- package/src/loader.ts +4 -5
- package/src/packageVersion.ts +1 -1
package/lib/container.js
CHANGED
|
@@ -11,7 +11,7 @@ import { AttachState, } from "@fluidframework/container-definitions";
|
|
|
11
11
|
import { DataCorruptionError, extractSafePropertiesFromMessage, GenericError, UsageError, } from "@fluidframework/container-utils";
|
|
12
12
|
import { readAndParse, OnlineStatus, isOnline, ensureFluidResolvedUrl, combineAppAndProtocolSummary, runWithRetry, canRetryOnError, } from "@fluidframework/driver-utils";
|
|
13
13
|
import { isSystemMessage, ProtocolOpHandler, } from "@fluidframework/protocol-base";
|
|
14
|
-
import { FileMode, MessageType, TreeEntry, } from "@fluidframework/protocol-definitions";
|
|
14
|
+
import { FileMode, MessageType, TreeEntry, SummaryType, } from "@fluidframework/protocol-definitions";
|
|
15
15
|
import { ChildLogger, EventEmitterWithErrorHandling, PerformanceEvent, raiseConnectedEvent, TelemetryLogger, connectedEventName, disconnectedEventName, normalizeError, } from "@fluidframework/telemetry-utils";
|
|
16
16
|
import { Audience } from "./audience";
|
|
17
17
|
import { ContainerContext } from "./containerContext";
|
|
@@ -59,7 +59,7 @@ export async function waitContainerToCatchUp(container) {
|
|
|
59
59
|
if (container.closed) {
|
|
60
60
|
throw new Error("Container is closed");
|
|
61
61
|
}
|
|
62
|
-
return new Promise((
|
|
62
|
+
return new Promise((resolve, reject) => {
|
|
63
63
|
const deltaManager = container.deltaManager;
|
|
64
64
|
container.on("closed", reject);
|
|
65
65
|
const waitForOps = () => {
|
|
@@ -68,12 +68,12 @@ export async function waitContainerToCatchUp(container) {
|
|
|
68
68
|
const connectionOpSeqNumber = deltaManager.lastKnownSeqNumber;
|
|
69
69
|
assert(deltaManager.lastSequenceNumber <= connectionOpSeqNumber, 0x266 /* "lastKnownSeqNumber should never be below last processed sequence number" */);
|
|
70
70
|
if (deltaManager.lastSequenceNumber === connectionOpSeqNumber) {
|
|
71
|
-
|
|
71
|
+
resolve(hasCheckpointSequenceNumber);
|
|
72
72
|
return;
|
|
73
73
|
}
|
|
74
74
|
const callbackOps = (message) => {
|
|
75
75
|
if (connectionOpSeqNumber <= message.sequenceNumber) {
|
|
76
|
-
|
|
76
|
+
resolve(hasCheckpointSequenceNumber);
|
|
77
77
|
deltaManager.off("op", callbackOps);
|
|
78
78
|
}
|
|
79
79
|
};
|
|
@@ -222,12 +222,12 @@ export class Container extends EventEmitterWithErrorHandling {
|
|
|
222
222
|
switch (event) {
|
|
223
223
|
case dirtyContainerEvent:
|
|
224
224
|
if (this._dirtyContainer) {
|
|
225
|
-
listener(
|
|
225
|
+
listener(dirtyContainerEvent);
|
|
226
226
|
}
|
|
227
227
|
break;
|
|
228
228
|
case savedContainerEvent:
|
|
229
229
|
if (!this._dirtyContainer) {
|
|
230
|
-
listener(
|
|
230
|
+
listener(savedContainerEvent);
|
|
231
231
|
}
|
|
232
232
|
break;
|
|
233
233
|
case connectedEventName:
|
|
@@ -421,15 +421,31 @@ export class Container extends EventEmitterWithErrorHandling {
|
|
|
421
421
|
return this._deltaManager.clientDetails;
|
|
422
422
|
}
|
|
423
423
|
/**
|
|
424
|
-
*
|
|
424
|
+
* The current code details for the container's runtime
|
|
425
|
+
* @deprecated use getSpecifiedCodeDetails for the code details currently specified for this container, or
|
|
426
|
+
* getLoadedCodeDetails for the code details that the container's context was loaded with.
|
|
427
|
+
* To be removed after getSpecifiedCodeDetails and getLoadedCodeDetails become ubiquitous.
|
|
425
428
|
*/
|
|
426
|
-
get chaincodePackage() {
|
|
427
|
-
return this.codeDetails;
|
|
428
|
-
}
|
|
429
429
|
get codeDetails() {
|
|
430
430
|
var _a, _b;
|
|
431
431
|
return (_b = (_a = this._context) === null || _a === void 0 ? void 0 : _a.codeDetails) !== null && _b !== void 0 ? _b : this.getCodeDetailsFromQuorum();
|
|
432
432
|
}
|
|
433
|
+
/**
|
|
434
|
+
* Get the code details that are currently specified for the container.
|
|
435
|
+
* @returns The current code details if any are specified, undefined if none are specified.
|
|
436
|
+
*/
|
|
437
|
+
getSpecifiedCodeDetails() {
|
|
438
|
+
return this.getCodeDetailsFromQuorum();
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Get the code details that were used to load the container.
|
|
442
|
+
* @returns The code details that were used to load the container if it is loaded, undefined if it is not yet
|
|
443
|
+
* loaded.
|
|
444
|
+
*/
|
|
445
|
+
getLoadedCodeDetails() {
|
|
446
|
+
var _a;
|
|
447
|
+
return (_a = this._context) === null || _a === void 0 ? void 0 : _a.codeDetails;
|
|
448
|
+
}
|
|
433
449
|
/**
|
|
434
450
|
* Retrieves the audience associated with the document
|
|
435
451
|
*/
|
|
@@ -510,7 +526,7 @@ export class Container extends EventEmitterWithErrorHandling {
|
|
|
510
526
|
const protocolSummary = this.captureProtocolSummary();
|
|
511
527
|
const combinedSummary = combineAppAndProtocolSummary(appSummary, protocolSummary);
|
|
512
528
|
if (this.loader.services.detachedBlobStorage && this.loader.services.detachedBlobStorage.size > 0) {
|
|
513
|
-
combinedSummary.tree[".hasAttachmentBlobs"] = { type:
|
|
529
|
+
combinedSummary.tree[".hasAttachmentBlobs"] = { type: SummaryType.Blob, content: "true" };
|
|
514
530
|
}
|
|
515
531
|
return JSON.stringify(combinedSummary);
|
|
516
532
|
}
|
|
@@ -596,7 +612,6 @@ export class Container extends EventEmitterWithErrorHandling {
|
|
|
596
612
|
newError.addTelemetryProperties({ resolvedUrl: resolvedUrl.url });
|
|
597
613
|
}
|
|
598
614
|
this.close(newError);
|
|
599
|
-
// eslint-disable-next-line @typescript-eslint/no-throw-literal
|
|
600
615
|
throw newError;
|
|
601
616
|
}
|
|
602
617
|
}
|
|
@@ -915,7 +930,6 @@ export class Container extends EventEmitterWithErrorHandling {
|
|
|
915
930
|
}
|
|
916
931
|
async createDetached(source) {
|
|
917
932
|
const attributes = {
|
|
918
|
-
branch: "",
|
|
919
933
|
sequenceNumber: detachedContainerRefSeqNumber,
|
|
920
934
|
term: 1,
|
|
921
935
|
minimumSequenceNumber: 0,
|
|
@@ -977,7 +991,6 @@ export class Container extends EventEmitterWithErrorHandling {
|
|
|
977
991
|
async getDocumentAttributes(storage, tree) {
|
|
978
992
|
if (tree === undefined) {
|
|
979
993
|
return {
|
|
980
|
-
branch: this.id,
|
|
981
994
|
minimumSequenceNumber: 0,
|
|
982
995
|
sequenceNumber: 0,
|
|
983
996
|
term: 1,
|
|
@@ -1046,7 +1059,6 @@ export class Container extends EventEmitterWithErrorHandling {
|
|
|
1046
1059
|
const quorumSnapshot = this.protocolHandler.quorum.snapshot();
|
|
1047
1060
|
// Save attributes for the document
|
|
1048
1061
|
const documentAttributes = {
|
|
1049
|
-
branch: this.id,
|
|
1050
1062
|
minimumSequenceNumber: this.protocolHandler.minimumSequenceNumber,
|
|
1051
1063
|
sequenceNumber: this.protocolHandler.sequenceNumber,
|
|
1052
1064
|
term: this.protocolHandler.term,
|
|
@@ -1055,22 +1067,22 @@ export class Container extends EventEmitterWithErrorHandling {
|
|
|
1055
1067
|
tree: {
|
|
1056
1068
|
attributes: {
|
|
1057
1069
|
content: JSON.stringify(documentAttributes),
|
|
1058
|
-
type:
|
|
1070
|
+
type: SummaryType.Blob,
|
|
1059
1071
|
},
|
|
1060
1072
|
quorumMembers: {
|
|
1061
1073
|
content: JSON.stringify(quorumSnapshot.members),
|
|
1062
|
-
type:
|
|
1074
|
+
type: SummaryType.Blob,
|
|
1063
1075
|
},
|
|
1064
1076
|
quorumProposals: {
|
|
1065
1077
|
content: JSON.stringify(quorumSnapshot.proposals),
|
|
1066
|
-
type:
|
|
1078
|
+
type: SummaryType.Blob,
|
|
1067
1079
|
},
|
|
1068
1080
|
quorumValues: {
|
|
1069
1081
|
content: JSON.stringify(quorumSnapshot.values),
|
|
1070
|
-
type:
|
|
1082
|
+
type: SummaryType.Blob,
|
|
1071
1083
|
},
|
|
1072
1084
|
},
|
|
1073
|
-
type:
|
|
1085
|
+
type: SummaryType.Tree,
|
|
1074
1086
|
};
|
|
1075
1087
|
return summary;
|
|
1076
1088
|
}
|