From cdade231ddf53e805995bd9502cfcd9cd7da7669 Mon Sep 17 00:00:00 2001 From: Le Vivilet Date: Sun, 28 Jun 2026 21:49:22 +0200 Subject: [PATCH] feature: improve error handling if command was not found --- .../TestFrameWorkComponentCommand.ts | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/packages/test-worker/src/parts/TestFrameWorkComponentCommand/TestFrameWorkComponentCommand.ts b/packages/test-worker/src/parts/TestFrameWorkComponentCommand/TestFrameWorkComponentCommand.ts index e4dd6cd3..e1a98280 100644 --- a/packages/test-worker/src/parts/TestFrameWorkComponentCommand/TestFrameWorkComponentCommand.ts +++ b/packages/test-worker/src/parts/TestFrameWorkComponentCommand/TestFrameWorkComponentCommand.ts @@ -5,11 +5,21 @@ export const execute = async (id: string, ...args: readonly any[]): Promise } export const executeExtensionCommand = async (commandId: string, ...args: readonly any[]): Promise => { + let shouldRetry = true try { - return await ExtensionManagementWorker.invoke('Extensions.executeExtensionCommand', commandId, ...args) - } catch { - // legacy - // TODO maybe ask extension-management-worker instead - return RendererWorker.invoke('ExtensionHost.executeCommand', commandId, ...args) + const result = await ExtensionManagementWorker.invoke('Extensions.executeExtensionCommand', commandId, ...args) + shouldRetry = false + if (result && !result.wasFound) { + throw new Error(`command ${commandId} was not found`) + } + return result.result + } catch (error) { + if (shouldRetry) { + // legacy + // TODO maybe ask extension-management-worker instead + return await RendererWorker.invoke('ExtensionHost.executeCommand', commandId, ...args) + } else { + throw error + } } }