From f7489375b0ff6df3c5ac140c3272f6531d53a0f7 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Fri, 9 May 2025 17:03:16 -0700 Subject: [PATCH 1/9] Update issue_template.md --- .github/ISSUE_TEMPLATE/issue_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/issue_template.md b/.github/ISSUE_TEMPLATE/issue_template.md index 939b9c1d..fe6c4301 100644 --- a/.github/ISSUE_TEMPLATE/issue_template.md +++ b/.github/ISSUE_TEMPLATE/issue_template.md @@ -6,4 +6,4 @@ title: For VSCode-related issues (eg builds), please start the title with `[App] 1. Press `Cmd+Shift+P` in Void, and type `Help: About`. Please paste the information here. Also let us know any other relevant details, like the model and provider you're using if applicable. -2. Describe the issue/feature here. +2. Describe the issue/feature here! From 15cf3835241126e6e78fc655dcba59b6a6d93961 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Fri, 9 May 2025 17:13:15 -0700 Subject: [PATCH 2/9] Update README.md --- README.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 7b102e3a..0dfd3e10 100644 --- a/README.md +++ b/README.md @@ -15,26 +15,23 @@ Use AI agents on your codebase, checkpoint and visualize changes, and bring any This repo contains the full sourcecode for Void. If you're new, welcome! +- 🧭 [Website](https://voideditor.com) + - 👋 [Discord](https://discord.gg/RSNjgaugJs) -- 🚙 [Roadmap](https://github.com/orgs/voideditor/projects/2) +- 🚙 [Project Board](https://github.com/orgs/voideditor/projects/2) -- 📝 [Changelog](https://voideditor.com/changelog) - -- 🧭 [Website](https://voideditor.com) ## Contributing -1. To get started working on Void, see [`HOW_TO_CONTRIBUTE`](https://github.com/voideditor/void/blob/main/HOW_TO_CONTRIBUTE.md). +1. To get started working on Void, check out our Project Board! You can also see [HOW_TO_CONTRIBUTE](https://github.com/voideditor/void/blob/main/HOW_TO_CONTRIBUTE.md). -2. Feel free to attend a weekly meeting in our Discord channel! - -3. We're open to collaborations and suggestions of all types - just reach out. +2. Feel free to attend a casual weekly meeting in our Discord channel! ## Reference -[Void](https://voideditor.com) is a fork of the [vscode](https://github.com/microsoft/vscode) repository. For a guide to the codebase, see [`VOID_CODEBASE_GUIDE`](https://github.com/voideditor/void/blob/main/VOID_CODEBASE_GUIDE.md). +[Void](https://voideditor.com) is a fork of the [vscode](https://github.com/microsoft/vscode) repository. For a guide to the codebase, see [VOID_CODEBASE_GUIDE](https://github.com/voideditor/void/blob/main/VOID_CODEBASE_GUIDE.md). ## Support You can always reach us in our Discord server or contact us via email: hello@voideditor.com. From f33cf14b077d3b57f87b20ff9133377f0e07dfde Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Fri, 9 May 2025 17:13:35 -0700 Subject: [PATCH 3/9] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0dfd3e10..78278598 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ This repo contains the full sourcecode for Void. If you're new, welcome! ## Reference -[Void](https://voideditor.com) is a fork of the [vscode](https://github.com/microsoft/vscode) repository. For a guide to the codebase, see [VOID_CODEBASE_GUIDE](https://github.com/voideditor/void/blob/main/VOID_CODEBASE_GUIDE.md). +Void is a fork of the [vscode](https://github.com/microsoft/vscode) repository. For a guide to the codebase, see [VOID_CODEBASE_GUIDE](https://github.com/voideditor/void/blob/main/VOID_CODEBASE_GUIDE.md). ## Support You can always reach us in our Discord server or contact us via email: hello@voideditor.com. From 93b727198e6ece7def819c016d62f95300be4074 Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Sat, 10 May 2025 02:09:49 -0700 Subject: [PATCH 4/9] fix linux update message --- .../contrib/void/electron-main/voidUpdateMainService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/workbench/contrib/void/electron-main/voidUpdateMainService.ts b/src/vs/workbench/contrib/void/electron-main/voidUpdateMainService.ts index ab471631..da7a6956 100644 --- a/src/vs/workbench/contrib/void/electron-main/voidUpdateMainService.ts +++ b/src/vs/workbench/contrib/void/electron-main/voidUpdateMainService.ts @@ -94,7 +94,7 @@ export class VoidMainUpdateService extends Disposable implements IVoidUpdateServ const data = await response.json(); const version = data.tag_name; - const myVersion = `${this._productService.version}.${this._productService.release}` + const myVersion = this._productService.version const latestVersion = version const isUpToDate = myVersion === latestVersion // only makes sense if response.ok From 85b1f0ec04108c161c9538fa915118cb5d36ff96 Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Sat, 10 May 2025 03:20:03 -0700 Subject: [PATCH 5/9] 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. \ From 58d95035ff14009bc0ae35bae0c749580566bfb0 Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Sat, 10 May 2025 03:28:29 -0700 Subject: [PATCH 6/9] update message --- .../void/browser/react/src/markdown/ApplyBlockHoverButtons.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 72d298c2..56c460ce 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 @@ -275,7 +275,7 @@ export const ApplyButtonsHTML = ({ 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}).`) + 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.' : `This Apply block wants to run on ${uri.fsPath}, but it might not exist`}.`) } // catch any errors by interrupting the stream From e7436575a5c0c6fb62ce4f4b916f27bd29979648 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Sat, 10 May 2025 03:28:39 -0700 Subject: [PATCH 7/9] Revert "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, 3 insertions(+), 10 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 72d298c2..41b5a649 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,7 +253,6 @@ 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 @@ -272,17 +271,13 @@ 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 ac39ee29..613142b8 100644 --- a/src/vs/workbench/contrib/void/common/prompt/prompts.ts +++ b/src/vs/workbench/contrib/void/common/prompt/prompts.ts @@ -480,13 +480,11 @@ ${directoryStr} } - 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'. + if (mode === 'gather' || mode === 'normal') { + details.push(`If you write any code blocks, please use this format: - 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. \ From 7b18e2528870ceb07cb35fc0ed44476cbf793553 Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Sat, 10 May 2025 03:29:33 -0700 Subject: [PATCH 8/9] period --- .../void/browser/react/src/markdown/ApplyBlockHoverButtons.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 56c460ce..ee7f050b 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 @@ -275,7 +275,7 @@ export const ApplyButtonsHTML = ({ 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.' : `This Apply block wants to run on ${uri.fsPath}, but it might not exist`}.`) + 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.' : `This Apply block wants to run on ${uri.fsPath}, but it might not exist.`}`) } // catch any errors by interrupting the stream From 2106573922ae2cd45ab945fd16bf663f4b1beedf Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Sat, 10 May 2025 03:32:57 -0700 Subject: [PATCH 9/9] misc --- HOW_TO_CONTRIBUTE.md | 2 +- src/vs/workbench/contrib/void/common/prompt/prompts.ts | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/HOW_TO_CONTRIBUTE.md b/HOW_TO_CONTRIBUTE.md index d998f5b9..e4b174d2 100644 --- a/HOW_TO_CONTRIBUTE.md +++ b/HOW_TO_CONTRIBUTE.md @@ -86,7 +86,7 @@ To build Void from the terminal instead of from inside VSCode, follow the steps - Make sure you followed the prerequisite steps above. - Make sure you have Node version `20.18.2` (the version in `.nvmrc`)! - - You can do this easily without touching your base installation with [nvm](https://github.com/nvm-sh/nvm). Simply run `nvm install`, followed by `nvm use` and it will automatically install and use the version specified in `nvmrc` + - You can do this easily without touching your base installation with [nvm](https://github.com/nvm-sh/nvm). Simply run `nvm install`, followed by `nvm use` and it will automatically install and use the version specified in `nvmrc`. - Make sure that the path to your Void folder does not have any spaces in it. - If you get `"TypeError: Failed to fetch dynamically imported module"`, make sure all imports end with `.js`. - If you get an error with React, try running `NODE_OPTIONS="--max-old-space-size=8192" npm run buildreact`. 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. \