From f096eb85669b6d57d42c67932f8337c371614c3c Mon Sep 17 00:00:00 2001 From: Fred Bricon Date: Mon, 10 Nov 2025 17:54:39 +0100 Subject: [PATCH] fix: safeguard workspace hash computation in telemetry service Signed-off-by: Fred Bricon --- src/telemetry.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/telemetry.ts b/src/telemetry.ts index 382b4c940..35f702603 100644 --- a/src/telemetry.ts +++ b/src/telemetry.ts @@ -25,9 +25,9 @@ export namespace Telemetry { if (!!telemetryManager) { throw new Error("The telemetry service for vscode-java has already been started"); } - workspaceHash = cyrb53(workspace.workspaceFolders.map(f => f.uri.toString()).join('|')); + workspaceHash = computeWorkspaceHash(); workspace.onDidChangeWorkspaceFolders(() => { - workspaceHash = cyrb53(workspace.workspaceFolders.map(f => f.uri.toString()).join('|')); + workspaceHash = computeWorkspaceHash(); }); const redhatService = await getRedHatService(context); const telemService = await redhatService.getTelemetryService(); @@ -35,6 +35,13 @@ export namespace Telemetry { return telemService; } + function computeWorkspaceHash(): number { + if (!workspace.workspaceFolders?.length) { + return 0; + } + return cyrb53(workspace.workspaceFolders.map(f => f.uri.toString()).join('|')); + } + /** * Send a telemetry event with the given name and data *