GNOME Calendar goes into an inconsistent state / does not properly reconnect to evolution-calendar-factory after respawning it if it crashed
Summary
GNOME Calendar doesn't handle all the evolution-data-server or calendar subprocesses getting killed during Ragnarök, until you kill GNOME Calendar as well, leave it dead for a few minutes, and revive it during Ragnarøkkr.
Reproduction
Wielding Odin's spear, you can reproduce the mayhem thusly:
- Launch GNOME Calendar
- Launch gnome-system-monitor
- Search for evolution-calendar-factory, and kill any process named like that
- Try to continue using gnome-calendar
Actual results
GNOME Calendar still shows calendar items in the current month view, but
- as of version 43.1+: when you switch to another month, the month is blank (no events). Other weird issues may also occur.
- in old versions:
when you click to create an event, the event picker widget shows no label and only the pale blue circle color; when you click it, you see it is the local default/fallback "Personal" calendar that nobody wants to see. Other calendars are not shown there, although they are shown in the global calendars toggles popover.
Closing gnome-calendar and trying to re-launch it immediately does not solve the problem, as the process lingers along for a while. Fully killing gnome-calendar (or letting it time out) and restarting it works.
Expected results
GNOME Calendar should be able to try to automatically re-launch the backends and reconnect to them properly, when needed. If it wants to avoid spamming the backends, maybe it could show an infobar widget telling the user about this and offering to trigger the relaunch (or at worst, offering to restart the app).