@fluidframework/container-loader 2.71.0 → 2.73.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/.eslintrc.cjs +1 -1
- package/CHANGELOG.md +8 -12
- package/dist/connectionManager.d.ts +1 -7
- package/dist/connectionManager.d.ts.map +1 -1
- package/dist/connectionManager.js +4 -31
- package/dist/connectionManager.js.map +1 -1
- package/dist/container.d.ts +6 -50
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +2 -3
- package/dist/container.js.map +1 -1
- package/dist/loaderLayerCompatState.js +1 -1
- package/dist/loaderLayerCompatState.js.map +1 -1
- package/dist/memoryBlobStorage.js +1 -1
- package/dist/memoryBlobStorage.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/lib/connectionManager.d.ts +1 -7
- package/lib/connectionManager.d.ts.map +1 -1
- package/lib/connectionManager.js +4 -31
- package/lib/connectionManager.js.map +1 -1
- package/lib/container.d.ts +6 -50
- package/lib/container.d.ts.map +1 -1
- package/lib/container.js +2 -3
- package/lib/container.js.map +1 -1
- package/lib/loaderLayerCompatState.js +1 -1
- package/lib/loaderLayerCompatState.js.map +1 -1
- package/lib/memoryBlobStorage.js +1 -1
- package/lib/memoryBlobStorage.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/package.json +15 -15
- package/src/connectionManager.ts +3 -41
- package/src/container.ts +4 -57
- package/src/loaderLayerCompatState.ts +1 -1
- package/src/memoryBlobStorage.ts +1 -1
- package/src/packageVersion.ts +1 -1
package/dist/container.d.ts
CHANGED
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import { AttachState, type IAudience, type ICriticalContainerError } from "@fluidframework/container-definitions";
|
|
6
|
-
import type {
|
|
6
|
+
import type { IContainer, IContainerEvents, IContainerLoadMode, IDeltaManager, IFluidCodeDetails, ReadOnlyInfo } from "@fluidframework/container-definitions/internal";
|
|
7
7
|
import { type FluidObject, type IRequest, type ITelemetryBaseProperties } from "@fluidframework/core-interfaces";
|
|
8
8
|
import { type IClientDetails, type IQuorumClients } from "@fluidframework/driver-definitions";
|
|
9
|
-
import { type
|
|
9
|
+
import { type IResolvedUrl, type IDocumentMessage, type ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
|
|
10
10
|
import { type ITelemetryLoggerExt, EventEmitterWithErrorHandling } from "@fluidframework/telemetry-utils/internal";
|
|
11
11
|
import { ConnectionState } from "./connectionState.js";
|
|
12
|
-
import {
|
|
12
|
+
import type { ILoaderServices } from "./loader.js";
|
|
13
13
|
import { type IPendingContainerState } from "./serializedStateManager.js";
|
|
14
14
|
/**
|
|
15
|
+
* @remarks Export for testing only
|
|
15
16
|
* @internal
|
|
16
17
|
*/
|
|
17
18
|
export interface IContainerLoadProps {
|
|
@@ -33,9 +34,10 @@ export interface IContainerLoadProps {
|
|
|
33
34
|
readonly pendingLocalState?: IPendingContainerState;
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
37
|
+
* @remarks Export for testing only
|
|
36
38
|
* @internal
|
|
37
39
|
*/
|
|
38
|
-
export interface IContainerCreateProps {
|
|
40
|
+
export interface IContainerCreateProps extends ILoaderServices {
|
|
39
41
|
/**
|
|
40
42
|
* Disables the Container from reconnecting if false, allows reconnect otherwise.
|
|
41
43
|
*/
|
|
@@ -44,51 +46,6 @@ export interface IContainerCreateProps {
|
|
|
44
46
|
* Client details provided in the override will be merged over the default client.
|
|
45
47
|
*/
|
|
46
48
|
readonly clientDetailsOverride?: IClientDetails;
|
|
47
|
-
/**
|
|
48
|
-
* The url resolver used by the loader for resolving external urls
|
|
49
|
-
* into Fluid urls such that the container specified by the
|
|
50
|
-
* external url can be loaded.
|
|
51
|
-
*/
|
|
52
|
-
readonly urlResolver: IUrlResolver;
|
|
53
|
-
/**
|
|
54
|
-
* The document service factory take the Fluid url provided
|
|
55
|
-
* by the resolved url and constructs all the necessary services
|
|
56
|
-
* for communication with the container's server.
|
|
57
|
-
*/
|
|
58
|
-
readonly documentServiceFactory: IDocumentServiceFactory;
|
|
59
|
-
/**
|
|
60
|
-
* The code loader handles loading the necessary code
|
|
61
|
-
* for running a container once it is loaded.
|
|
62
|
-
*/
|
|
63
|
-
readonly codeLoader: ICodeDetailsLoader;
|
|
64
|
-
/**
|
|
65
|
-
* A property bag of options used by various layers
|
|
66
|
-
* to control features
|
|
67
|
-
*/
|
|
68
|
-
readonly options: ILoaderOptions;
|
|
69
|
-
/**
|
|
70
|
-
* Scope is provided to all container and is a set of shared
|
|
71
|
-
* services for container's to integrate with their host environment.
|
|
72
|
-
*/
|
|
73
|
-
readonly scope: FluidObject;
|
|
74
|
-
/**
|
|
75
|
-
* The logger downstream consumers should construct their loggers from
|
|
76
|
-
*/
|
|
77
|
-
readonly subLogger: ITelemetryLoggerExt;
|
|
78
|
-
/**
|
|
79
|
-
* Optional property for allowing the container to use a custom
|
|
80
|
-
* protocol implementation for handling the quorum and/or the audience.
|
|
81
|
-
*/
|
|
82
|
-
readonly protocolHandlerBuilder?: ProtocolHandlerBuilder;
|
|
83
|
-
/**
|
|
84
|
-
* Optional property for specifying a timeout for retry connection loop.
|
|
85
|
-
*
|
|
86
|
-
* If provided, container will use this value as the maximum time to wait
|
|
87
|
-
* for a successful connection before giving up throwing the most recent error.
|
|
88
|
-
*
|
|
89
|
-
* If not provided, default behavior will be to retry until non-retryable error occurs.
|
|
90
|
-
*/
|
|
91
|
-
readonly retryConnectionTimeoutMs?: number;
|
|
92
49
|
}
|
|
93
50
|
/**
|
|
94
51
|
* Waits until container connects to delta storage and gets up-to-date.
|
|
@@ -186,7 +143,6 @@ export declare class Container extends EventEmitterWithErrorHandling<IContainerE
|
|
|
186
143
|
private attachmentData;
|
|
187
144
|
private readonly serializedStateManager;
|
|
188
145
|
private readonly _containerId;
|
|
189
|
-
private readonly _retryConnectionTimeoutMs;
|
|
190
146
|
private lastVisible;
|
|
191
147
|
private readonly visibilityEventHandler;
|
|
192
148
|
private readonly connectionStateHandler;
|
package/dist/container.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EACN,WAAW,EACX,KAAK,SAAS,EACd,KAAK,uBAAuB,EAC5B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
|
package/dist/container.js
CHANGED
|
@@ -511,7 +511,7 @@ class Container extends internal_5.EventEmitterWithErrorHandling {
|
|
|
511
511
|
this._dirtyContainer = dirty;
|
|
512
512
|
this.emit(dirty ? dirtyContainerEvent : savedContainerEvent);
|
|
513
513
|
};
|
|
514
|
-
const { canReconnect, clientDetailsOverride, urlResolver, documentServiceFactory, codeLoader, options, scope, subLogger, protocolHandlerBuilder,
|
|
514
|
+
const { canReconnect, clientDetailsOverride, urlResolver, documentServiceFactory, codeLoader, options, scope, subLogger, protocolHandlerBuilder, } = createProps;
|
|
515
515
|
// Validate that the Driver is compatible with this Loader.
|
|
516
516
|
const maybeDriverCompatDetails = documentServiceFactory;
|
|
517
517
|
(0, loaderLayerCompatState_js_1.validateDriverCompatibility)(maybeDriverCompatDetails.ILayerCompatDetails, (error) => { } /* disposeFn */, // There is nothing to dispose here, so just ignore the error.
|
|
@@ -519,7 +519,6 @@ class Container extends internal_5.EventEmitterWithErrorHandling {
|
|
|
519
519
|
this.connectionTransitionTimes[connectionState_js_1.ConnectionState.Disconnected] = (0, client_utils_1.performanceNow)();
|
|
520
520
|
const pendingLocalState = loadProps?.pendingLocalState;
|
|
521
521
|
this._canReconnect = canReconnect ?? true;
|
|
522
|
-
this._retryConnectionTimeoutMs = retryConnectionTimeoutMs;
|
|
523
522
|
this.clientDetailsOverride = clientDetailsOverride;
|
|
524
523
|
this.urlResolver = urlResolver;
|
|
525
524
|
this.serviceFactory = documentServiceFactory;
|
|
@@ -1281,7 +1280,7 @@ class Container extends internal_5.EventEmitterWithErrorHandling {
|
|
|
1281
1280
|
}
|
|
1282
1281
|
createDeltaManager() {
|
|
1283
1282
|
const serviceProvider = () => this.service;
|
|
1284
|
-
const deltaManager = new deltaManager_js_1.DeltaManager(serviceProvider, (0, internal_5.createChildLogger)({ logger: this.subLogger, namespace: "DeltaManager" }), () => this.activeConnection(), (props) => new connectionManager_js_1.ConnectionManager(serviceProvider, () => this.isDirty, this.client, this._canReconnect, (0, internal_5.createChildLogger)({ logger: this.subLogger, namespace: "ConnectionManager" }), props
|
|
1283
|
+
const deltaManager = new deltaManager_js_1.DeltaManager(serviceProvider, (0, internal_5.createChildLogger)({ logger: this.subLogger, namespace: "DeltaManager" }), () => this.activeConnection(), (props) => new connectionManager_js_1.ConnectionManager(serviceProvider, () => this.isDirty, this.client, this._canReconnect, (0, internal_5.createChildLogger)({ logger: this.subLogger, namespace: "ConnectionManager" }), props));
|
|
1285
1284
|
// Disable inbound queues as Container is not ready to accept any ops until we are fully loaded!
|
|
1286
1285
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
1287
1286
|
deltaManager.inbound.pause();
|