Skip to content

Commit c78e7e1

Browse files
committed
tui: show pending toolcall count instead of generic 'Running...' message
1 parent e3a787a commit c78e7e1

1 file changed

Lines changed: 5 additions & 23 deletions

File tree

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

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

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1411,13 +1411,6 @@ function ReasoningPart(props: { last: boolean; part: ReasoningPart; message: Ass
14111411
// OpenRouter sends encrypted reasoning data that appears as [REDACTED]
14121412
return props.part.text.replace("[REDACTED]", "").trim()
14131413
})
1414-
const streaming = createMemo(() => {
1415-
if (!props.last) return false
1416-
if (props.part.time.end) return false
1417-
if (props.message.time.completed) return false
1418-
if (props.message.error) return false
1419-
return true
1420-
})
14211414
return (
14221415
<Show when={content() && ctx.showThinking()}>
14231416
<box
@@ -1432,7 +1425,7 @@ function ReasoningPart(props: { last: boolean; part: ReasoningPart; message: Ass
14321425
<code
14331426
filetype="markdown"
14341427
drawUnstyledText={false}
1435-
streaming={streaming()}
1428+
streaming={true}
14361429
syntaxStyle={subtleSyntax()}
14371430
content={"_Thinking:_ " + content()}
14381431
conceal={ctx.conceal()}
@@ -1446,34 +1439,23 @@ function ReasoningPart(props: { last: boolean; part: ReasoningPart; message: Ass
14461439
function TextPart(props: { last: boolean; part: TextPart; message: AssistantMessage }) {
14471440
const ctx = use()
14481441
const { theme, syntax } = useTheme()
1449-
const streaming = createMemo(() => {
1450-
if (!props.last) return false
1451-
if (props.part.time?.end) return false
1452-
if (props.message.time.completed) return false
1453-
if (props.message.error) return false
1454-
return true
1455-
})
14561442
return (
14571443
<Show when={props.part.text.trim()}>
14581444
<box id={"text-" + props.part.id} paddingLeft={3} marginTop={1} flexShrink={0}>
14591445
<Switch>
14601446
<Match when={Flag.OPENCODE_EXPERIMENTAL_MARKDOWN}>
14611447
<markdown
14621448
syntaxStyle={syntax()}
1463-
streaming={streaming()}
1449+
streaming={true}
14641450
content={props.part.text.trim()}
14651451
conceal={ctx.conceal()}
1466-
tableOptions={{
1467-
widthMode: "full",
1468-
columnFitter: "balanced",
1469-
}}
14701452
/>
14711453
</Match>
14721454
<Match when={!Flag.OPENCODE_EXPERIMENTAL_MARKDOWN}>
14731455
<code
14741456
filetype="markdown"
14751457
drawUnstyledText={false}
1476-
streaming={streaming()}
1458+
streaming={true}
14771459
syntaxStyle={syntax()}
14781460
content={props.part.text.trim()}
14791461
conceal={ctx.conceal()}
@@ -1997,8 +1979,8 @@ function Task(props: ToolProps<typeof TaskTool>) {
19971979

19981980
if (isRunning() && tools().length > 0) {
19991981
// content[0] += ` · ${tools().length} toolcalls`
2000-
if (current()) content.push(` ${Locale.titlecase(current()!.tool)} ${(current()!.state as any).title}`)
2001-
else content.push(`└ Running...`)
1982+
if (current()) content.push(` ${Locale.titlecase(current()!.tool)} ${(current()!.state as any).title}`)
1983+
else content.push(`${tools().length} toolcalls`)
20021984
}
20031985

20041986
if (props.part.state.status === "completed") {

0 commit comments

Comments
 (0)