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 775239 - Show indicator if there is prolonged waiting time when joining rooms
Show indicator if there is prolonged waiting time when joining rooms
Status: RESOLVED FIXED
Product: polari
Classification: Applications
Component: general
3.23.x
Other Linux
: Normal normal
: ---
Assigned To: Polari maintainers
Polari maintainers
Depends on:
Blocks:
 
 
Reported: 2016-11-28 15:00 UTC by Bastian Ilsø
Modified: 2017-11-15 10:30 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
mockup for integrating new room states to the sidebar. (195.23 KB, image/png)
2016-11-28 15:00 UTC, Bastian Ilsø
  Details
roomList: show indicator while channel is ensured (6.10 KB, patch)
2016-11-30 19:15 UTC, Bastian Ilsø
none Details | Review
roomList: show indicator while channel is ensured (6.20 KB, patch)
2016-11-30 21:05 UTC, Bastian Ilsø
none Details | Review
roomList: show indicator while channel is ensured (6.26 KB, patch)
2016-12-01 19:23 UTC, Bastian Ilsø
none Details | Review
roomList: Show indicator while channel is ensured (6.47 KB, patch)
2017-10-28 19:02 UTC, Florian Müllner
none Details | Review
roomList: Show indicator while channel is ensured (6.45 KB, patch)
2017-11-10 19:18 UTC, Florian Müllner
committed Details | Review

Description Bastian Ilsø 2016-11-28 15:00:03 UTC
Created attachment 340911 [details]
mockup for integrating new room states to the sidebar.

There is a variety of room states that we currently don't handle. 

Large rooms might take longer than expected to join. We currently show a spinner to indicate that we are connecting to the server, but there is no indication that Polari is working while we are in the intermediate state of joining rooms. Furthermore, some rooms are joined quicker than others.

If we attempt to join a room and fail we also need to have some error handling in place so that attempts can be made to join the room again later.

Lastly it is possible that a room can require a password in order to enter and this would be nice to handle as well.


The attached mockup attempts to address these issues by adding new room states to the eventBox we use for displaying notifications in the sidebar. The mockup also illustrates how error handling and password handling could be handled with the use of infobars.
Comment 1 Bastian Ilsø 2016-11-30 19:12:53 UTC
After talking to florian we decided to split this bug into several. I filed a bug 775256 to cover the error message issue. Bug 775250 covers showing a spinner in the userList button while joining a room. Bug 775256 covers displaying error messages if we fail to join a room.

This bug will just focus on the problem that large rooms might take longer than expected to join for now.
Comment 2 Bastian Ilsø 2016-11-30 19:15:13 UTC
Created attachment 341084 [details] [review]
roomList: show indicator while channel is ensured

After connecting to the network, rooms often take
some time before they are joined. Show a "content-loading"
symbol next to each room if the room takes
more than 3 seconds to ensure.
Comment 3 Bastian Ilsø 2016-11-30 20:01:53 UTC
Note to self: there is a bug currently in the patch. in some cases the indicator doesn't disapear once the room has been joined.
Comment 4 Bastian Ilsø 2016-11-30 21:05:33 UTC
Created attachment 341089 [details] [review]
roomList: show indicator while channel is ensured

So turns out i forgot to check if the channel existed inside the timeout loop itself. If a channel came to existence in-between the check and the start of the timeout loop, the channel would end up with the content-loading indicator even though the room was joined.

After connecting to the network, rooms often take
some time before they are joined. Show a "content-loading"
symbol next to each room if the room takes
more than 3 seconds to ensure.
Comment 5 Bastian Ilsø 2016-12-01 19:23:42 UTC
Created attachment 341175 [details] [review]
roomList: show indicator while channel is ensured

Another update: Realized that we probably want to cover the case where you join the room after you connected to the server as well.

After connecting to the network, rooms often take
some time before they are joined. Show a "content-loading"
symbol next to each room if the room takes
more than 3 seconds to ensure.
Comment 6 Florian Müllner 2017-10-28 19:02:56 UTC
Created attachment 362454 [details] [review]
roomList: Show indicator while channel is ensured

Sorry this fell through the cracks. Overall looks good to me - if we still want this, I rebased the patch to master and fixed some minor issues (disconnect a signal, updated coding style, whitespace issues).
Comment 7 Florian Müllner 2017-10-28 19:09:54 UTC
Review of attachment 362454 [details] [review]:

::: src/roomList.js
@@ +93,3 @@
     }
 
+    _getConnectionStatus() {

This could be moved outside the class as a helper function and be shared instead of duplicating the code
Comment 8 Florian Müllner 2017-11-10 19:18:59 UTC
Created attachment 363372 [details] [review]
roomList: Show indicator while channel is ensured

Rebased to master.
Comment 9 Florian Müllner 2017-11-15 10:30:38 UTC
Attachment 363372 [details] pushed as e3b1682 - roomList: Show indicator while channel is ensured

I ran the patch by Jakub and he likes it, so I merged it for 3.27.2:
https://gitlab.gnome.org/GNOME/polari/merge_requests/19