Revamp mailbox management so that reloading of the whole folder tree is not needed

This commit is contained in:
djmaze 2021-12-08 11:06:42 +01:00
parent 5fdc38a40d
commit 2719f08e26
8 changed files with 67 additions and 60 deletions

View file

@ -207,21 +207,17 @@ class RemoteUserFetch extends AbstractFetchRemote {
* @param {?Function} fCallback
*/
foldersReload(fCallback) {
clearTimeout(this.foldersTimeout);
this.abort('Folders')
.post('Folders', FolderUserStore.foldersLoading)
.then(data => {
data = FolderCollectionModel.reviveFromJson(data.Result);
data && data.storeIt();
fCallback && fCallback(true);
// Repeat every 15 minutes
this.foldersTimeout = setTimeout(() => this.foldersReload(), 900000);
})
.catch(() => fCallback && setTimeout(() => fCallback(false), 1));
}
foldersReloadWithTimeout() {
this.setTrigger(FolderUserStore.foldersLoading, true);
clearTimeout(this.foldersTimeout);
this.foldersTimeout = setTimeout(() => this.foldersReload(), 500);
.catch(() => fCallback && setTimeout(fCallback, 1, false));
}
/*