@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.
Files changed (56) hide show
  1. package/dist/connectionStateHandler.d.ts.map +1 -1
  2. package/dist/connectionStateHandler.js +5 -3
  3. package/dist/connectionStateHandler.js.map +1 -1
  4. package/dist/container.d.ts +15 -2
  5. package/dist/container.d.ts.map +1 -1
  6. package/dist/container.js +31 -19
  7. package/dist/container.js.map +1 -1
  8. package/dist/containerContext.d.ts +4 -4
  9. package/dist/containerContext.d.ts.map +1 -1
  10. package/dist/containerContext.js.map +1 -1
  11. package/dist/deltaManager.d.ts.map +1 -1
  12. package/dist/deltaManager.js +7 -18
  13. package/dist/deltaManager.js.map +1 -1
  14. package/dist/deltaQueue.d.ts +5 -1
  15. package/dist/deltaQueue.d.ts.map +1 -1
  16. package/dist/deltaQueue.js.map +1 -1
  17. package/dist/loader.d.ts +3 -3
  18. package/dist/loader.d.ts.map +1 -1
  19. package/dist/loader.js.map +1 -1
  20. package/dist/packageVersion.d.ts +1 -1
  21. package/dist/packageVersion.js +1 -1
  22. package/dist/packageVersion.js.map +1 -1
  23. package/dist/utils.js +6 -5
  24. package/dist/utils.js.map +1 -1
  25. package/lib/connectionStateHandler.d.ts.map +1 -1
  26. package/lib/connectionStateHandler.js +5 -3
  27. package/lib/connectionStateHandler.js.map +1 -1
  28. package/lib/container.d.ts +15 -2
  29. package/lib/container.d.ts.map +1 -1
  30. package/lib/container.js +32 -20
  31. package/lib/container.js.map +1 -1
  32. package/lib/containerContext.d.ts +4 -4
  33. package/lib/containerContext.d.ts.map +1 -1
  34. package/lib/containerContext.js.map +1 -1
  35. package/lib/deltaManager.d.ts.map +1 -1
  36. package/lib/deltaManager.js +7 -18
  37. package/lib/deltaManager.js.map +1 -1
  38. package/lib/deltaQueue.d.ts +5 -1
  39. package/lib/deltaQueue.d.ts.map +1 -1
  40. package/lib/deltaQueue.js.map +1 -1
  41. package/lib/loader.d.ts +3 -3
  42. package/lib/loader.d.ts.map +1 -1
  43. package/lib/loader.js.map +1 -1
  44. package/lib/packageVersion.d.ts +1 -1
  45. package/lib/packageVersion.js +1 -1
  46. package/lib/packageVersion.js.map +1 -1
  47. package/lib/utils.js +6 -5
  48. package/lib/utils.js.map +1 -1
  49. package/package.json +11 -11
  50. package/src/connectionStateHandler.ts +6 -4
  51. package/src/container.ts +26 -14
  52. package/src/containerContext.ts +4 -3
  53. package/src/deltaManager.ts +15 -22
  54. package/src/deltaQueue.ts +10 -1
  55. package/src/loader.ts +4 -5
  56. 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((accept, reject) => {
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
- accept(hasCheckpointSequenceNumber);
71
+ resolve(hasCheckpointSequenceNumber);
72
72
  return;
73
73
  }
74
74
  const callbackOps = (message) => {
75
75
  if (connectionOpSeqNumber <= message.sequenceNumber) {
76
- accept(hasCheckpointSequenceNumber);
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(this._dirtyContainer);
225
+ listener(dirtyContainerEvent);
226
226
  }
227
227
  break;
228
228
  case savedContainerEvent:
229
229
  if (!this._dirtyContainer) {
230
- listener(this._dirtyContainer);
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
- * @deprecated use codeDetails
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: 2 /* Blob */, content: "true" };
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: 2 /* Blob */,
1070
+ type: SummaryType.Blob,
1059
1071
  },
1060
1072
  quorumMembers: {
1061
1073
  content: JSON.stringify(quorumSnapshot.members),
1062
- type: 2 /* Blob */,
1074
+ type: SummaryType.Blob,
1063
1075
  },
1064
1076
  quorumProposals: {
1065
1077
  content: JSON.stringify(quorumSnapshot.proposals),
1066
- type: 2 /* Blob */,
1078
+ type: SummaryType.Blob,
1067
1079
  },
1068
1080
  quorumValues: {
1069
1081
  content: JSON.stringify(quorumSnapshot.values),
1070
- type: 2 /* Blob */,
1082
+ type: SummaryType.Blob,
1071
1083
  },
1072
1084
  },
1073
- type: 1 /* Tree */,
1085
+ type: SummaryType.Tree,
1074
1086
  };
1075
1087
  return summary;
1076
1088
  }