Skip to content

Block monthly series that start after the 28th - #491

Merged
jhodapp merged 2 commits into
mainfrom
series-dst-monthly-guard
Oct 21, 2026
Merged

jhodapp merged 2 commits into
mainfrom
series-dst-monthly-guard

Conversation

@jhodapp

@jhodapp jhodapp commented Oct 20, 2026

Copy link
Copy Markdown
Member

Description

Frontend half of the series daylight saving fix. Monthly series can no longer start on the 29th, 30th or 31st, which the backend now rejects. The manual test plan gains daylight saving cases.

Pairs with refactor-group/refactor-platform-rs#455.

Changes

  • validateRecurrence returns "Monthly sessions can't start on the 29th, 30th or 31st. Pick the 28th or earlier." when the first session's local day is after the 28th. The create form and the reschedule-series dialog both use it, so submit stays disabled.
  • The day is judged in the user's timezone, not UTC. A 7 PM Chicago session on the 28th is allowed.
  • docs/test-plans/resend_calendar_invite_manual_testing.md: Part D (D1–D6) covers series across a daylight saving change, checked in Google Calendar. Cleanup now deletes through the dashboard, so cancellations are checked too.

Screenshots / Videos Showing UI Changes (if applicable)

Helpful: the create dialog with Monthly on the 30th, showing the message and the disabled button.

Testing Strategy

  • npm run test: 2207 pass. New recurrence.test.ts cases cover days 29–31, the 28th, weekly/daily on the 31st, and local versus UTC day (Chicago and Tokyo). Switching the check to the UTC day fails them.
  • Part D was run live against rs#455 with a Chicago coach. All six cases passed in the app and in Google Calendar.

Concerns

None. No wire change.

@jhodapp jhodapp self-assigned this Oct 20, 2026
@jhodapp jhodapp added enhancement Improves existing functionality or feature bug fix Fixes a specific Issue labels Oct 20, 2026
@jhodapp jhodapp added this to the 1.0.0-beta4 milestone Oct 20, 2026
@jhodapp
jhodapp marked this pull request as ready for review October 20, 2026 21:09
@greptile-apps

greptile-apps Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge.

Summary

Adds a shared check that blocks monthly series starting after the 28th in the user's timezone.

  • Monthly series now require their first session to fall by the 28th.
  • The manual calendar plan now checks series across daylight-saving changes.

No actionable issues found. Review was based on source inspection; tests were not run.

Reviews (1) · Last reviewed commit: "docs(test-plans): daylight saving cases ..." · Reviewed by Greptile

@jhodapp
jhodapp merged commit eea3ea2 into main Oct 21, 2026
12 checks passed
@jhodapp
jhodapp deleted the series-dst-monthly-guard branch October 21, 2026 14:25
@github-project-automation github-project-automation Bot moved this from Review to ✅ Done in Refactor Coaching Platform Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug fix Fixes a specific Issue enhancement Improves existing functionality or feature

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

1 participant