Repository navigation
fix(pi): a steer Pi has not read yet shows as waiting, not steered #33982
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -296,7 +296,10 @@ function AutomationMessageRow({ row }: { row: Extract<TimelineRow, { kind: "mess | |
| <div className="group flex flex-col items-end gap-1" data-user-message-attribution="automation"> | ||
| {row.message.inputIntent === "steer" || | ||
| row.message.inputIntent === "promoted_queued_to_steer" ? ( | ||
| <UserMessageIntentMarker intent={row.message.inputIntent} /> | ||
| <UserMessageIntentMarker | ||
| intent={row.message.inputIntent} | ||
| unread={row.projectedItem?.item.status === "pending"} | ||
| /> | ||
| ) : null} | ||
| <div | ||
| className={cn( | ||
|
|
@@ -845,7 +848,10 @@ function UserTimelineRow({ row }: { row: Extract<TimelineRow, { kind: "message" | |
| {(row.message.inputIntent === "steer" || | ||
| row.message.inputIntent === "promoted_queued_to_steer") && | ||
| !row.continuesSteer ? ( | ||
| <UserMessageIntentMarker intent={row.message.inputIntent} /> | ||
| <UserMessageIntentMarker | ||
| intent={row.message.inputIntent} | ||
| unread={row.projectedItem?.item.status === "pending"} | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| /> | ||
| ) : null} | ||
| {mediaAboveText ? ( | ||
| <div className="flex max-w-[80%] justify-end"> | ||
|
|
@@ -1048,8 +1054,10 @@ const ACTIONS_REVEAL_CLASS_NAME = | |
|
|
||
| function UserMessageIntentMarker({ | ||
| intent, | ||
| unread, | ||
| }: { | ||
| readonly intent: "steer" | "promoted_queued_to_steer"; | ||
| readonly unread: boolean; | ||
| }) { | ||
| return ( | ||
| <Tooltip> | ||
|
|
@@ -1062,12 +1070,14 @@ function UserMessageIntentMarker({ | |
| } | ||
| > | ||
| <Redo2Icon aria-hidden="true" className="size-3" /> | ||
| Steer | ||
| {unread ? "Steer · waiting to be read" : "Steer"} | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Announce the waiting-label transition to screen readers. When
|
||
| </TooltipTrigger> | ||
| <TooltipPopup side="top"> | ||
| {intent === "promoted_queued_to_steer" | ||
| ? "Originally queued, then promoted to steer the active turn" | ||
| : "Steered the active turn"} | ||
| {unread | ||
| ? "Waiting for the agent to read this. It reads steers between steps, after a running command finishes." | ||
| : intent === "promoted_queued_to_steer" | ||
| ? "Originally queued, then promoted to steer the active turn" | ||
| : "Steered the active turn"} | ||
| </TooltipPopup> | ||
| </Tooltip> | ||
| ); | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Announce the steer status change to screen readers.
When the projected item changes from
pendingtocompleted, this argument changes the badge’s accessibility label. The accessible View at Lines 2146-2157 has no live-announcement behavior, so a user who remains on the thread may not hear that the steer was read. Add a polite status announcement for the transition. Based on learnings, “dynamic status regions” need live-region semantics unless an accepted alternative announces the update.Source: Learnings