Is your feature request related to a problem? Please describe.
Remote changes of properties of calendars should be synced in the background. This would make the auto-refresh complete now that we sync events and new calendars.
A bit of context: I didn't include this in auto-refresh PR mentioned below because there were some technical issues.
Here is the summary:
Changing calendars triggers the eventSources computed prop of CalendarGrid to be reevaluated
This triggers the options computed prop to be reevaluated
This triggers FullCalendar options to be reloaded by their internal Vue-to-React bridge
Problem: The bridge pauses rendering while reloading options to prevent rendering issues and race conditions.
This manifests in visual artifacts like flickering while the new events are asynchronously loaded. While the network request is in process, all events from the refreshed calendar will vanish and then reappear again. We are talking about a time span of a second or less depending on the network request.
So this is only a visual bug but an unpleasant one. We could potentially work around this by being a little more careful with the computed props that are directly passed to FullCalendar.
Describe the solution you'd like
Sync remotely changed properties of calendars without refreshing the page. This includes the display name, calendar color, enabled state etc.
Is your feature request related to a problem? Please describe.
Remote changes of properties of calendars should be synced in the background. This would make the auto-refresh complete now that we sync events and new calendars.
A bit of context: I didn't include this in auto-refresh PR mentioned below because there were some technical issues.
Here is the summary:
eventSources
computed prop ofCalendarGrid
to be reevaluatedoptions
computed prop to be reevaluatedProblem: The bridge pauses rendering while reloading options to prevent rendering issues and race conditions.
This manifests in visual artifacts like flickering while the new events are asynchronously loaded. While the network request is in process, all events from the refreshed calendar will vanish and then reappear again. We are talking about a time span of a second or less depending on the network request.
So this is only a visual bug but an unpleasant one. We could potentially work around this by being a little more careful with the computed props that are directly passed to FullCalendar.
Describe the solution you'd like
Sync remotely changed properties of calendars without refreshing the page. This includes the display name, calendar color, enabled state etc.
Describe alternatives you've considered
Don't sync properties.
Additional context
A nice follow-up to https://github.com/nextcloud/calendar/pull/6152.