Edit an event's repeat rule (both surfaces) #77
Labels
No labels
adr
android
area/calendar
area/design-system
area/i18n
area/jobs
area/offline
area/server
area/testing
bug
ci
duplicate
enhancement
help wanted
invalid
notifications
question
reliability
security
severity/low
severity/medium
tracking
web
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
eagraiclainne/app#77
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Let a member edit a recurring event's repeat rule, on both surfaces. Today the recurrence is fixed at creation: the event-edit flow deliberately hides the repeat control, so name, time, guests and description can change but the rule cannot.
Background
UpdateEventRequestcarries no repeat field, and the edit form (webNewEventForm, AndroidNewEventSheet) hides the repeat editor wheneditis set. Changing a rule mid-series is not a plain field update — it re-derives every future occurrence — so it was left out of the event-editing work (#61) on purpose.The hard part — this-one-vs-series semantics for a rule change
A rule change only makes sense at the series level, and it interacts with any one-off edits or cancellations already made to occurrences. Decide and document:
untildate editable on its own (the common, low-risk case) separately from the full rule?A reasonable first cut: allow editing the rule and the
untildate for the whole series from the series edit, keeping it simple, and defer "change from here forward" if it proves fiddly.Scope
EventService.Update(or a dedicated RPC) to accept a repeat rule, or a newSetRepeat-style event RPC. Needs aPermissionMatrixentry and likely an ADR (schema/behavior change to recurrence).RepeatEditorin the event edit form for a series, wired to the new capability.RepeatRuleEditorin the edit sheet.SplitOccurrencemachinery if "from here forward" is chosen.Definition of done
untildate) from the series edit, on web and Android.make checkpasses; verified on both surfaces against the live deploy.Decisions (2026-08-16): first cut is the full rule editable for the whole series (rule + until; the new rule re-derives the series from its start; "from here forward" deferred). On a rule change, per-occurrence edits and cancelled slots are kept where their dates survive under the new rule; orphaned ones are dropped. ADR to document both.
mainto v1.5.0