Skip to content

(schedules): add the Schedules tab (#792) - #1035

Merged
devsuitup merged 5 commits into
mainfrom
wt/792
Nov 8, 2026
Merged

devsuitup merged 5 commits into
mainfrom
wt/792

Conversation

@devsuitup

Copy link
Copy Markdown
Owner

Slice A2 of #792: the Schedules tab. Slice A1, the main-process listing, landed in #1021.

  • The tab: it lists each project's schedule files with their schedule in plain words, their next run (in N min, today, tomorrow, a weekday, then a date), their enabled state, a catch-up note and their recent runs. Run now, the on/off toggle and Open live here; Run now keeps its notice id and button states from Agent Files. A row that cannot run says why in visible text: the project is not known, or the front matter could not be read.
  • Agent Files: .claude/commands/schedule-*.md files no longer show in Agent Files. Other commands stay. The sidebar's archive and re-enable messages now give a count and point to the Schedules tab.
  • Re-enable: set-schedule-enabled only accepts a listed schedule file. Turning a catch-up schedule back on skips the minutes missed while it was off. The current minute is skipped only if the scheduler already evaluated it on a tick, at startup or on resume.
  • Refresh: each row keeps its state across refreshes (an in-flight Run now, an open history, keyboard focus). Reloads are coalesced: a 900 ms debounce with a 3 s maximum wait. The tab reloads only for projects-changed causes that can affect schedules, and when a scheduled run exits.

Not in this slice: B (delete), C (creation form), D (run results; "No result recorded" is shown). Follow-up: #1034.

…nt Files

Each project's schedule files are listed with their next run, last runs and state; Run now, the on/off toggle and Open live there, and re-enabling a catch-up schedule skips the minutes missed while it was off.
Run now keeps its launched state and cannot be clicked twice, focus and open history survive a refresh, reloads are coalesced, next runs read as minutes, today, tomorrow or a date, and re-enabling during a due minute that already passed skips it.
Re-enabling a catch-up schedule before the scheduler has handled the current minute keeps that run; focus waits on the row while Run now is in flight; the tab reloads only for changes that can affect schedules.
…uation

Re-enabling a catch-up schedule in the minute the app started or resumed no longer replays that minute; the tab ignores CLI status churn, refreshes when a scheduled run exits, and keeps focus on the on/off toggle.
# Conflicts:
#	CHANGELOG.md
#	eslint.config.js
#	public/style.css
@devsuitup
devsuitup merged commit ab42207 into main Nov 8, 2026
6 checks passed
@devsuitup
devsuitup deleted the wt/792 branch November 8, 2026 23:28
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