113
edits
Changes
Added related bugs and milestones sections
Although poor handling of MIME parts is a major obstacle to minimising bandwidth usage in TB it is also the most difficult to address. To get immediate results a low-hanging fruit approach is proposed, in rough order of priority:
1) Add on/off/on-demand features to auto-sync so that giving user can have full control of when sync takes place
2) User configurable auto-syncs strategies to prioritise and include/exclude messages downloaded by auto-sync
: a) Caching of large MIME parts e.g. attachments
: b) Support for offline storage of MIME parts
=== Related Bugs ===
Implementing these features, particularly 3a) and 3b), will have the side benefit of fixing (or partly fixing) a number of existing bugs related to messages or message parts being repeatedly downloaded:
* {{bug|345832}} - IMAP attachments preloading (not on demand)
* {{bug|439731}} - Reloading of read messages when using IMAP account (enable disk cache)
* {{bug|405437}} - IMAP mail are not cached for offline use if message size is bigger than mail.imap.mime_parts_on_demand_threshold
=== How To Do It ===
With the exception of on-demand sync 1) and 2) can be implemented using strategies. These features and more will be supported in an extension, 'Incommunicado' (see below).
On-demand auto-sync (an oxymoron I know) however requires some development. [[User:Emre|Emre]] has proposed the following implementation:
* Add a new operation mode (lets say on-demand) to nsAutoSyncManager.
* Add new method to nsAutoSyncManager to explicitly tell to re-prioritize the queue.
* When running in this mode, nsAutoSyncManager should keep downloading all pending messages until either it is all done, or the user explicitly says STOP.
== Incommunicado Extension ==