GNOME Bugzilla – Bug 795181
Refine conversation list loading and scrolling
Last modified: 2021-07-05 13:25:01 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).
Knowing how many conversations are present will likely require first-class support for conversations in the database, so adding a dependency on Bug 713150.
*** Bug 713408 has been marked as a duplicate of this bug. ***
*** Bug 713409 has been marked as a duplicate of this bug. ***
*** Bug 749929 has been marked as a duplicate of this bug. ***
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.