Skip to content

Clear the rail's attention badge once input is sent #967

Description

@realtonyyoung

What happens

A coding agent that was waiting for input shows the exclamation badge on its row in the left rail. After the input is given from the desktop composer and the agent resumes, the badge stays on the row.

Where it comes from

RailSessionViewModel sets the badge from SessionStatusDots.NeedsAttention(row), which is Status == "Failed" or AwaitingInput == true, combined with SessionAttentionTracker.SessionsWithAttention for pending questions and permission requests. Neither path reacts to the composer send itself:

  • AwaitingInput only flips on the next status snapshot from the daemon or the next server row, so the badge outlives the send until the verdict catches up, and stays for good if that verdict never flips.
  • The tracker clears a session only on an attention ping that names the request id, or on a reconciliation read; a reply typed into the composer produces neither.

Expected

Sending input from the composer clears the row's badge at once for that session, and it comes back only if a later verdict or ping says the agent is waiting again. A short optimistic clear on send, superseded by the next real verdict, is the likely shape; the tracker should also drop pending question ids that the sent reply answered.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions