Skip to content

Fix resumed thread working indicators#886

Open
Aditya190803 wants to merge 1 commit intopingdotgg:mainfrom
Aditya190803:fix/881-resumed-thread-working-indicator
Open

Fix resumed thread working indicators#886
Aditya190803 wants to merge 1 commit intopingdotgg:mainfrom
Aditya190803:fix/881-resumed-thread-working-indicator

Conversation

@Aditya190803
Copy link

@Aditya190803 Aditya190803 commented Mar 11, 2026

What Changed

Resumed interrupted threads now continue to show active processing state in both the chat view and the sidebar even when the legacy session.status has already fallen back to ready but orchestrationStatus is still active. Fixes #881.

session-logic: derivePhase() now treats orchestration status as canonical for connecting and running states via shared isSessionConnecting() and isSessionRunning() helpers.
Sidebar.logic: thread status pills now use derivePhase(thread.session) instead of reading the legacy session status directly, so resumed threads still show Working or Connecting when orchestration is active.
session-logic.test / Sidebar.logic.test: added regression coverage for resumed-running, orchestration-starting, and mismatched legacy-vs-orchestration precedence cases.
ChatView.browser: added a rendered browser regression test that reproduces the stale resumed-thread state and verifies the chat working indicator and sidebar badge both stay visible.

Why

Interrupted thread resume could leave the UI looking idle while the orchestration layer was still actively processing. In that state the user got no reliable feedback about whether the resumed thread was working, retrying, or stuck, which is exactly the issue reported in #881.

UI Changes

before
resumed interrupted threads could look idle after reconnecting because neither the chat timeline nor the sidebar reliably showed an active processing indicator while orchestration was still running.

after
resumed interrupted threads keep showing the working indicator in the chat and the Working badge in the sidebar while orchestration remains active.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Fix working indicators for resumed threads by using orchestrationStatus in derivePhase

  • derivePhase in session-logic.ts now checks orchestrationStatus alongside legacy session.status, treating 'starting' as 'connecting' and 'running' as 'running' even when legacy status is 'ready'.
  • resolveThreadStatusPill in Sidebar.logic.ts is updated to use derivePhase, so the sidebar pill label and pulse dot correctly show 'Working' or 'Connecting' for resumed threads.
  • New unit tests cover derivePhase and resolveThreadStatusPill for mixed legacy/orchestration states, and a new browser test asserts both the chat and sidebar indicators are visible when a resumed thread is active.

Macroscope summarized b44b33a.

@github-actions github-actions bot added the vouch:unvouched PR author is not yet trusted in the VOUCHED list. label Mar 11, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 11, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ae94b546-0fe9-431c-a2ca-97a6fcdadfde

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

No processing indicator when resuming an interrupted thread

1 participant