[email] Initial sync of an IMAP folder shows messages in retrieval order (ascending UIDs) and does not provide scroll affordance ('N new emails' topbar)

RESOLVED WORKSFORME

Status

RESOLVED WORKSFORME
5 years ago
4 years ago

People

(Reporter: Bebe, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

5 years ago
1. setup a email account (we used a IMAP Gmail one with more that 3 days of email history >100 emails)
2. wait for the emails to sync
3. take a look at the date of the first visible email on the screen (without scrolling)

Actual:
3. The first email shown is from 3 days ago

Expected:
3 we expect to see the last received email after setting up a new account
Best fix for this is probably to have the IMAP sync logic fetch clusters of message headers in decreasing windows.  So if we have UIDS 1:100, we fetch: 93:100, 85:92, 76:84, etc.  (This would result in UIDs showing up like: 93, 94, 95, 96, 97, 98, 99, 100, 85, 86, 87, 88, 89, 90, 91, 92, 76, 77, ...)

The recently landed new messages notification was not intended to deal with this type of situation, but it's the only UI fix-up we have available at this time.
Summary: email app doesn’t show the last emails by default → [email] Initial sync of an IMAP folder shows messages in retrieval order (ascending UIDs) and does not provide scroll affordance ('N new emails' topbar)
The virtual list scrolling implementation improved this situation so that during the first sync we'll end up at the top of the list.  So actual ends up as expected now.  This happened for v2.0 I believe.

There's still more we could do in terms of windowing the UID fetches, but I think we get into diminishing returns.  Also, this is something we wouldn't address until we get to conversations and in that case this type of issue will be considered in the context of the fresh implementation for that.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.