From 85b1f0ec04108c161c9538fa915118cb5d36ff96 Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Sat, 10 May 2025 03:20:03 -0700 Subject: [PATCH] apply button failure better UX --- .../browser/react/src/markdown/ApplyBlockHoverButtons.tsx | 7 ++++++- src/vs/workbench/contrib/void/common/prompt/prompts.ts | 6 ++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/contrib/void/browser/react/src/markdown/ApplyBlockHoverButtons.tsx b/src/vs/workbench/contrib/void/browser/react/src/markdown/ApplyBlockHoverButtons.tsx index 41b5a649..72d298c2 100644 --- a/src/vs/workbench/contrib/void/browser/react/src/markdown/ApplyBlockHoverButtons.tsx +++ b/src/vs/workbench/contrib/void/browser/react/src/markdown/ApplyBlockHoverButtons.tsx @@ -253,6 +253,7 @@ export const ApplyButtonsHTML = ({ const accessor = useAccessor() const editCodeService = accessor.get('IEditCodeService') const metricsService = accessor.get('IMetricsService') + const notificationService = accessor.get('INotificationService') const settingsState = useSettingsState() const isDisabled = !!isFeatureNameDisabled('Apply', settingsState) || !applyBoxId @@ -271,13 +272,17 @@ export const ApplyButtonsHTML = ({ uri: uri, startBehavior: 'reject-conflicts', }) ?? [] - console.log('setting!!!', newApplyingUri) setApplying(newApplyingUri) + if (!applyDonePromise) { + notificationService.info(`Void Error: We couldn't run Apply here (${uri === 'current' ? 'this Apply block wants to run on the current file, but you might not have a file open' : uri.fsPath}).`) + } + // catch any errors by interrupting the stream applyDonePromise?.catch(e => { const uri = getUriBeingApplied(applyBoxId) if (uri) editCodeService.interruptURIStreaming({ uri: uri }) + notificationService.info(`Void Error: There was a problem running Apply: ${e}.`) }) metricsService.capture('Apply Code', { length: codeStr.length }) // capture the length only diff --git a/src/vs/workbench/contrib/void/common/prompt/prompts.ts b/src/vs/workbench/contrib/void/common/prompt/prompts.ts index 613142b8..ac39ee29 100644 --- a/src/vs/workbench/contrib/void/common/prompt/prompts.ts +++ b/src/vs/workbench/contrib/void/common/prompt/prompts.ts @@ -480,11 +480,13 @@ ${directoryStr} } - if (mode === 'gather' || mode === 'normal') { - details.push(`If you write any code blocks, please use this format: + details.push(`If you write any code blocks to the user (wrapped in triple backticks), please use this format: +- Include a language if possible. Terminal should have the language 'shell'. - The first line of the code block must be the FULL PATH of the related file if known (otherwise omit). - The remaining contents of the file should proceed as usual.`) + if (mode === 'gather' || mode === 'normal') { + details.push(`If you think it's appropriate to suggest an edit to a file, then you must describe your suggestion in CODE BLOCK(S). - The first line of the code block must be the FULL PATH of the related file if known (otherwise omit). - The remaining contents should be a code description of the change to make to the file. \