Long running tasks dispatch actions with outdated data that overwrite changes (messages seen, deleted...)
Actions:
[x] services/message#resetFolderMessagesCache: updateCache in partial batch message processing should remove messages not included within batch range (max-min) from store -> #183
[x] Messages under an optimistic operation (setSeen, setFlagged, moved, deleted...) should be locked -> #206
Messages removed from a folder cache should be flagged as "removed", should only be deleted with setFolderCache action
Folder cache should maintain a record of the last time it was touched. setFolderCache action should only be triggered if this value matches the initial value (Messages modified since batch sync start should be flagged in cache to prevent their update)
Messages not included within batch range (max-min) in partial updates should be removed from cache.
Message batch [{100},{98},{95}] -> Messages 99, 97 and 96 should be removed.
Messages modified since batch sync start should be flagged in cache to prevent their update
Long running tasks dispatch actions with outdated data that overwrite changes (messages seen, deleted...)
Actions:
Messages removed from a folder cache should be flagged as "removed", should only be deleted with setFolderCache actionFolder cache should maintain a record of the last time it was touched. setFolderCache action should only be triggered if this value matches the initial value (Messages modified since batch sync start should be flagged in cache to prevent their update)