Skip to content

Feature/custom cadences#196

Open
olaservo wants to merge 3 commits into
aaronpk:mainfrom
olaservo:feature/custom-cadences
Open

Feature/custom cadences#196
olaservo wants to merge 3 commits into
aaronpk:mainfrom
olaservo:feature/custom-cadences

Conversation

@olaservo

Copy link
Copy Markdown

Some MCP groups meet every N weeks on a custom cadence that doesn't match either weekly or bi-weekly (such as MCP Apps). This PR adds an option to set recurring events to every N weeks.

The workaround we use today: we create a weekly meeting, and then delete the occurrences we don't want. That is a little awkward (and the events also tend to re-create themselves which cases confusion).

Side note, if you'd prefer I try to fix the problem where deleted events come back from the dead, let me know and I can dig into that one instead. That would let us keep using the workaround rather than potentially cluttering the UI with too many niche features.

Thanks!

olaservo and others added 3 commits June 18, 2026 07:05
Adds a flexible "Every N weeks on [Day]" recurring-event option alongside
the existing weekly/biweekly/monthly/yearly presets, so templates can repeat
at any week interval (e.g. every 3 weeks).

- Migration: add nullable recurrence_interval_count to events + event_revisions
- Event model: new weekly_n case in recurrence_description /
  recurrence_date_interval (P{n}W) / recurrence_end_datetime (n*5 week
  lookahead); register recurrence_interval_count as editable
- EventController: persist + validate the count (required_if weekly_n) in
  create_event and save_event
- Views: dropdown option + revealed number input, with JS toggle/restore
- Tests: unit coverage for interval, lookahead window, and weekly fallback

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Generated recurrence instances are replicated from the template, which
also copied recurrence_interval_count. The instance's recurrence_interval
was already nulled, so the leftover count was an orphan value (never read,
since all recurrence methods guard on recurrence_interval). Null it
alongside recurrence_interval for consistent instance data.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The count input in the recurring-event details form submits even when
hidden, so saving a template with a non-weekly_n cadence stored a stray
count. Null it out unless the interval is weekly_n, and fall back to 1
in the description when the count is missing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant