diff --git a/packages/playwright-core/src/server/recorder/recorderApp.ts b/packages/playwright-core/src/server/recorder/recorderApp.ts index 354a7b382a..7f9166ae73 100644 --- a/packages/playwright-core/src/server/recorder/recorderApp.ts +++ b/packages/playwright-core/src/server/recorder/recorderApp.ts @@ -38,7 +38,7 @@ declare global { playwrightSetSelector: (selector: string, focus?: boolean) => void; playwrightUpdateLogs: (callLogs: CallLog[]) => void; dispatch(data: EventData): Promise; - saveSettings(): Promise; + saveSettings?(): Promise; } } diff --git a/packages/web/src/uiUtils.ts b/packages/web/src/uiUtils.ts index 734a5fc0c2..794ace1dc5 100644 --- a/packages/web/src/uiUtils.ts +++ b/packages/web/src/uiUtils.ts @@ -167,7 +167,7 @@ export function useSetting(name: string | undefined, defaultValue: S, title?: declare global { interface Window { - saveSettings(): Promise; + saveSettings?(): Promise; } } @@ -181,8 +181,7 @@ export class Settings { setString(name: string, value: string) { localStorage[name] = value; this.onChangeEmitter.dispatchEvent(new Event(name)); - if (window.saveSettings) - window.saveSettings(); + window.saveSettings?.(); } getObject(name: string, defaultValue: T): T { @@ -198,9 +197,7 @@ export class Settings { setObject(name: string, value: T) { localStorage[name] = JSON.stringify(value); this.onChangeEmitter.dispatchEvent(new Event(name)); - - if (window.saveSettings) - window.saveSettings(); + window.saveSettings?.(); } }