feat: add VS Code Insiders as a separate Open In app#1460
feat: add VS Code Insiders as a separate Open In app#1460arnestrickmann merged 3 commits intogeneralaction:mainfrom
Conversation
Splits VS Code Insiders out of the regular VS Code entry into its own app with dedicated icon, bundle ID, and CLI commands. Hidden when not installed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@millar is attempting to deploy a commit to the General Action Team on Vercel. A member of the Team first needs to authorize it. |
Greptile SummaryThis PR adds VS Code Insiders as a dedicated entry in the "Open In" app list, separating it from the regular VS Code entry which previously bundled both stable and Insiders identifiers together. The icon, platform configs, and Key changes:
Issue found:
Confidence Score: 3/5
|
| Filename | Overview |
|---|---|
| src/shared/openInApps.ts | Adds VS Code Insiders as a separate Open In entry and cleans up the stable VS Code entry. The entry structure and platform configs are correct, but supportsRemote: true is set without a corresponding handler in appIpc.ts, which will cause remote SSH opens to fail with a "not yet implemented" error. |
| src/assets/images/vscode-insiders.svg | New SVG icon using VS Code Insiders' characteristic green colour palette (#2CA24B, #1E7D34, #3EBF63). Well-formed SVG with mask, filter, and correct viewBox. No issues. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[User clicks Open In VS Code Insiders] --> B{isRemote?}
B -- No --> C[Build shell open command]
C --> D[exec: code-insiders path\nor open -b com.microsoft.VSCodeInsiders\nor open -a 'VS Code - Insiders']
D --> E[✅ Success]
B -- Yes --> F{appId switch in appIpc.ts}
F -- appId === 'vscode' --> G[buildRemoteEditorUrl vscode://...]
F -- appId === 'cursor' --> H[buildRemoteEditorUrl cursor://...]
F -- appId === 'vscode-insiders' --> I[❌ No handler — falls to catch-all]
I --> J[return error: 'Remote SSH not yet implemented']
style I fill:#f55,color:#fff
style J fill:#f55,color:#fff
Last reviewed commit: eef4268
src/shared/openInApps.ts
Outdated
| label: 'VS Code Insiders', | ||
| iconPath: ICON_PATHS['vscode-insiders'], | ||
| autoInstall: true, | ||
| supportsRemote: true, |
There was a problem hiding this comment.
supportsRemote: true has no handler in appIpc.ts
Setting supportsRemote: true here causes VS Code Insiders to appear as a valid remote SSH target, but the remote-handling dispatch in appIpc.ts has no appId === 'vscode-insiders' branch. When a user tries to open a remote worktree in VS Code Insiders it will always fall through to the generic catch-all and return:
{ success: false, error: 'Remote SSH not yet implemented for VS Code Insiders' }
VS Code Insiders registers its own deep-link scheme (vscode-insiders://) and the existing buildRemoteEditorUrl helper already parametrises the scheme — so it just needs to be wired up. The RemoteEditorScheme type in remoteOpenIn.ts is currently 'vscode' | 'cursor' and would also need to be widened.
Until the handler is added you should either:
- Remove
supportsRemote: trueto avoid surfacing a broken feature, or - Add the handler alongside this PR:
// in appIpc.ts, after the 'cursor' branch
} else if (appId === 'vscode-insiders') {
const remoteUrl = buildRemoteEditorUrl(
'vscode-insiders',
connection.host,
connection.username,
target
);
await shell.openExternal(remoteUrl);
return { success: true };
}And in remoteOpenIn.ts:
type RemoteEditorScheme = 'vscode' | 'cursor' | 'vscode-insiders';Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
No remote SSH handler exists for vscode-insiders yet, so remove the flag to avoid surfacing a broken feature. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Thanks for opening this PR @millar - this addition makes sense. |
Summary
code-insidersCLI,com.microsoft.VSCodeInsidersbundle ID) from the regular VS Code entry so they don't conflicthideIfUnavailable: trueso it only appears when VS Code Insiders is installedTest plan
🤖 Generated with Claude Code