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 795181 - Refine conversation list loading and scrolling
Refine conversation list loading and scrolling
Status: RESOLVED OBSOLETE
Product: geary
Classification: Other
Component: ux
master
Other Linux
: Normal normal
: ---
Assigned To: Geary Maintainers
Geary Maintainers
: 713408 713409 749929 (view as bug list)
Depends on: 713150
Blocks:
 
 
Reported: 2018-04-12 02:38 UTC by Michael Gratton
Modified: 2021-07-05 13:25 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Michael Gratton 2018-04-12 02:38:22 UTC
Currently the way the conversation list scrolls is a bit suboptimal: Only n conversations are loaded up front. Scrolling down triggers more loading when you get close to/at the bottom, and the scrollbar doesn't give an indication of how many conversations are actually present. Also, there's no way for the user to determine if more messages are being loaded from the database, vs being loaded from the server (i.e. at the end of the vector) vs simply being at the bottom of the mailbox (i.e. no more to load).

The list should probably work somehow as follows:

 - Scrollbar indicate how many conversations are in the vector (i.e. cached locally)
 - Loading additional conversations should happen in the background in a way that doesn't cause scrolling to stutter
 - Scrolling to the bottom should indicate if the end of the vector has been reached (and hence more can be fetched from the server if desired) or the end of the actual mailbox has been reached
 - If the end of the vector has been reached, provide some way of triggering/indicating that more are being loaded from the server, or if offline that no more can be loaded

This might mean using some placeholders for conversations in the list that have not been loaded, and maybe lazy loading previews when enabled. We might want to have some footer item at the bottom when the end of the vector has been reached but there are (potentially) more conversations on the server. And it might be worth using rubberband-drag gestures for fetching older conversations (and newer ones when IDLE us not supported).
Comment 1 Michael Gratton 2018-04-12 02:39:33 UTC
Knowing how many conversations are present will likely require first-class support for conversations in the database, so adding a dependency on Bug 713150.
Comment 2 Michael Gratton 2018-04-12 02:40:15 UTC
*** Bug 713408 has been marked as a duplicate of this bug. ***
Comment 3 Michael Gratton 2018-04-12 02:40:39 UTC
*** Bug 713409 has been marked as a duplicate of this bug. ***
Comment 4 Michael Gratton 2018-04-13 01:21:33 UTC
*** Bug 749929 has been marked as a duplicate of this bug. ***
Comment 5 GNOME Infrastructure Team 2021-07-05 13:25:01 UTC
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org.
As part of that, we are mass-closing older open tickets in bugzilla.gnome.org
which have not seen updates for a longer time (resources are unfortunately
quite limited so not every ticket can get handled).

If you can still reproduce the situation described in this ticket in a recent
and supported software version, then please follow
  https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines
and create a new ticket at
  https://gitlab.gnome.org/GNOME/geary/-/issues/

Thank you for your understanding and your help.