Просмотр исходного кода

fix(tui): handle non-git project paths when opening editor (#29180)

OpeOginni 3 месяцев назад
Родитель
Сommit
aa9956d46d

+ 6 - 1
packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx

@@ -512,7 +512,12 @@ export function Prompt(props: PromptProps) {
           const content = await Editor.open({
             value,
             renderer,
-            cwd: project.instance.path().worktree || project.instance.directory() || process.cwd(),
+            cwd:
+              (project.instance.path().worktree === "/"
+                ? undefined
+                : project.instance.path().worktree) ||
+              project.instance.directory() ||
+              process.cwd(),
           })
           if (!content) return
 

+ 12 - 2
packages/opencode/src/cli/cmd/tui/routes/session/index.tsx

@@ -968,7 +968,12 @@ export function Session() {
             await Editor.open({
               value: transcript,
               renderer,
-              cwd: project.instance.path().worktree || project.instance.directory() || process.cwd(),
+              cwd:
+                (project.instance.path().worktree === "/"
+                  ? undefined
+                  : project.instance.path().worktree) ||
+                project.instance.directory() ||
+                process.cwd(),
             })
           } else {
             const exportDir = process.cwd()
@@ -981,7 +986,12 @@ export function Session() {
             const result = await Editor.open({
               value: transcript,
               renderer,
-              cwd: project.instance.path().worktree || project.instance.directory() || process.cwd(),
+              cwd:
+                (project.instance.path().worktree === "/"
+                  ? undefined
+                  : project.instance.path().worktree) ||
+                project.instance.directory() ||
+                process.cwd(),
             })
             if (result !== undefined) {
               await Filesystem.write(filepath, result)