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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant