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
Support editing existing schedules in the Web UI while preserving execution history
#3641
The Web UI currently supports creating schedules with an activation window (started_at / ended_at), but provides no way to edit them afterward.
To adjust the start time, extend or remove the end time, or change the execution frequency, users have to delete the schedule and create a new one. However, deleting a schedule also deletes its associated execution sessions, resulting in the loss of execution history.
Proposal
Add an edit action to the schedule details view, allowing users to update existing schedule settings, including:
Activation start and end times, with the option to remove the end time.
Execution frequency and trigger time.
Existing updatable fields such as name, description, and enabled status.
Saving changes should update and reschedule the existing task while preserving its ID and all execution history. Editing should retain the schedule’s stored timezone without introducing a timezone selector.
Current API limitations
The backend already provides PATCH /schedule/{id}, but it does not support started_at / ended_at. The frontend also has an update API wrapper and hook, but the UI does not expose an editing action.
Additionally, PATCH currently silently ignores activation window fields and returns 200. For example, submitting a new ended_at still returns the old value. This can mislead callers into believing the update succeeded and should be addressed when adding support for these fields.
Scope and update semantics
This proposal focuses on Web UI editing and the backend support it requires. Adding an agent update tool, introducing timezone selection, and changing unknown-field handling across all request models are outside its scope.
For activation window updates, the proposed semantics are:
Omitted fields: retain their current values.
ended_at: null: remove the end boundary.
Updating a single boundary: validate it against the existing value of the other boundary.
Invalid windows: return a clear error and leave the existing schedule configuration unchanged.
If this direction makes sense, I think I could try implementing this functionality.
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.
Background
The Web UI currently supports creating schedules with an activation window (
started_at/ended_at), but provides no way to edit them afterward.To adjust the start time, extend or remove the end time, or change the execution frequency, users have to delete the schedule and create a new one. However, deleting a schedule also deletes its associated execution sessions, resulting in the loss of execution history.
Proposal
Add an edit action to the schedule details view, allowing users to update existing schedule settings, including:
Saving changes should update and reschedule the existing task while preserving its ID and all execution history. Editing should retain the schedule’s stored timezone without introducing a timezone selector.
Current API limitations
The backend already provides
PATCH /schedule/{id}, but it does not supportstarted_at/ended_at. The frontend also has an update API wrapper and hook, but the UI does not expose an editing action.Additionally, PATCH currently silently ignores activation window fields and returns 200. For example, submitting a new
ended_atstill returns the old value. This can mislead callers into believing the update succeeded and should be addressed when adding support for these fields.Scope and update semantics
This proposal focuses on Web UI editing and the backend support it requires. Adding an agent update tool, introducing timezone selection, and changing unknown-field handling across all request models are outside its scope.
For activation window updates, the proposed semantics are:
ended_at: null: remove the end boundary.If this direction makes sense, I think I could try implementing this functionality.
All reactions