When the sync fail, store the previously downloaded data in memory so that on next retry we don't have to re-download everything.
When we run into 429 during a message download, do not cancel the whole batch and switch to a sequential downloader to avoid API overload.