At the moment Polari will not tell you much more except logging a debug message in the terminal, should you fail to connect to the IRC server.
There is not much actionable to be done from the UI, nor does it really indicate that anything is wrong. So for the last few weeks I have been working on improving the user experience when encountering errors.
My approach so far has been to use a combination of status indicators in the room list and display error notifications. Polari already has an in-app notification system, currently used for displaying
Connecting to irc.gnome.org.
However, the notifications are not really actionable and could therefore easily be replaced by a status indicator. Connecting to a server is now indicated using the sidebar. Furthermore, the sidebar can indicate the status of connecting to each room, if joining one for example would take more than the usual three seconds. If an error is encountered on joining a server or a room, this can be displayed via the status indicator as well.
The in-app notification system has been revamped to displaying error notifications instead. If Polari for example is unable to connect to a server because the server address has been misspelled, an error notification is shown when you visit any rooms connected to that server.
From the error one can press the ‘edit account’ button to edit the account. In the dialog a detailed error will explain what might have gone wrong and the dialog will highlight the entry you need to edit as well.
Another case could be that you have been banned from a room. Here a ‘Retry’ button is provided so you can try connecting to the room once you’ve solved the problem.
Finally an error is provided when Polari is unable to establish a safe connection to the server. The user can choose to continue anyway with the awareness that the connection is public, or leave the connection as-is.
The error handling branch currently handles around 19 errors associated with joining rooms and connecting to servers. Hopefully the groundwork which this branch provides to have error notifications means that error-handling easily can be expanded in the future when future features land in telepathy or in Polari.