From 69e562125d26b246f0374fad2de7d0d34092100c Mon Sep 17 00:00:00 2001 From: Ravi Kumar <82090231+Raviguntakala@users.noreply.github.com> Date: Wed, 17 Dec 2025 23:08:05 +0530 Subject: [PATCH] fix(tui): resolve session_status TypeError (#5520) --- .../opencode/src/cli/cmd/tui/component/dialog-session-list.tsx | 2 +- packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx | 2 +- packages/opencode/src/cli/cmd/tui/routes/session/index.tsx | 2 +- packages/opencode/src/session/status.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx index 4976f0ab3..1217bb54a 100644 --- a/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx @@ -37,7 +37,7 @@ export function DialogSessionList() { category = "Today" } const isDeleting = toDelete() === x.id - const status = sync.data.session_status[x.id] + const status = sync.data.session_status?.[x.id] const isWorking = status?.type === "busy" return { title: isDeleting ? `Press ${deleteKeybind} again to confirm` : x.title, diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx index 938405f68..99a90ab46 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx @@ -116,7 +116,7 @@ export function Prompt(props: PromptProps) { const sync = useSync() const dialog = useDialog() const toast = useToast() - const status = createMemo(() => sync.data.session_status[props.sessionID ?? ""] ?? { type: "idle" }) + const status = createMemo(() => sync.data.session_status?.[props.sessionID ?? ""] ?? { type: "idle" }) const history = usePromptHistory() const command = useCommandDialog() const renderer = useRenderer() diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index 9b6809dc0..ac0f121e7 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -340,7 +340,7 @@ export function Session() { keybind: "messages_undo", category: "Session", onSelect: async (dialog) => { - const status = sync.data.session_status[route.sessionID] + const status = sync.data.session_status?.[route.sessionID] if (status?.type !== "idle") await sdk.client.session.abort({ sessionID: route.sessionID }).catch(() => {}) const revert = session().revert?.messageID const message = messages().findLast((x) => (!revert || x.id < revert) && x.role === "user") diff --git a/packages/opencode/src/session/status.ts b/packages/opencode/src/session/status.ts index d2615c4cb..1db03b5db 100644 --- a/packages/opencode/src/session/status.ts +++ b/packages/opencode/src/session/status.ts @@ -55,7 +55,7 @@ export namespace SessionStatus { } export function list() { - return Object.values(state()) + return state() } export function set(sessionID: string, status: Info) {