After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 709846 - No feedback when connection to server fails
No feedback when connection to server fails
Status: RESOLVED FIXED
Product: polari
Classification: Applications
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Polari maintainers
Polari maintainers
: 709893 709985 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-10-10 17:40 UTC by William Jon McCann
Modified: 2017-10-28 19:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
joinDialog: Connect to server when server is selected (1.28 KB, patch)
2015-04-26 09:43 UTC, Bastian Ilsø
none Details | Review
joinDialog: Connect to server when server is selected (1.18 KB, patch)
2015-04-26 09:52 UTC, Bastian Ilsø
none Details | Review
[WIP] joinDialog: use channels on server for name Completion (2.73 KB, patch)
2015-04-26 09:56 UTC, Bastian Ilsø
none Details | Review
joinDialog: Use channels on server for name completion (2.28 KB, patch)
2015-05-06 16:41 UTC, Bastian Ilsø
none Details | Review
joinDialog: Use channels on server for name completion (11.17 KB, patch)
2015-05-25 21:10 UTC, Bastian Ilsø
none Details | Review
app: Don't treat network unavailability as app error (1.30 KB, patch)
2015-08-13 16:36 UTC, Bastian Ilsø
committed Details | Review
app: Always save channels requested by the user (1.52 KB, patch)
2015-08-13 16:36 UTC, Bastian Ilsø
committed Details | Review
Indicate server status in the roomList instead (17.37 KB, patch)
2015-08-13 16:37 UTC, Bastian Ilsø
committed Details | Review
ConnectionDetails: higlight entry and display error (17.86 KB, patch)
2015-08-13 16:38 UTC, Bastian Ilsø
committed Details | Review

Description William Jon McCann 2013-10-10 17:40:44 UTC
When I try to connect to a room on irc.gnome.org it is failing with no feedback. This is what I see in Empathy.

What I would rather see is:

New room
 * We connect to the server when the user selects that server in the list of available servers (if not already connected)
 * Use the list of available channels on the server to help the user select the room
 * Use the room list to validate the user's entry
 * Show error messages directly in the dialog
 * When the Join button is clicked create a new entry in the sidebar and select it.
 * If any additional setup or connecting needs to occur show it as a notification or infobar in the room's view.

Existing room
 * If showing a room that has already been created and used (from sidebar), we immediately switch to it and display the existing log
 * If any additional setup or connecting needs to occur show it as a notification or infobar in the room's view.
Comment 1 Florian Müllner 2013-10-11 12:16:33 UTC
*** Bug 709893 has been marked as a duplicate of this bug. ***
Comment 2 Florian Müllner 2013-10-12 23:58:13 UTC
*** Bug 709985 has been marked as a duplicate of this bug. ***
Comment 3 Bastian Ilsø 2015-04-26 09:43:03 UTC
Created attachment 302362 [details] [review]
joinDialog: Connect to server when server is selected

patch to adress point 1:
"We connect to the server when the user selects that server in the list of available servers (if not already connected)".
Comment 4 Bastian Ilsø 2015-04-26 09:52:13 UTC
Created attachment 302363 [details] [review]
joinDialog: Connect to server when server is selected

point 1: quick update
Comment 5 Bastian Ilsø 2015-04-26 09:56:29 UTC
Created attachment 302364 [details] [review]
[WIP] joinDialog: use channels on server for name Completion

proposal for point 2:
"Use the list of available channels on the server to help the user select the room"

It's all comments, I just wanted to give an insight on what I had in mind for this so far. Am I going in the right direction for this?

Also had an idea that point 2 possibly could be extended so that you also have auto completion when writing "/join <room-name>" in chatView maybe.
Comment 6 Bastian Ilsø 2015-05-06 16:41:58 UTC
Created attachment 302989 [details] [review]
joinDialog: Use channels on server for name completion

with this patch, polari fetches a list of rooms from the currently selected server and appends them to the GtkEntryCompletion object for our 'Room Name' GtkEntry.

I also took the liberty to create the function '_appendToComboModel' to reduce code duplication. However, at the moment I am not handling duplicate entries inserted from the log and the server - I don't know if that is worth the trouble?
Comment 7 Florian Müllner 2015-05-06 19:11:52 UTC
Review of attachment 302363 [details] [review]:

Just like for normal channels, this is already done implicitly when requesting the room list
Comment 8 Florian Müllner 2015-05-06 19:20:19 UTC
(In reply to Bastian from comment #6)
> I also took the liberty to create the function '_appendToComboModel' to
> reduce code duplication.

Sure, however ...


> However, at the moment I am not handling duplicate
> entries inserted from the log and the server - I don't know if that is worth
> the trouble?

... the simplest solution here would be to *replace* the history-based completion instead of adding to it - by definition, rooms that are in the history and not the room list are empty, so not too interesting anyway (I have a couple of those that I used for testing at one point or another, but I still don't see the usefulness)
Comment 9 Bastian Ilsø 2015-05-25 21:10:27 UTC
Created attachment 303956 [details] [review]
joinDialog: Use channels on server for name completion

proof-of-concept / wip. I'm battling a few remaining issues:

* There is a significant delay between connecting to freenode and fetching its roomlist. The join dialog is not indiciating anything within those 10 seconds.

* If you open the join Dialog fast twice (before it manages to connect for the first time), then you break fetching the roomlist.. not sure what to do here.

* I have some problems aligning the text 'loading roomlist' label with the spinner. The GtkBox for the spinner seem to get unnecessarily wide enough to push the GtkLabel to the right.
Comment 10 Elad Alfassa 2015-06-16 10:50:36 UTC
On large networks, fetching the channel list would take a lot of time. 

Additionally, users might want to join hidden channels (you can set a special flag on your IRC channel to make it hidden from the channel list). Using the list to "validate" the channel input would mean users won't be able to join hidden channel or create new channel.
Comment 11 Bastian Ilsø 2015-08-03 07:52:05 UTC
(In reply to William Jon McCann from comment #0)
>  * Show error messages directly in the dialog

I created the following branch do adress this:
https://git.gnome.org/browse/polari/log/?h=wip/bastianilso/error-handling

The branch is documented at:
https://blogs.gnome.org/bastian/2015/08/02/error-handling-in-polari/


Will get back to the join dialog later.
Comment 12 Bastian Ilsø 2015-08-13 16:36:04 UTC
Created attachment 309221 [details] [review]
app: Don't treat network unavailability as app error

If we receive a disconnect error and the network is
unavailable, then the error is not specific to Polari.
Comment 13 Bastian Ilsø 2015-08-13 16:36:45 UTC
Created attachment 309222 [details] [review]
app: Always save channels requested by the user

When the user joins a room it makes sense to
also join it next time polari is started, even
if the room was never successfully connected to.
Comment 14 Bastian Ilsø 2015-08-13 16:37:22 UTC
Created attachment 309223 [details] [review]
Indicate server status in the roomList instead

Instead of displaying notifications when connecting to
a server, use less attention grabbing status indicators in
the roomlist for displaying status of the servers
individually.
Comment 15 Bastian Ilsø 2015-08-13 16:38:03 UTC
Created attachment 309224 [details] [review]
ConnectionDetails: higlight entry and display error

When a error requires the user to edit the details of the
connection, guide the user to the errornous entry using a
higlight and display a detailed description of the network error
in the bottom.
Comment 16 Florian Müllner 2017-10-28 19:19:21 UTC
(In reply to Bastian Ilsø from comment #9)
> Created attachment 303956 [details] [review] [review]
> joinDialog: Use channels on server for name completion

This patch has been obsoleted by including the channel list in the join dialog itself. As the other patches have landed, I think we can consider this fixed.