You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature]: Show when a thread has a scheduled task in the sidebar thread list
#16550
A thread bound to a scheduled task (schedule_task with bindToCurrentThread, or a task created in Settings with a thread target) looks the same as any other thread in the sidebar. The only way to see that it is scheduled is to open the thread and expand the Automations section of the thread details panel (apps/web/src/components/chat/ThreadAutomationsPanel.tsx). Between runs, the user can't tell which threads will wake up by themselves. During a run, they can't tell whether the activity came from them or from an automation.
Repro
In any thread, ask the agent to schedule_task with an interval (it binds to the current thread by default).
Look at that thread's row in the sidebar (web/desktop) or the thread list (mobile).
The row shows project, title, branch, PR, terminal and status, but nothing about the schedule. The thread details panel shows "Every 60 min · next …".
Expected
The row shows a small CalendarClock icon when the thread has an enabled scheduled task. Its tooltip uses the same text as the Automations panel (scheduleLabel · next relativeLabel, from components/settings/ScheduledTasksSettings.tsx:173,196). A paused task shows a muted icon or no icon.
Suggested fix
No contract or server change is needed. ScheduledTask.threadId (packages/contracts/src/scheduledTask.ts:180) already links a task to its thread, and the client already has a live list in scheduledTasksLive (packages/client-runtime/src/state/server.ts:1087), which the Automations panel and Settings already read.
Web: in Sidebar.tsx, read scheduledTasksLive once per environment, build a Map<ThreadId, ScheduledTask[]>, and pass the result into SidebarThreadRow. The icon goes next to terminalStatusIcon/prBadge (card variant around :2125, slim around :1789). Rows should not subscribe individually.
Mobile: do the same in ThreadListV2Row (apps/mobile/src/features/threads/thread-list-v2-items.tsx), next to the pin and queued icons.
If a server does not support the scheduled-task subscription, show no icon.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Problem
A thread bound to a scheduled task (
schedule_taskwithbindToCurrentThread, or a task created in Settings with a thread target) looks the same as any other thread in the sidebar. The only way to see that it is scheduled is to open the thread and expand the Automations section of the thread details panel (apps/web/src/components/chat/ThreadAutomationsPanel.tsx). Between runs, the user can't tell which threads will wake up by themselves. During a run, they can't tell whether the activity came from them or from an automation.Repro
schedule_taskwith an interval (it binds to the current thread by default).Expected
The row shows a small
CalendarClockicon when the thread has an enabled scheduled task. Its tooltip uses the same text as the Automations panel (scheduleLabel· nextrelativeLabel, fromcomponents/settings/ScheduledTasksSettings.tsx:173,196). A paused task shows a muted icon or no icon.Suggested fix
No contract or server change is needed.
ScheduledTask.threadId(packages/contracts/src/scheduledTask.ts:180) already links a task to its thread, and the client already has a live list inscheduledTasksLive(packages/client-runtime/src/state/server.ts:1087), which the Automations panel and Settings already read.Sidebar.tsx, readscheduledTasksLiveonce per environment, build aMap<ThreadId, ScheduledTask[]>, and pass the result intoSidebarThreadRow. The icon goes next toterminalStatusIcon/prBadge(card variant around:2125, slim around:1789). Rows should not subscribe individually.ThreadListV2Row(apps/mobile/src/features/threads/thread-list-v2-items.tsx), next to the pin and queued icons.Related
All reactions