Skip to content

fix(web): a scheduled task with a cleared run time no longer saves as 09:00 - #36789

Merged
juliusmarminge merged 4 commits into
mainfrom
factory/pr-29870-a1794667227
Nov 14, 2026
Merged

juliusmarminge merged 4 commits into
mainfrom
factory/pr-29870-a1794667227

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Nov 14, 2026 •

Copy link
Copy Markdown
Member

Nothing needed changing this round. All 8 required checks passed on c52ab58. The review bots left no line comments and no reviews. Macroscope's only comment is an approvability verdict ('Needs Human Approval'). It reports no defect: it asks a human to confirm that clearing a fixed run time should block saving instead of silently saving 09:00. That is the pending maintainer decision the brief already preserves, so it is left for the maintainer. The fix itself is unchanged: in the scheduled task form, a fixed-time draft with an empty time now fails validation with 'Invalid run time: Pick a time.' instead of being saved as 09:00. New tasks still start at 09:00.

Supersedes #29870. The change is @saphid's; their commits are kept.

Reproduction on main

Reproduced on main at cebdf39:

  1. Settings → Scheduled tasks → New task: name 'Afternoon check', prompt 'Say hello', schedule 'At a time', Run at 14:30 (shown as 02:30 PM), default weekdays, Create task. The list showed 'Weekdays at 14:30 UTC'. 2) Actions → Edit: the Run at field showed 14:30. I clicked the hour segment and pressed Backspace, Tab, Backspace, Tab, Backspace; the field showed '--:-- --' and input.value was ''. Save task: the editor closed with no error or toast, and the list showed 'Weekdays at 09:00 UTC'. After a full page reload it still showed 'Weekdays at 09:00 UTC', so the server persisted it. 3) Edit, set back to 14:30, Save: the list showed 14:30 again. Edit, clicked only the minutes segment, Backspace once; the field showed '02:-- PM'. Save task: the editor closed with no error, and the list showed 'Weekdays at 09:00 UTC'. Expected per the PR: an 'Invalid run time / Pick a time.' error, the editor stays open, and 14:30 is kept. Observed: the cleared or incomplete time is silently replaced with 09:00 and saved. This matches timeOfDay: draft.timeOfDay || "09:00" in apps/web/src/components/settings/scheduledTasksSettings.logic.ts on main.

Evidence

Real web app, Chromium 156 on Linux, 1280×800, light theme, UTC; fresh synthetic data on each commit. scenarios:prove exited 0: fails on base and passes on head.

Created Afternoon check with prompt Say hello, weekdays at 14:30. Edited and cleared all time segments using Backspace/Tab, saved, and reloaded. Restored 14:30, cleared only minutes, saved, and reloaded again. Base silently persisted 09:00 for both edits. Head showed “Invalid run time / Pick a time.”, kept the editor open, and preserved 14:30.

Capture Before — c0ee5a1f5f After — c52ab5802e
Cleared time before save Before: cleared time After: cleared time
Cleared time after save Before: saves 09:00 After: validation error and editor stays open
Cleared time after reload Before: persisted 09:00 After: preserved 14:30
Incomplete time before save Before: missing minutes After: missing minutes
Incomplete time after save Before: saves 09:00 After: validation error and editor stays open
Incomplete time after reload Before: persisted 09:00 After: preserved 14:30
Recording Before interaction After interaction

Scenario driver, uploaded without committing.

Tests

No new commands run this round. The PR's 8 required CI checks passed on c52ab58. The earlier round ran: vp test run src/components/settings/scheduledTasksSettings.logic.test.ts (26 passed) and vp run check:changed (all pass).

Not in this change

  • Macroscope's 'Needs Human Approval' verdict: whether removing the 09:00 fallback is the intended product behavior is for a maintainer to confirm.

Who did the work

  • Written by Claude Opus 5.5, in Claude Code
  • Reviewed by GPT-6.1 Sol, in Codex, and by Claude Opus 5.5, each on its own
  • Proof captured by GPT-6.1 Sol and checked by Claude Opus 5.5

Run by the t3code factory in T3 Code.

saphid and others added 4 commits November 3, 2026 13:38
… 09:00

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	apps/web/src/components/settings/scheduledTasksSettings.logic.test.ts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted Author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Nov 14, 2026
@macroscopeapp

macroscopeapp Bot commented Nov 14, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs Human Approval

Macroscope's review found this PR requires human approval — Clearing a scheduled task’s run time now blocks saving rather than silently selecting 09:00. Removing that existing fallback requires confirmation of the intended product behavior; the initial form time remains unchanged.

You can add or adjust custom eligibility rules. Learn more.

@coderabbitai

coderabbitai Bot commented Nov 14, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

Fixed schedules now fail validation when the time is empty. Schedule conversion uses the draft time as provided instead of substituting 09:00. Tests cover time retention and rejection of an empty time.

Changes: Fixed-time schedule validation

Layer / File(s) Summary
Validate and convert fixed-time schedules
apps/web/src/components/settings/scheduledTasksSettings.logic.ts, apps/web/src/components/settings/scheduledTasksSettings.logic.test.ts
Validation reports an error when a fixed schedule has no time. Conversion uses the draft time unchanged. Tests cover a stored time of 14:30 and an empty time.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: t3dotgg, shawk08033

Merge Risk: Minimal · up to c52ab

Clearing the run time on a scheduled task now shows a validation error instead of silently saving at 09:00. The change is narrow and tested, and no merge-blocking risk is evident.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title names the change: a scheduled task with a cleared run time no longer saves as 09:00. The raw summary confirms the logic change removes the 09:00 fallback for empty fixed-schedule times and a…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description check Passed The description covers the problem, the change, scope, and verification, and it follows the repository template. It explains that a fixed-time draft with an empty time now fails validation with 'Inval…
Full details: Title check

Explanation

The title names the change: a scheduled task with a cleared run time no longer saves as 09:00. The raw summary confirms the logic change removes the 09:00 fallback for empty fixed-schedule times and adds validation for it. The title is specific, follows the conventional commit format, and fits the main change.

Full details: Description check

Explanation

The description covers the problem, the change, scope, and verification, and it follows the repository template. It explains that a fixed-time draft with an empty time now fails validation with 'Invalid run time: Pick a time.' instead of saving as 09:00. It reproduces the bug on main and includes before/after evidence (screenshots and a recording). It links the superseded PR #29870. Minor gaps: the Scope section does not link a tracked issue or explain why no issue is needed, and the Problem section does not clearly state the expected behavior in one sentence. The template asks for these items. The author also includes a note on an open maintainer question (Macroscope 'Needs Human Approval'), which is useful context.

Finishing Touches

Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 1fcb245 and c52ab58.

Files selected for processing: 2

  • apps/web/src/components/settings/scheduledTasksSettings.logic.test.ts
  • apps/web/src/components/settings/scheduledTasksSettings.logic.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 3 remain after this review.

@juliusmarminge
juliusmarminge merged commit b5df3c1 into main Nov 14, 2026
37 checks passed
@juliusmarminge
juliusmarminge deleted the factory/pr-29870-a1794667227 branch November 14, 2026 15:23
Pipyakas pushed a commit to Pipyakas/t3code that referenced this pull request Nov 15, 2026
… 09:00 (pingdotgg#36789)

Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
(cherry picked from commit b5df3c1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:trusted Author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants