From 708fb485a53f345a8558529dcff9bf569abbbb9d Mon Sep 17 00:00:00 2001 From: John Richmond <5629+jr@users.noreply.github.com> Date: Mon, 23 Jun 2025 11:58:27 -0700 Subject: [PATCH] Cloud: settings fetch logging improvements --- packages/cloud/src/CloudService.ts | 7 +++++-- packages/cloud/src/SettingsService.ts | 21 ++++++++++++++----- .../cloud/src/__tests__/CloudService.test.ts | 7 ++++++- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/packages/cloud/src/CloudService.ts b/packages/cloud/src/CloudService.ts index 031827a6a5..2ac4a8ca41 100644 --- a/packages/cloud/src/CloudService.ts +++ b/packages/cloud/src/CloudService.ts @@ -46,8 +46,11 @@ export class CloudService { this.authService.on("logged-out", this.authListener) this.authService.on("user-info", this.authListener) - this.settingsService = new SettingsService(this.context, this.authService, () => - this.callbacks.stateChanged?.(), + this.settingsService = new SettingsService( + this.context, + this.authService, + () => this.callbacks.stateChanged?.(), + this.log, ) this.settingsService.initialize() diff --git a/packages/cloud/src/SettingsService.ts b/packages/cloud/src/SettingsService.ts index e46b488d42..68c6f2fe48 100644 --- a/packages/cloud/src/SettingsService.ts +++ b/packages/cloud/src/SettingsService.ts @@ -18,10 +18,17 @@ export class SettingsService { private authService: AuthService private settings: OrganizationSettings | undefined = undefined private timer: RefreshTimer - - constructor(context: vscode.ExtensionContext, authService: AuthService, callback: () => void) { + private log: (...args: unknown[]) => void + + constructor( + context: vscode.ExtensionContext, + authService: AuthService, + callback: () => void, + log?: (...args: unknown[]) => void, + ) { this.context = context this.authService = authService + this.log = log || console.log this.timer = new RefreshTimer({ callback: async () => { @@ -70,7 +77,11 @@ export class SettingsService { }) if (!response.ok) { - console.error(`Failed to fetch organization settings: ${response.status} ${response.statusText}`) + this.log( + "[cloud-settings] Failed to fetch organization settings:", + response.status, + response.statusText, + ) return false } @@ -78,7 +89,7 @@ export class SettingsService { const result = organizationSettingsSchema.safeParse(data) if (!result.success) { - console.error("Invalid organization settings format:", result.error) + this.log("[cloud-settings] Invalid organization settings format:", result.error) return false } @@ -92,7 +103,7 @@ export class SettingsService { return true } catch (error) { - console.error("Error fetching organization settings:", error) + this.log("[cloud-settings] Error fetching organization settings:", error) return false } } diff --git a/packages/cloud/src/__tests__/CloudService.test.ts b/packages/cloud/src/__tests__/CloudService.test.ts index f4ed8f86ee..869def5945 100644 --- a/packages/cloud/src/__tests__/CloudService.test.ts +++ b/packages/cloud/src/__tests__/CloudService.test.ts @@ -135,7 +135,12 @@ describe("CloudService", () => { expect(cloudService).toBeInstanceOf(CloudService) expect(AuthService).toHaveBeenCalledWith(mockContext, expect.any(Function)) - expect(SettingsService).toHaveBeenCalledWith(mockContext, mockAuthService, expect.any(Function)) + expect(SettingsService).toHaveBeenCalledWith( + mockContext, + mockAuthService, + expect.any(Function), + expect.any(Function), + ) }) it("should throw error if instance already exists", async () => {