summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-09 12:19:04 -0600
committerAdam <[email protected]>2026-02-09 12:19:04 -0600
commita84bdd7cd7d638e207f4932aa614650c4d0e275f (patch)
tree4fe3695d06feb13f712ea48c922a5afcede36f02
parent110f6804fbabaa7004c053170c0952715b725cad (diff)
downloadopencode-a84bdd7cd7d638e207f4932aa614650c4d0e275f.tar.gz
opencode-a84bdd7cd7d638e207f4932aa614650c4d0e275f.zip
fix(app): incorrect workspace on new session
-rw-r--r--packages/app/src/components/prompt-input/submit.ts2
-rw-r--r--packages/app/src/components/session/session-new-view.tsx6
-rw-r--r--packages/app/src/pages/session.tsx4
3 files changed, 7 insertions, 5 deletions
diff --git a/packages/app/src/components/prompt-input/submit.ts b/packages/app/src/components/prompt-input/submit.ts
index a96bdcbad..c118f8cb2 100644
--- a/packages/app/src/components/prompt-input/submit.ts
+++ b/packages/app/src/components/prompt-input/submit.ts
@@ -137,7 +137,7 @@ export function createPromptSubmit(input: PromptSubmitInput) {
const projectDirectory = sdk.directory
const isNewSession = !params.id
- const worktreeSelection = input.newSessionWorktree ?? "main"
+ const worktreeSelection = input.newSessionWorktree || "main"
let sessionDirectory = projectDirectory
let client = sdk.client
diff --git a/packages/app/src/components/session/session-new-view.tsx b/packages/app/src/components/session/session-new-view.tsx
index 9306e8acb..b20f3ab60 100644
--- a/packages/app/src/components/session/session-new-view.tsx
+++ b/packages/app/src/components/session/session-new-view.tsx
@@ -1,6 +1,7 @@
import { Show, createMemo } from "solid-js"
import { DateTime } from "luxon"
import { useSync } from "@/context/sync"
+import { useSDK } from "@/context/sdk"
import { useLanguage } from "@/context/language"
import { Icon } from "@opencode-ai/ui/icon"
import { getDirectory, getFilename } from "@opencode-ai/util/path"
@@ -15,6 +16,7 @@ interface NewSessionViewProps {
export function NewSessionView(props: NewSessionViewProps) {
const sync = useSync()
+ const sdk = useSDK()
const language = useLanguage()
const sandboxes = createMemo(() => sync.project?.sandboxes ?? [])
@@ -24,11 +26,11 @@ export function NewSessionView(props: NewSessionViewProps) {
if (options().includes(selection)) return selection
return MAIN_WORKTREE
})
- const projectRoot = createMemo(() => sync.project?.worktree ?? sync.data.path.directory)
+ const projectRoot = createMemo(() => sync.project?.worktree ?? sdk.directory)
const isWorktree = createMemo(() => {
const project = sync.project
if (!project) return false
- return sync.data.path.directory !== project.worktree
+ return sdk.directory !== project.worktree
})
const label = (value: string) => {
diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx
index 7678ea6a8..24d46f828 100644
--- a/packages/app/src/pages/session.tsx
+++ b/packages/app/src/pages/session.tsx
@@ -591,7 +591,7 @@ export default function Page() {
const newSessionWorktree = createMemo(() => {
if (store.newSessionWorktree === "create") return "create"
const project = sync.project
- if (project && sync.data.path.directory !== project.worktree) return sync.data.path.directory
+ if (project && sdk.directory !== project.worktree) return sdk.directory
return "main"
})
@@ -1647,7 +1647,7 @@ export default function Page() {
const target = value === "main" ? sync.project?.worktree : value
if (!target) return
- if (target === sync.data.path.directory) return
+ if (target === sdk.directory) return
layout.projects.open(target)
navigate(`/${base64Encode(target)}/session`)
}}