summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/pages
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-18 11:02:41 -0600
committerAdam <[email protected]>2026-02-18 11:48:25 -0600
commitef14f64f9ee10ee7945a547bde4b13d6dcf2f0bd (patch)
tree56e755687a04ded0c7c6469ad96836331e88dd94 /packages/app/src/pages
parent3f60a6c2a46dab1622ee4f4c99e4dfad876f3a3c (diff)
downloadopencode-ef14f64f9ee10ee7945a547bde4b13d6dcf2f0bd.tar.gz
opencode-ef14f64f9ee10ee7945a547bde4b13d6dcf2f0bd.zip
chore: cleanup
Diffstat (limited to 'packages/app/src/pages')
-rw-r--r--packages/app/src/pages/layout.tsx18
-rw-r--r--packages/app/src/pages/session.tsx46
-rw-r--r--packages/app/src/pages/session/message-timeline.tsx57
3 files changed, 25 insertions, 96 deletions
diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx
index cecb52617..e280b2f92 100644
--- a/packages/app/src/pages/layout.tsx
+++ b/packages/app/src/pages/layout.tsx
@@ -51,7 +51,6 @@ import { DialogSelectServer } from "@/components/dialog-select-server"
import { DialogSettings } from "@/components/dialog-settings"
import { useCommand, type CommandOption } from "@/context/command"
import { ConstrainDragXAxis } from "@/utils/solid-dnd"
-import { navStart } from "@/utils/perf"
import { DialogSelectDirectory } from "@/components/dialog-select-directory"
import { DialogEditProject } from "@/components/dialog-edit-project"
import { Titlebar } from "@/components/titlebar"
@@ -826,14 +825,6 @@ export default function Layout(props: ParentProps) {
if (next) prefetchSession(next)
}
- if (import.meta.env.DEV) {
- navStart({
- dir: base64Encode(session.directory),
- from: params.id,
- to: session.id,
- trigger: offset > 0 ? "alt+arrowdown" : "alt+arrowup",
- })
- }
navigateToSession(session)
queueMicrotask(() => scrollToSession(session.id, `${session.directory}:${session.id}`))
}
@@ -869,15 +860,6 @@ export default function Layout(props: ParentProps) {
if (next) prefetchSession(next)
}
- if (import.meta.env.DEV) {
- navStart({
- dir: base64Encode(session.directory),
- from: params.id,
- to: session.id,
- trigger: offset > 0 ? "shift+alt+arrowdown" : "shift+alt+arrowup",
- })
- }
-
navigateToSession(session)
queueMicrotask(() => scrollToSession(session.id, `${session.directory}:${session.id}`))
return
diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx
index cbe5a3aca..8a91b6e85 100644
--- a/packages/app/src/pages/session.tsx
+++ b/packages/app/src/pages/session.tsx
@@ -23,7 +23,6 @@ import { usePrompt } from "@/context/prompt"
import { useComments } from "@/context/comments"
import { usePermission } from "@/context/permission"
import { SessionHeader, NewSessionView } from "@/components/session"
-import { navMark, navParams } from "@/utils/perf"
import { same } from "@/utils/same"
import { createOpenReviewFile } from "@/pages/session/helpers"
import { createScrollSpy } from "@/pages/session/scroll-spy"
@@ -109,46 +108,6 @@ export default function Page() {
),
)
- if (import.meta.env.DEV) {
- createEffect(
- on(
- () => [params.dir, params.id] as const,
- ([dir, id], prev) => {
- if (!id) return
- navParams({ dir, from: prev?.[1], to: id })
- },
- ),
- )
-
- createEffect(() => {
- const id = params.id
- if (!id) return
- if (!prompt.ready()) return
- navMark({ dir: params.dir, to: id, name: "storage:prompt-ready" })
- })
-
- createEffect(() => {
- const id = params.id
- if (!id) return
- if (!terminal.ready()) return
- navMark({ dir: params.dir, to: id, name: "storage:terminal-ready" })
- })
-
- createEffect(() => {
- const id = params.id
- if (!id) return
- if (!file.ready()) return
- navMark({ dir: params.dir, to: id, name: "storage:file-view-ready" })
- })
-
- createEffect(() => {
- const id = params.id
- if (!id) return
- if (sync.data.message[id] === undefined) return
- navMark({ dir: params.dir, to: id, name: "session:data-ready" })
- })
- }
-
const isDesktop = createMediaQuery("(min-width: 768px)")
const desktopReviewOpen = createMemo(() => isDesktop() && view().reviewPanel.opened())
const desktopFileTreeOpen = createMemo(() => isDesktop() && layout.fileTree.opened())
@@ -1140,11 +1099,6 @@ export default function Page() {
anchor={anchor}
onRegisterMessage={scrollSpy.register}
onUnregisterMessage={scrollSpy.unregister}
- onFirstTurnMount={() => {
- const id = params.id
- if (!id) return
- navMark({ dir: params.dir, to: id, name: "session:first-turn-mounted" })
- }}
lastUserMessageID={lastUserMessage()?.id}
/>
</Show>
diff --git a/packages/app/src/pages/session/message-timeline.tsx b/packages/app/src/pages/session/message-timeline.tsx
index b94942408..c65e2600e 100644
--- a/packages/app/src/pages/session/message-timeline.tsx
+++ b/packages/app/src/pages/session/message-timeline.tsx
@@ -1,4 +1,4 @@
-import { For, createEffect, createMemo, on, onCleanup, onMount, Show, type JSX } from "solid-js"
+import { For, createEffect, createMemo, on, onCleanup, Show, type JSX } from "solid-js"
import { createStore, produce } from "solid-js/store"
import { useNavigate, useParams } from "@solidjs/router"
import { Button } from "@opencode-ai/ui/button"
@@ -72,7 +72,6 @@ export function MessageTimeline(props: {
anchor: (id: string) => string
onRegisterMessage: (el: HTMLDivElement, id: string) => void
onUnregisterMessage: (id: string) => void
- onFirstTurnMount?: () => void
lastUserMessageID?: string
}) {
let touchGesture: number | undefined
@@ -516,37 +515,31 @@ export function MessageTimeline(props: {
</div>
</Show>
<For each={props.renderedUserMessages}>
- {(message) => {
- if (import.meta.env.DEV && props.onFirstTurnMount) {
- onMount(() => props.onFirstTurnMount?.())
- }
-
- return (
- <div
- id={props.anchor(message.id)}
- data-message-id={message.id}
- ref={(el) => {
- props.onRegisterMessage(el, message.id)
- onCleanup(() => props.onUnregisterMessage(message.id))
- }}
- classList={{
- "min-w-0 w-full max-w-full": true,
- "md:max-w-200 2xl:max-w-[1000px]": props.centered,
+ {(message) => (
+ <div
+ id={props.anchor(message.id)}
+ data-message-id={message.id}
+ ref={(el) => {
+ props.onRegisterMessage(el, message.id)
+ onCleanup(() => props.onUnregisterMessage(message.id))
+ }}
+ classList={{
+ "min-w-0 w-full max-w-full": true,
+ "md:max-w-200 2xl:max-w-[1000px]": props.centered,
+ }}
+ >
+ <SessionTurn
+ sessionID={sessionID() ?? ""}
+ messageID={message.id}
+ lastUserMessageID={props.lastUserMessageID}
+ classes={{
+ root: "min-w-0 w-full relative",
+ content: "flex flex-col justify-between !overflow-visible",
+ container: "w-full px-4 md:px-6",
}}
- >
- <SessionTurn
- sessionID={sessionID() ?? ""}
- messageID={message.id}
- lastUserMessageID={props.lastUserMessageID}
- classes={{
- root: "min-w-0 w-full relative",
- content: "flex flex-col justify-between !overflow-visible",
- container: "w-full px-4 md:px-6",
- }}
- />
- </div>
- )
- }}
+ />
+ </div>
+ )}
</For>
</div>
</div>