@fluidframework/container-loader 2.91.0 → 2.93.0

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/lib/legacy.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  /*
7
7
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
- * Generated by "flub generate entrypoints" in @fluid-tools/build-cli.
8
+ * Generated by "flub generate entrypoints --outFileLegacyBeta legacy --outFileLegacyAlpha legacyAlpha --outDir ./lib --node10TypeCompat" in @fluid-tools/build-cli.
9
9
  */
10
10
 
11
11
  export {
@@ -5,7 +5,7 @@
5
5
 
6
6
  /*
7
7
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
- * Generated by "flub generate entrypoints" in @fluid-tools/build-cli.
8
+ * Generated by "flub generate entrypoints --outFileLegacyBeta legacy --outFileLegacyAlpha legacyAlpha --outDir ./lib --node10TypeCompat" in @fluid-tools/build-cli.
9
9
  */
10
10
 
11
11
  export {
@@ -13,11 +13,11 @@ export declare const loaderCoreCompatDetails: {
13
13
  /**
14
14
  * The package version of the Loader layer.
15
15
  */
16
- readonly pkgVersion: "2.91.0";
16
+ readonly pkgVersion: "2.93.0";
17
17
  /**
18
18
  * The current generation of the Loader layer.
19
19
  */
20
- readonly generation: 5;
20
+ readonly generation: 6;
21
21
  };
22
22
  /**
23
23
  * Loader's compatibility details that is exposed to the Runtime layer.
@@ -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-loader";
8
- export declare const pkgVersion = "2.91.0";
8
+ export declare const pkgVersion = "2.93.0";
9
9
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export const pkgName = "@fluidframework/container-loader";
8
- export const pkgVersion = "2.91.0";
8
+ export const pkgVersion = "2.93.0";
9
9
  //# sourceMappingURL=packageVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,kCAAkC,CAAC;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,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-loader\";\nexport const pkgVersion = \"2.91.0\";\n"]}
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,kCAAkC,CAAC;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,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-loader\";\nexport const pkgVersion = \"2.93.0\";\n"]}
package/lib/public.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  /*
7
7
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
- * Generated by "flub generate entrypoints" in @fluid-tools/build-cli.
8
+ * Generated by "flub generate entrypoints --outFileLegacyBeta legacy --outFileLegacyAlpha legacyAlpha --outDir ./lib --node10TypeCompat" in @fluid-tools/build-cli.
9
9
  */
10
10
 
11
11
  export {
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.11"
8
+ "packageVersion": "7.58.1"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/container-loader",
3
- "version": "2.91.0",
3
+ "version": "2.93.0",
4
4
  "description": "Fluid container loader",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -129,15 +129,13 @@
129
129
  "temp-directory": "nyc/.nyc_output"
130
130
  },
131
131
  "dependencies": {
132
- "@fluid-internal/client-utils": "~2.91.0",
133
- "@fluidframework/container-definitions": "~2.91.0",
134
- "@fluidframework/core-interfaces": "~2.91.0",
135
- "@fluidframework/core-utils": "~2.91.0",
136
- "@fluidframework/driver-definitions": "~2.91.0",
137
- "@fluidframework/driver-utils": "~2.91.0",
138
- "@fluidframework/telemetry-utils": "~2.91.0",
139
- "@types/events_pkg": "npm:@types/events@^3.0.0",
140
- "@ungap/structured-clone": "^1.2.0",
132
+ "@fluid-internal/client-utils": "~2.93.0",
133
+ "@fluidframework/container-definitions": "~2.93.0",
134
+ "@fluidframework/core-interfaces": "~2.93.0",
135
+ "@fluidframework/core-utils": "~2.93.0",
136
+ "@fluidframework/driver-definitions": "~2.93.0",
137
+ "@fluidframework/driver-utils": "~2.93.0",
138
+ "@fluidframework/telemetry-utils": "~2.93.0",
141
139
  "debug": "^4.3.4",
142
140
  "double-ended-queue": "^2.1.0-0",
143
141
  "events_pkg": "npm:events@^3.1.0",
@@ -146,21 +144,21 @@
146
144
  "devDependencies": {
147
145
  "@arethetypeswrong/cli": "^0.18.2",
148
146
  "@biomejs/biome": "~2.4.5",
149
- "@fluid-internal/client-utils": "~2.91.0",
150
- "@fluid-internal/mocha-test-setup": "~2.91.0",
151
- "@fluid-private/test-loader-utils": "~2.91.0",
152
- "@fluid-tools/build-cli": "^0.63.0",
147
+ "@fluid-internal/client-utils": "~2.93.0",
148
+ "@fluid-internal/mocha-test-setup": "~2.93.0",
149
+ "@fluid-private/test-loader-utils": "~2.93.0",
150
+ "@fluid-tools/build-cli": "^0.64.0",
153
151
  "@fluidframework/build-common": "^2.0.3",
154
- "@fluidframework/build-tools": "^0.63.0",
155
- "@fluidframework/container-loader-previous": "npm:@fluidframework/container-loader@2.83.0",
156
- "@fluidframework/eslint-config-fluid": "~2.91.0",
157
- "@microsoft/api-extractor": "7.52.11",
152
+ "@fluidframework/build-tools": "^0.64.0",
153
+ "@fluidframework/container-loader-previous": "npm:@fluidframework/container-loader@2.92.0",
154
+ "@fluidframework/eslint-config-fluid": "^9.0.0",
155
+ "@microsoft/api-extractor": "7.58.1",
158
156
  "@types/debug": "^4.1.5",
159
157
  "@types/double-ended-queue": "^2.1.0",
158
+ "@types/events_pkg": "npm:@types/events@^3.0.0",
160
159
  "@types/mocha": "^10.0.10",
161
- "@types/node": "~20.19.30",
160
+ "@types/node": "~22.19.17",
162
161
  "@types/sinon": "^17.0.3",
163
- "@types/ungap__structured-clone": "^1.2.0",
164
162
  "c8": "^10.1.3",
165
163
  "concurrently": "^9.2.1",
166
164
  "copyfiles": "^2.4.1",
@@ -179,7 +177,7 @@
179
177
  },
180
178
  "scripts": {
181
179
  "api": "fluid-build . --task api",
182
- "api-extractor:commonjs": "flub generate entrypoints --outFileLegacyBeta legacy --outFileLegacyAlpha legacyAlpha --outDir ./dist",
180
+ "api-extractor:commonjs": "flub generate entrypoints --resolutionConditions require --outFileLegacyBeta legacy --outFileLegacyAlpha legacyAlpha --outDir ./dist",
183
181
  "api-extractor:esnext": "flub generate entrypoints --outFileLegacyBeta legacy --outFileLegacyAlpha legacyAlpha --outDir ./lib --node10TypeCompat",
184
182
  "build": "fluid-build . --task build",
185
183
  "build:api-reports": "concurrently \"npm:build:api-reports:*\"",
@@ -224,7 +222,6 @@
224
222
  "test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
225
223
  "tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && npm run place:cjs:package-stub",
226
224
  "tsc:watch": "npm run place:cjs:package-stub && fluid-tsc commonjs --project ./tsconfig.cjs.json --watch",
227
- "typetests:gen": "flub generate typetests --dir . -v",
228
- "typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
225
+ "typetests:gen": "flub generate typetests --dir . -v"
229
226
  }
230
227
  }
package/src/container.ts CHANGED
@@ -101,7 +101,6 @@ import {
101
101
  loggerToMonitoringContext,
102
102
  type ITelemetryErrorEventExt,
103
103
  } from "@fluidframework/telemetry-utils/internal";
104
- import structuredClone from "@ungap/structured-clone";
105
104
  import { v4 as uuid } from "uuid";
106
105
 
107
106
  import {
@@ -1048,13 +1047,13 @@ export class Container
1048
1047
  try {
1049
1048
  // Raise event first, to ensure we capture _lifecycleState before transition.
1050
1049
  // This gives us a chance to know what errors happened on open vs. on fully loaded container.
1051
- // Log generic events instead of error events if container is in loading state, as most errors are not really FF errors
1052
- // which can pollute telemetry for real bugs
1050
+ // Log as error whenever an error is present. Some unrelated errors might get caught during load
1051
+ // time (such as permission errors) and it's up to the client to decide what to do with the error.
1052
+ // so keep this in mind when interpreting this info in telemetry
1053
1053
  this.mc.logger.sendTelemetryEvent(
1054
1054
  {
1055
1055
  eventName: "ContainerClose",
1056
- category:
1057
- this._lifecycleState !== "loading" && error !== undefined ? "error" : "generic",
1056
+ category: error === undefined ? "generic" : "error",
1058
1057
  },
1059
1058
  error,
1060
1059
  );
@@ -1301,7 +1300,9 @@ export class Container
1301
1300
  });
1302
1301
 
1303
1302
  // only enable the new behavior if the config is set
1304
- if (this.mc.config.getBoolean("Fluid.Container.RetryOnAttachFailure") !== true) {
1303
+ if (
1304
+ this.mc.config.getBoolean("Fluid.Container.DisableCloseOnAttachFailure") !== true
1305
+ ) {
1305
1306
  attachP = attachP.catch((error) => {
1306
1307
  throw normalizeErrorAndClose(error);
1307
1308
  });
@@ -1547,6 +1548,12 @@ export class Container
1547
1548
  service.on("metadataUpdate", this.metadataUpdateHandler);
1548
1549
  }
1549
1550
  } else {
1551
+ // When DisableCloseOnAttachFailure is enabled, use no internal retries
1552
+ // The consumer will own the retry policy
1553
+ const disableCloseOnAttachFailure =
1554
+ this.mc.config.getBoolean("Fluid.Container.DisableCloseOnAttachFailure") === true;
1555
+ const maxRetries = disableCloseOnAttachFailure ? 0 : undefined;
1556
+
1550
1557
  service = await runWithRetry(
1551
1558
  async () =>
1552
1559
  this.serviceFactory.createContainer(
@@ -1560,6 +1567,7 @@ export class Container
1560
1567
  {
1561
1568
  cancel: this._deltaManager.closeAbortController.signal,
1562
1569
  }, // progress
1570
+ maxRetries,
1563
1571
  );
1564
1572
  }
1565
1573
  return service;
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/container-loader";
9
- export const pkgVersion = "2.91.0";
9
+ export const pkgVersion = "2.93.0";