✨ Render recurring grid events (readonly)
User Story
As a user, I want to view the recurring events I made in Google Calendar in Compass, so that I can see all my events in one place and get a more complete understanding of my schedule.
Acceptance Criteria
- [x] Renders recurring all day events
- [x] Renders recurring timed events
- [x] When clicking a recurring event is rendered that says "You can't edit recurring events in Compass yet."
- [ ] When a recurring event is changed in Google Calendar, it's updated correctly in Compass
Editing and creating recurring events are out-of-scope. Those are part of #226 and #230
Implementation Guidance
Currently the first instance of a recurring event is rendered, but subsequent instances are not rendered. To get all instances, you may just need to update the .list query to set singleEvents to true, which will expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. This will result in only changing one instance of a recurring event.
- NOTE: After this change, users may need to resync their calendar data in order to get all their recurring events. See if there's an easy way to get recurring events to work without requiring the user to do anything
Resources
https://developers.google.com/calendar/api/concepts/events-calendars#recurring_events
To better understand how Google Calendar implements recurring events:
- Create some recurring events in your Google Calendar
- Go to Google Calendar's API explorer and sign in with the same account you created the events in
- Select
events > listfrom the method dropdown - Select
falsefor thesingle eventsdropdown - See the
recurrenceobject in the result set
I can work on this,
should rendering them located in the left sidebar? I guess there are only recurring events and timed events (apart from someday events), and we would like to see them all under their respective headings in the sidebar..?
Hey @MrPand-21, thanks for volunteering. This is actually a potentially complicated one that isn't fully documented very well here. I'm afraid we shouldn't have you start on it given those two factors. I will continue to refine it. If you're still really keen on this one, we can revisit after you wrap up #229
Descoped custom RRule feature into #383, so closing this