Skip to content

Commit 9598094

Browse files
committed
fix(ui): prevent subagent status line flicker (#36)
- Add createEffect to sync child session data on Task mount - Ensures activity data available before first render - Eliminates layout jumping when multiple agents run
1 parent 22bfa0d commit 9598094

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

  • packages/opencode/src/cli/cmd/tui/routes/session

‎packages/opencode/src/cli/cmd/tui/routes/session/index.tsx‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1794,6 +1794,16 @@ function Task(props: ToolProps<typeof TaskTool>) {
17941794
const local = useLocal()
17951795
const sync = useSync()
17961796

1797+
// Ensure child session data is loaded before accessing it
1798+
createEffect(async () => {
1799+
const childSessionId = props.metadata.sessionId
1800+
if (!childSessionId) return
1801+
const hasMessages = !!sync.data.message[childSessionId]?.length
1802+
if (!hasMessages) {
1803+
await sync.session.sync(childSessionId)
1804+
}
1805+
})
1806+
17971807
const current = createMemo(() =>
17981808
props.metadata.summary?.findLast(
17991809
(x: { id: string; tool: string; state: { status: string; title?: string } }) => x.state.status !== "pending",

0 commit comments

Comments
 (0)