diff --git a/frontend/sync-client/src/persistence/settings.test.ts b/frontend/sync-client/src/persistence/settings.test.ts index 2f4bcee0..feb81715 100644 --- a/frontend/sync-client/src/persistence/settings.test.ts +++ b/frontend/sync-client/src/persistence/settings.test.ts @@ -20,4 +20,20 @@ describe("Settings logging", () => { assert.doesNotMatch(messages, /loaded-secret|updated-secret/u); assert.match(messages, /\[REDACTED\]/u); }); + + it("retains and persists the configured diff cache size", async () => { + let saved = 0; + const settings = new Settings( + new Logger(), + { diffCacheSizeMB: 7 }, + async (value) => { + saved = value.diffCacheSizeMB; + } + ); + + assert.equal(settings.getSettings().diffCacheSizeMB, 7); + await settings.setSetting("diffCacheSizeMB", 9); + assert.equal(settings.getSettings().diffCacheSizeMB, 9); + assert.equal(saved, 9); + }); }); diff --git a/frontend/sync-client/src/persistence/settings.ts b/frontend/sync-client/src/persistence/settings.ts index bac7c69d..3e046b03 100644 --- a/frontend/sync-client/src/persistence/settings.ts +++ b/frontend/sync-client/src/persistence/settings.ts @@ -10,6 +10,7 @@ export interface SyncSettings { maxFileSizeMB: number; ignorePatterns: string[]; webSocketRetryIntervalMs: number; + diffCacheSizeMB: number; enableTelemetry: boolean; requestTimeoutMs: number; networkRetryIntervalMs: number; @@ -24,6 +25,7 @@ export const DEFAULT_SETTINGS: SyncSettings = { maxFileSizeMB: 10, ignorePatterns: [], webSocketRetryIntervalMs: 3500, + diffCacheSizeMB: 4, enableTelemetry: false, requestTimeoutMs: 30_000, networkRetryIntervalMs: 1000,