geary:mjog/invert-folder-class-hierarchy

Last commit made on 2021-03-07
Get this branch:
git clone -b mjog/invert-folder-class-hierarchy https://git.launchpad.net/geary

Branch merges

Branch information

Name:
mjog/invert-folder-class-hierarchy
Repository:
lp:geary

Recent commits

5351acc... by Michael Gratton

engine: Ensure that MinimalFolder email counts are always updated

Any call to `ImapDB.Folder.create_or_update` needs to be followed by
updating the folder's email counts otherwise, addition, removal or
flag changes could put the numbers out.

5bc7f48... by Michael Gratton

fixup expand vector op

d9f061e... by Michael Gratton

client: Update required email flags and preview loading

Add an explicit load step when displaying a conversation in the
conversation viewer for loading email with previews, so that the preview
requirement can be removed from the fields passed to the conversation
monitor, and hence email will be displayed even when not yet downloaded.

Update ConversationMessage previews when messages are fully loaded so
their previews will be available if first loaded without them.

7c12b04... by Michael Gratton

engine: Update ConversationMonitor fill handling

Simplify the fill handling code, introduce and explicit window size
setting method since it's a potentially expensive operation. Expand the
vector if the folder is a remote and looks like it should have enough
email to do so. Ensure operations that should be checking the window
afterwards are.

fc69791... by Michael Gratton

engine: Fix loading conversations with many partial emails

When loading email by range, `ConversationMonitor` must load more when
partials are encountered so as to be able to satisfy the requested
number of emails to load - otherwise `FillOperation` won't be able to
determine when to continue loading email to fill the window.

02ad08e... by Michael Gratton

engine: Stop updating RemoteFolder.remote_properties for local changes

Now the contract for `remote_properties` specifies it's only updated
by the remote, stop updating when local changes occur (e.g. an email
being updated, or being marked read).

51da5e8... by Michael Gratton

engine: Add RemoteFolder.is_connected property

61d6d68... by Michael Gratton

engine: Better specify contract for RemoteFolder properties

e88e659... by Michael Gratton

engine: Fix null critical on folder shutdown

Don't actually execute close ops in `ReplayQueue` since the remote
will be null, but the method requires a non-null value.

9f1cf1a... by Michael Gratton

engine: Remove now unused code in MinimalFolder and ImapDB.Folder