|
|
@@ -29,7 +29,7 @@ import { previewSelectedLines } from "@opencode-ai/session-ui/pierre/selection-b
|
|
|
import { Button } from "@opencode-ai/ui/button"
|
|
|
import { showToast } from "@/utils/toast"
|
|
|
import { base64Encode, checksum } from "@opencode-ai/core/util/encode"
|
|
|
-import { useLocation, useSearchParams } from "@solidjs/router"
|
|
|
+import { useLocation, useNavigate, useSearchParams } from "@solidjs/router"
|
|
|
import { NewSessionView, SessionHeader } from "@/components/session"
|
|
|
import { useComments } from "@/context/comments"
|
|
|
import { useServerSync } from "@/context/server-sync"
|
|
|
@@ -66,6 +66,7 @@ import { diffs as list } from "@/utils/diffs"
|
|
|
import { Persist, persisted } from "@/utils/persist"
|
|
|
import { extractPromptFromParts } from "@/utils/prompt"
|
|
|
import { formatServerError } from "@/utils/server-errors"
|
|
|
+import { legacySessionHref, requireServerKey, sessionHref } from "@/utils/session-route"
|
|
|
import { useUsageExceededDialogs } from "./session/usage-exceeded-dialogs"
|
|
|
import { createSessionOwnership } from "./session/session-ownership"
|
|
|
|
|
|
@@ -123,6 +124,7 @@ export default function Page() {
|
|
|
const terminal = useTerminal()
|
|
|
const [searchParams, setSearchParams] = useSearchParams<{ prompt?: string }>()
|
|
|
const location = useLocation()
|
|
|
+ const navigate = useNavigate()
|
|
|
const { params, sessionKey, workspaceKey, tabs, view } = useSessionLayout()
|
|
|
const sessionOwnership = createSessionOwnership(sessionKey)
|
|
|
const newSessionDesign = createMemo(() => settings.general.newLayoutDesigns())
|
|
|
@@ -1562,6 +1564,13 @@ export default function Page() {
|
|
|
ready={!store.deferRender && messagesReady()}
|
|
|
centered={placement === "dock" && centered()}
|
|
|
placement={placement}
|
|
|
+ openParent={() => {
|
|
|
+ const id = info()?.parentID
|
|
|
+ if (!id) return
|
|
|
+ navigate(
|
|
|
+ params.serverKey ? sessionHref(requireServerKey(params.serverKey), id) : legacySessionHref(sdk().directory, id),
|
|
|
+ )
|
|
|
+ }}
|
|
|
inputRef={(el) => {
|
|
|
inputRef = el
|
|
|
}}
|