diff --git a/packages/app/src/components/directory-picker-domain.test.ts b/packages/app/src/components/directory-picker-domain.test.ts index 8999062656..df58ea5a43 100644 --- a/packages/app/src/components/directory-picker-domain.test.ts +++ b/packages/app/src/components/directory-picker-domain.test.ts @@ -65,8 +65,11 @@ test("centralizes file and directory selection policy", () => { expect(directory.includeFiles).toBeFalse() expect(directory.selection("/repo", "src/")).toBe("/repo/src") expect(directory.selection("C:/Users/luke", "repos/")).toBe("C:\\Users\\luke\\repos") + expect(directory.selection("//Server/Share", "repo/")).toBe("\\\\Server\\Share\\repo") expect(directory.navigation("/tmp")).toBe("/tmp") expect(directory.result("/repo", "")).toBe("/repo") + expect(directory.result("C:/Users/luke", "")).toBe("C:\\Users\\luke") + expect(directory.result("//Server/Share/repo", "")).toBe("\\\\Server\\Share\\repo") expect(directory.result("/repo", "", false)).toBeUndefined() }) diff --git a/packages/app/src/components/directory-picker-domain.ts b/packages/app/src/components/directory-picker-domain.ts index a89d81eed5..2b141b8407 100644 --- a/packages/app/src/components/directory-picker-domain.ts +++ b/packages/app/src/components/directory-picker-domain.ts @@ -55,7 +55,7 @@ export function pickerMode(mode: "directory" | "file", base?: string) { }, result(root: string, selected: string, valid = true) { if (!valid) return - return selected || root || undefined + return selected || (root ? nativePickerPath(root) : undefined) }, selection(root: string, path: string) { return selectedTreePath(root, path, "directory") @@ -166,7 +166,7 @@ export function selectedTreePath(root: string, path: string, mode: "directory" | export function nativePickerPath(path: string) { const value = trimPickerPath(path) - if (/^[A-Za-z]:\//.test(value)) return value.replaceAll("/", "\\") + if (/^[A-Za-z]:\//.test(value) || value.startsWith("//")) return value.replaceAll("/", "\\") return value } import { getFilename } from "@opencode-ai/core/util/path"