summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src
diff options
context:
space:
mode:
authorFilip <[email protected]>2026-02-10 22:10:58 +0100
committerGitHub <[email protected]>2026-02-10 15:10:58 -0600
commitdce4c05fa9168ca78029142b06363c910cedd06c (patch)
tree1a1ddfa7649a758b8177d17e63935536d15886a6 /packages/desktop/src
parent8c56571ef95df398fff683253649414a1681c6f6 (diff)
downloadopencode-dce4c05fa9168ca78029142b06363c910cedd06c.tar.gz
opencode-dce4c05fa9168ca78029142b06363c910cedd06c.zip
fix(desktop): open apps with executables on Windows (#13022)
Diffstat (limited to 'packages/desktop/src')
-rw-r--r--packages/desktop/src/bindings.ts1
-rw-r--r--packages/desktop/src/index.tsx7
2 files changed, 7 insertions, 1 deletions
diff --git a/packages/desktop/src/bindings.ts b/packages/desktop/src/bindings.ts
index 2db1a624c..c7bcaba9c 100644
--- a/packages/desktop/src/bindings.ts
+++ b/packages/desktop/src/bindings.ts
@@ -14,6 +14,7 @@ export const commands = {
setDisplayBackend: (backend: LinuxDisplayBackend) => __TAURI_INVOKE<null>("set_display_backend", { backend }),
parseMarkdownCommand: (markdown: string) => __TAURI_INVOKE<string>("parse_markdown_command", { markdown }),
checkAppExists: (appName: string) => __TAURI_INVOKE<boolean>("check_app_exists", { appName }),
+ resolveAppPath: (appName: string) => __TAURI_INVOKE<string | null>("resolve_app_path", { appName }),
};
/** Events */
diff --git a/packages/desktop/src/index.tsx b/packages/desktop/src/index.tsx
index 25e9f825c..0e2fcb7fe 100644
--- a/packages/desktop/src/index.tsx
+++ b/packages/desktop/src/index.tsx
@@ -98,7 +98,12 @@ const createPlatform = (password: Accessor<string | null>): Platform => ({
void shellOpen(url).catch(() => undefined)
},
- openPath(path: string, app?: string) {
+ async openPath(path: string, app?: string) {
+ const os = ostype()
+ if (os === "windows" && app) {
+ const resolvedApp = await commands.resolveAppPath(app)
+ return openerOpenPath(path, resolvedApp || app)
+ }
return openerOpenPath(path, app)
},