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 (closed) 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.
Edit: in some extremely rare cases / unknown circumstances, it is also possible to encounter this error dialog (possibly it is also EDS-provided?), as it happened to me once while the GNOME nextcloud server caught on fire (and it is not even the correct error dialog, it's a "last resort" error dialog where the server is so broken that EDS wonders if you have the wrong password, even though nothing has changed on your account):
So far, the screenshots above are the two errors I've encountered somewhat frequently. 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.
For example, if you have a faulty writable remote calendar server (like CalDAVServer.com) and the backend encounters errors when trying to create events, you might get errors like these (only visible with Evolution's GUI, because GNOME Calendar doesn't show anything):
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.