Need a GUI to show and troubleshoot general errors and calendar problems occurring at runtime (i.e. HTTP error codes, incorrect parsing, deauthorizations, TLS / HTTPS certificate problems, etc.)
Original bug report from GNOME Bugzilla #749368 :
Just yesterday the TLS / SSL certificate of one of my calendars "On The Web" expired.
The result is that gnome-calendar does not display that calendar anymore. However there is no indication to the user that there is a problem with one of the calendars. So the user might miss this entirely and thus might miss an appointment.
Similar bug report #642 (closed) from @adamd:
I just attempted to delete several events from a calendar that's hosted at Google. Unfortunately some problems occurred: in the terminal window where I launched gnome-calendar, I can see:
GcalManager-WARNING **: 06:53:23.854: Error removing event: Cannot remove calendar object: Failed to delete resource: HTTP error code 403 (Forbidden)
GcalManager-WARNING **: 06:53:23.856: source_credentials_required_cb: Failed to authenticate 'Adam Dingle': Failed with HTTP error 403: Forbidden
GcalManager-WARNING **: 06:53:25.184: source_credentials_required_cb: Failed to authenticate 'Adam Dingle': Failed with HTTP error 403: Forbidden
GcalManager-WARNING **: 06:53:30.961: source_credentials_required_cb: Failed to authenticate 'Adam Dingle': Failed with HTTP error 403: Forbidden
...But in the graphical interface these errors weren't reported at all. I think that any network error should be reported through the GUI - otherwise an operation will seem to fail with no explanation (or, worse, it may seem that it succeeded when actually it did not).
And @skewty said:
I also experienced problems with a NextCloud server and nothing was reported in the GUI.
@jfft:
Problem scoping notes for designers, byI already have a fix for issue #1177 that exposes errors when adding a whole new webcal/caldav link in the "Add Calendar" dialog/page, but that's just the "initial encounter", who knows what may happen next afterwards, in the field after some days/months or in the context of a bad network/a hostile network/etc. i.e. "You successfully added a calendar once, and then Murphy's law waits for you at the airport / at DEFCON / in the middle of the woods with a shitty high-latency EDGE / 2G / satellite connection, or some sysadmin moves the server's locations around, or some devops cowboy messes with URLs and auth, or…"
Note: Calendar already shows a standard (Evolution-like, probably EDS-provided) error dialog when an invalid SSL certificate is detected (i.e. MitM attacks), but that is a very special scenario (if you're wondering what the "Cancel" button does, it "Temporarily rejects the certificate", and there's a tooltip mentioning that when hovering it):
..But that's about it. We only show invalid certificate errors. To the best of my knowledge, we are currently not handling any other unpredictable problems; in those cases, it does nothing at all in the UI, it just silently fails in the background.
We should surface problems "elegantly"; though also not permanently if it's a transient issue that resolves itself (Evolution has been guilty for years of combo-chain putting ten error infobars one-after-another and not removing them by itself).
If you can think of a general UI for surfacing/handling such problems in GNOME Calendar, it would be very useful for implementation.
Things like:
- A login/account credentials have expired?
- Any weird unforeseen error (in the backends, network/protocol errors, etc.) that may occur later at runtime after initially successfully adding a calendar/account
If we handled this in ways that are more humane and helpful for users to troubleshoot any such situations, it would solve (and thus close) a ton of issues (many of which linked below) and make support and debugging much easier.