Skip to content

🏷️ fix: Title an Open Live Card by Its Newest Label, Not a Line of Its Text - #16393

Merged
danny-avila merged 1 commit into
devfrom
danny-avila/expanded-live-header-label
Sep 27, 2026
Merged

danny-avila merged 1 commit into
devfrom
danny-avila/expanded-live-header-label

Conversation

@danny-avila

@danny-avila danny-avila commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

An expanded live card whose phase label has not landed yet keeps its live header, and that header previewed the newest reasoning sentence. With the header pinned at the top while open (#16390), it quoted a line of the very thought streaming in the rows beneath it, so the reader saw the same text twice.

Open, the header now names the span by its newest label: a thought's generated reasoning_label, or the generic "Thinking…" line until one lands; a batch label; a call's intent or generic line. Reasoning sentences and prose commentary stay the collapsed header's job, where they stand in for rows the reader cannot see.

Stacked on #16392 and targets its branch.

How it works

getLiveActivity takes a preferLabels flag. With it set, newestLine skips a THINK part's sentence (falling through to its label or the generic line) and skips TEXT commentary entirely, so the walk continues to the nearest label or call. ActivityPhaseGroup passes expanded into LivePhaseHeader, which sets the flag.

Type of change

  • Bug fix

Testing

Automated tests:

  • ActivityPhaseGroup.test.tsx: collapsed card previews the newest finished sentence; open card is titled by the thought's label and does not carry the sentence; open card with no label falls back to the generic thinking line
  • cd client && npx jest ActivityPhaseGroup LiveParity ContentParts.integration — 189 tests
  • npx tsc --noEmit in client: no errors in touched files

Before / after screenshot

Captured with the live card open after the first sentence completed. Before, the sticky header repeats that sentence above its visible thought; after, it titles the open card “Thinking...”.

Before and after the open live-card title

118bbcf2e37c (before) → 73e8444a82ac (after).

@danny-avila
danny-avila force-pushed the danny-avila/expanded-live-header-label branch from 80dbc6b to 73e8444 Compare September 26, 2026 12:51
@danny-avila
danny-avila added this pull request to stack #16396 September 26, 2026 14:10
@danny-avila
danny-avila force-pushed the danny-avila/expanded-live-header-label branch 3 times, most recently from 3bce802 to 0f1fe20 Compare September 27, 2026 01:46
@danny-avila
danny-avila marked this pull request as ready for review September 27, 2026 01:46
Base automatically changed from danny-avila/live-reasoning-complete-sentence to dev September 27, 2026 01:56
…s Text

An open card whose label has not landed yet kept the live line, so its
sticky header quoted the sentence the reader could already see streaming in
the rows beneath it. Open, the header now names the span by its newest
label: a thought's generated label or the generic thinking line, a batch
label, a call's own line. Reasoning sentences and prose commentary are for
the collapsed header, which stands in for rows the reader cannot see.
@danny-avila
danny-avila force-pushed the danny-avila/expanded-live-header-label branch from 0f1fe20 to f1392f3 Compare September 27, 2026 01:56
@danny-avila
danny-avila merged commit d7209ef into dev Sep 27, 2026
26 checks passed
@danny-avila
danny-avila deleted the danny-avila/expanded-live-header-label branch September 27, 2026 01:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant