Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions packages/loader/container-loader/src/snapshotRefresher.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,7 @@ export class SnapshotRefresher implements IDisposable {

this.#snapshotRefreshEnabled =
this.offlineLoadEnabled &&
(this.mc.config.getBoolean("Fluid.Container.enableOfflineSnapshotRefresh") ??
this.mc.config.getBoolean("Fluid.Container.enableOfflineFull")) === true;
(this.mc.config.getBoolean("Fluid.Container.enableOfflineSnapshotRefresh") ?? false);

this.refreshTimer = this.#snapshotRefreshEnabled
? new Timer(this.snapshotRefreshTimeoutMs, () => this.tryRefreshSnapshot())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@ function enableOfflineSnapshotRefresh(logger: ITelemetryBaseLogger): ITelemetryB
}).logger;
}

function enableOfflineFullOnly(logger: ITelemetryBaseLogger): ITelemetryBaseLogger {
return mixinMonitoringContext(logger, {
getRawConfig: (name) => (name === "Fluid.Container.enableOfflineFull" ? true : undefined),
}).logger;
}

class MockStorageAdapter implements ISerializedStateManagerDocumentStorageService {
public readonly blobs = new Map<string, ArrayBuffer>();
private snapshot: ISnapshotTree;
Expand Down Expand Up @@ -329,6 +335,23 @@ describe("SnapshotRefresher", () => {

refresher.dispose();
});

it("should not trigger refresh when only enableOfflineFull is set", () => {
const logger = enableOfflineFullOnly(mockLogger);
const timeout = 1000;
const refresher = createRefresher(true, () => true, timeout, logger);

refresher.startTimer();
clock.tick(timeout);

assert.strictEqual(
mockStorage.getVersionsCallCount,
0,
"getVersions should not be called when only enableOfflineFull is set (enableOfflineSnapshotRefresh must be opted in explicitly)",
);

refresher.dispose();
});
});

describe("tryRefreshSnapshot", () => {
Expand Down
Loading