WIP: Invert folder class hierarchy
This aims to greatly simplify remote session handling for folders, simplify folder implementation in general (especially for local folders), and simplify use of folder objects by both the client and the engine by doing the following:
- Flip the folder hierarchy so
Geary.Folderrepresents a generic (possibly local or remote) folder, and adding a new
RemoteFolderclass that explicitly represents a remote folder
- Cutting down the remote folder API to something minimal that abstracts away remote session management, allowing
close_asyncmethods to be removed
- Seems to work fine when connected, completely untested when starting or transitioning to/from offline
- Implement explicit vector expansion
- Replace conversation monitor's implicit "load more" when vector is incomplete and conversation list is scrolled to the bottom with an explicit action?
- Subsume email prefetcher and flag updater into sync method?
- Remove all remote components from listing email in minimal folder's replay queue ops?