Skip to content

Remove the working status from the mobile thread header - #2032

Merged
SawyerHood merged 1 commit into
mainfrom
bb/remove-thread-header-working-status-thr_vuz28g3ey9
Aug 20, 2026
Merged

SawyerHood merged 1 commit into
mainfrom
bb/remove-thread-header-working-status-thr_vuz28g3ey9

Conversation

@SawyerHood

Copy link
Copy Markdown
Collaborator

What was wrong

The mobile thread header showed a "Working" subtitle with a spinner under the title while a thread ran. The timeline already shows a working indicator, so the header line was noise.

What changed

  • apps/mobile/src/screens/thread/ThreadDetailHeader.tsx: headerSubtitle hides working-tone statuses (Working, Provisioning, Starting, Stopping, Reconnecting). The header keeps "Needs input", "Error", "Waiting for host", "Archived", and the child / side chat label. The spinner is gone.
  • apps/mobile/src/screens/thread/thread-detail-header-model.ts: removed the unused spinning field from ThreadStatusPill.

How you verified

  • pnpm exec turbo run typecheck --filter=@bb/mobile passes.
  • Manual check in the iOS simulator against the mobile e2e backend: an active thread shows only the title in the header, and the timeline still shows "Working...".

Fixes #

AGENT GENERATED: by Claude Opus 5

The header subtitle duplicated the timeline working indicator. The header now
hides working-tone statuses and drops the spinner and the unused spinning field.

Co-Authored-By: Claude <noreply@anthropic.com>
@bb-slop-cop

bb-slop-cop Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

🚨 SLOP COP 🚨 · review

I am the Slop Cop. I am reviewing this pull request for security, code quality, performance, architecture, and mobile behavior.

@SawyerHood
SawyerHood merged commit 5f4172b into main Aug 20, 2026
13 checks passed
@SawyerHood
SawyerHood deleted the bb/remove-thread-header-working-status-thr_vuz28g3ey9 branch August 20, 2026 14:30
): string | null {
const parts: string[] = [];
if (statusPill.tone !== "idle") parts.push(statusPill.label);
if (statusPill.tone !== "idle" && statusPill.tone !== "working") {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 slopcop/review — This policy change has no direct test. A table test should cover each tone and child label.

@bb-slop-cop bb-slop-cop Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 SLOP COP 🚨 · review

Plain English summary: This change removes the mobile header work label because the timeline already shows the same activity.

I found no blocking issue.

One low concern remains. headerSubtitle has no direct policy test. A table test should cover each tone and child label.

  • Security: I found no issue. The change only affects React Native display text.
  • Performance: The change removes an animated spinner and a wrapper view. It adds no new work.
  • Architecture: I found no duplicate filter or stale spinning name. I do not recommend a larger refactor.
  • Validation: The exact SHA passed the diff check, mobile type check, and all 813 mobile tests across 119 files.
  • End-to-end test: I could not run it. This route is native-only, Maestro is unavailable, and GitHub skipped the iOS flow.

The pull request merged while this review ran.

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