Update external install deep links (#2499)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
This commit is contained in:
Copilot
2026-07-31 17:07:13 +10:00
committed by GitHub
parent aa3fa2f22a
commit 336af71f1b
4 changed files with 11 additions and 8 deletions
@@ -8,7 +8,7 @@
*/
export interface PluginInstallProps {
isExternal?: boolean;
/** awesome-copilot plugin id (internal installs). */
/** awesome-copilot plugin id. */
pluginId?: string | null;
/** Upstream marketplace source (owner/repo or git URL) for external installs. */
externalSource?: string | null;
@@ -36,6 +36,11 @@ let insidersUrl: string | null = null;
let ghappUrl: string | null = null;
if (isExternal) {
if (pluginId) {
ghappUrl = `ghapp://plugins/install?source=${encodeURIComponent(
`${pluginId}@${MARKETPLACE}`
)}`;
}
if (externalSource) {
vscodeUrl = `vscode://chat-plugin/install?source=${encodeURIComponent(
externalSource
@@ -43,9 +48,6 @@ if (isExternal) {
insidersUrl = `vscode-insiders://chat-plugin/install?source=${encodeURIComponent(
externalSource
)}`;
ghappUrl = `ghapp://plugins/marketplace/add?source=${encodeURIComponent(
externalSource
)}`;
}
} else if (pluginId) {
const plugin = encodeURIComponent(pluginId);
+1
View File
@@ -264,6 +264,7 @@ if (!isExternal && item.ref) {
<PluginInstall
slot="install"
isExternal={true}
pluginId={item.pluginName ?? item.id}
externalSource={externalSource || null}
label="Install this extension"
note="This extension is maintained in an external repository."
+1 -1
View File
@@ -219,7 +219,7 @@ if (isExternal) {
installCommand={installCommand}
label={isExternal ? "Install this plugin" : "Install"}
note={isExternal
? "This plugin is maintained in an external repository. Installing it adds the third-party marketplace before installing."
? "This plugin is maintained in an external repository."
: undefined}
/>
</Sidebar>
@@ -100,9 +100,9 @@ export function renderExtensionsHtml(items: RenderableExtension[]): string {
const pluginId = item.pluginName || item.id;
const ghappInstallUrl =
item.external
? externalSource
? `ghapp://plugins/marketplace/add?source=${encodeURIComponent(
externalSource
? pluginId
? `ghapp://plugins/install?source=${encodeURIComponent(
`${pluginId}@awesome-copilot`
)}`
: ""
: pluginId