summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-11 14:46:29 -0600
committerAdam <[email protected]>2025-12-11 14:46:32 -0600
commit7d55aeee0aa70c105e4c7d7beb226f932556ce54 (patch)
treead745bf64f7d43892502dfdda5468b54d7894f54
parentb34f434332f2ce7eee60d9dfbef2142e167ac0ec (diff)
downloadopencode-7d55aeee0aa70c105e4c7d7beb226f932556ce54.tar.gz
opencode-7d55aeee0aa70c105e4c7d7beb226f932556ce54.zip
fix: no loading state in message nav
-rw-r--r--packages/desktop/src/pages/session.tsx1
-rw-r--r--packages/ui/src/components/message-nav.tsx19
-rw-r--r--packages/ui/src/components/session-message-rail.tsx13
3 files changed, 4 insertions, 29 deletions
diff --git a/packages/desktop/src/pages/session.tsx b/packages/desktop/src/pages/session.tsx
index 890401723..5dae4ce55 100644
--- a/packages/desktop/src/pages/session.tsx
+++ b/packages/desktop/src/pages/session.tsx
@@ -415,7 +415,6 @@ export default function Page() {
messages={session.messages.user()}
current={session.messages.active()}
onMessageSelect={session.messages.setActive}
- working={session.working()}
wide={wide()}
/>
<SessionTurn
diff --git a/packages/ui/src/components/message-nav.tsx b/packages/ui/src/components/message-nav.tsx
index a2db11348..ee73010b9 100644
--- a/packages/ui/src/components/message-nav.tsx
+++ b/packages/ui/src/components/message-nav.tsx
@@ -1,7 +1,6 @@
import { UserMessage } from "@opencode-ai/sdk/v2"
-import { ComponentProps, createMemo, For, Match, Show, splitProps, Switch } from "solid-js"
+import { ComponentProps, For, Match, Show, splitProps, Switch } from "solid-js"
import { DiffChanges } from "./diff-changes"
-import { Spinner } from "./spinner"
import { Tooltip } from "@kobalte/core/tooltip"
export function MessageNav(
@@ -9,20 +8,15 @@ export function MessageNav(
messages: UserMessage[]
current?: UserMessage
size: "normal" | "compact"
- working?: boolean
onMessageSelect: (message: UserMessage) => void
},
) {
- const [local, others] = splitProps(props, ["messages", "current", "size", "working", "onMessageSelect"])
- const lastUserMessage = createMemo(() => {
- return local.messages?.at(-1)
- })
+ const [local, others] = splitProps(props, ["messages", "current", "size", "onMessageSelect"])
const content = () => (
<ul role="list" data-component="message-nav" data-size={local.size} {...others}>
<For each={local.messages}>
{(message) => {
- const messageWorking = createMemo(() => message.id === lastUserMessage()?.id && local.working)
const handleClick = () => local.onMessageSelect(message)
return (
@@ -35,14 +29,7 @@ export function MessageNav(
</Match>
<Match when={local.size === "normal"}>
<button data-slot="message-nav-message-button" onClick={handleClick}>
- <Switch>
- <Match when={messageWorking()}>
- <Spinner />
- </Match>
- <Match when={true}>
- <DiffChanges changes={message.summary?.diffs ?? []} variant="bars" />
- </Match>
- </Switch>
+ <DiffChanges changes={message.summary?.diffs ?? []} variant="bars" />
<div
data-slot="message-nav-title-preview"
data-active={message.id === local.current?.id || undefined}
diff --git a/packages/ui/src/components/session-message-rail.tsx b/packages/ui/src/components/session-message-rail.tsx
index 132b813d2..1935a4f93 100644
--- a/packages/ui/src/components/session-message-rail.tsx
+++ b/packages/ui/src/components/session-message-rail.tsx
@@ -6,21 +6,12 @@ import "./session-message-rail.css"
export interface SessionMessageRailProps extends ComponentProps<"div"> {
messages: UserMessage[]
current?: UserMessage
- working?: boolean
wide?: boolean
onMessageSelect: (message: UserMessage) => void
}
export function SessionMessageRail(props: SessionMessageRailProps) {
- const [local, others] = splitProps(props, [
- "messages",
- "current",
- "working",
- "wide",
- "onMessageSelect",
- "class",
- "classList",
- ])
+ const [local, others] = splitProps(props, ["messages", "current", "wide", "onMessageSelect", "class", "classList"])
return (
<Show when={(local.messages?.length ?? 0) > 1}>
@@ -39,7 +30,6 @@ export function SessionMessageRail(props: SessionMessageRailProps) {
current={local.current}
onMessageSelect={local.onMessageSelect}
size="compact"
- working={local.working}
/>
</div>
<div data-slot="session-message-rail-full">
@@ -48,7 +38,6 @@ export function SessionMessageRail(props: SessionMessageRailProps) {
current={local.current}
onMessageSelect={local.onMessageSelect}
size={local.wide ? "normal" : "compact"}
- working={local.working}
/>
</div>
</div>