Skip to content

Add a Schedules screen to manage recurring agents#1246

Open
boudra wants to merge 3 commits into
mainfrom
schedules-screen
Open

Add a Schedules screen to manage recurring agents#1246
boudra wants to merge 3 commits into
mainfrom
schedules-screen

Conversation

@boudra
Copy link
Copy Markdown
Collaborator

@boudra boudra commented May 31, 2026

Adds a Schedules screen for creating, editing, pausing, and deleting recurring agents, plus a consistency pass on the form.

What's in it

  • Schedules screen: list, create, edit, pause/resume, run-now, and delete recurring new-agent schedules.
  • Schedule form: name, prompt, a single nested provider→model selector (the draft screen's selector), working directory, cadence (interval or cron), and max runs.
  • Cadence editor: interval (every N minutes/hours/days) or cron, with live preview and validation.

Form consistency pass

  • One nested provider→model selector instead of separate provider and model pickers.
  • Model trigger renders as a full-width field with a right-pinned chevron, matching the other fields; muted placeholder.
  • Cadence segmented controls hug their content and share the field height instead of stretching full width.
  • Cron preset chips share the form's radius and height.
  • Sheet scroll uses the themed desktop scrollbar.

Verification

  • npm run typecheck — green (full workspace).
  • npm run lint on touched files — clean.
  • npm run format applied.

boudra added 3 commits May 30, 2026 21:59
Adds a Schedules section in the sidebar header (below Sessions) for viewing
and managing new-agent schedules: recurring jobs that spawn an agent on a
cron or interval cadence.

- Borderless table showing provider icon, model, cadence, next run, and
  status, with row actions to edit, pause/resume, run now, and delete.
- Create/edit sheet that reuses the agent provider/model/mode/working-
  directory pickers, plus an interval/cron cadence editor with presets,
  validation, and a UTC preview.
- Responsive: hover-revealed row actions on desktop, an always-visible
  action menu on mobile.
- Data layer over the existing schedule RPCs (list/create/update/pause/
  resume/delete/run-once) with optimistic pause, resume, and delete.

Scope is limited to new-agent schedules for now.
The "model selector can open, close, reopen, and close again" test still flaked
on loaded CI runners even after re-tapping the backdrop: the model-selector
sheet re-renders as its model list settles, and Gorhom drops backdrop presses
during that churn, so the tap never dismisses within the retry window.

Fall back to dragging the sheet handle down, which drives Gorhom's pan-to-close
directly and is unaffected by the backdrop churn (mirrors the resilient close in
e2e/helpers/app.ts). The backdrop tap remains the primary path, and the
post-close "stays hidden" guard that protects the dismiss-then-re-present
regression is unchanged. Verified locally by forcing the fallback (backdrop tap
disabled): the handle drag closes the sheet on its own.
Merge the provider and model pickers into the single nested selector the
draft screen uses, render it as a full-width field, mute the placeholder,
proportion the cadence segmented controls, unify the cron preset chips,
and route the sheet scroll through the themed scrollbar.
Copy link
Copy Markdown

@greptile-apps greptile-apps Bot left a comment

Choose a reason for hiding this comment

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

boudra has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.

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