@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/lib/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/lib/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/lib/container.js
CHANGED
|
@@ -503,7 +503,7 @@ export class Container extends EventEmitterWithErrorHandling {
|
|
|
503
503
|
this._dirtyContainer = dirty;
|
|
504
504
|
this.emit(dirty ? dirtyContainerEvent : savedContainerEvent);
|
|
505
505
|
};
|
|
506
|
-
const { canReconnect, clientDetailsOverride, urlResolver, documentServiceFactory, codeLoader, options, scope, subLogger, protocolHandlerBuilder,
|
|
506
|
+
const { canReconnect, clientDetailsOverride, urlResolver, documentServiceFactory, codeLoader, options, scope, subLogger, protocolHandlerBuilder, } = createProps;
|
|
507
507
|
// Validate that the Driver is compatible with this Loader.
|
|
508
508
|
const maybeDriverCompatDetails = documentServiceFactory;
|
|
509
509
|
validateDriverCompatibility(maybeDriverCompatDetails.ILayerCompatDetails, (error) => { } /* disposeFn */, // There is nothing to dispose here, so just ignore the error.
|
|
@@ -511,7 +511,6 @@ export class Container extends EventEmitterWithErrorHandling {
|
|
|
511
511
|
this.connectionTransitionTimes[ConnectionState.Disconnected] = performanceNow();
|
|
512
512
|
const pendingLocalState = loadProps?.pendingLocalState;
|
|
513
513
|
this._canReconnect = canReconnect ?? true;
|
|
514
|
-
this._retryConnectionTimeoutMs = retryConnectionTimeoutMs;
|
|
515
514
|
this.clientDetailsOverride = clientDetailsOverride;
|
|
516
515
|
this.urlResolver = urlResolver;
|
|
517
516
|
this.serviceFactory = documentServiceFactory;
|
|
@@ -1273,7 +1272,7 @@ export class Container extends EventEmitterWithErrorHandling {
|
|
|
1273
1272
|
}
|
|
1274
1273
|
createDeltaManager() {
|
|
1275
1274
|
const serviceProvider = () => this.service;
|
|
1276
|
-
const deltaManager = new DeltaManager(serviceProvider, createChildLogger({ logger: this.subLogger, namespace: "DeltaManager" }), () => this.activeConnection(), (props) => new ConnectionManager(serviceProvider, () => this.isDirty, this.client, this._canReconnect, createChildLogger({ logger: this.subLogger, namespace: "ConnectionManager" }), props
|
|
1275
|
+
const deltaManager = new DeltaManager(serviceProvider, createChildLogger({ logger: this.subLogger, namespace: "DeltaManager" }), () => this.activeConnection(), (props) => new ConnectionManager(serviceProvider, () => this.isDirty, this.client, this._canReconnect, createChildLogger({ logger: this.subLogger, namespace: "ConnectionManager" }), props));
|
|
1277
1276
|
// Disable inbound queues as Container is not ready to accept any ops until we are fully loaded!
|
|
1278
1277
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
1279
1278
|
deltaManager.inbound.pause();
|