mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-10-09 04:44:32 +08:00
[iso-core] Fix IMAPConnection.openBox
Set _isOpeningBox to true at the right moment
This commit is contained in:
parent
606dd6ea4b
commit
0cf6027482
1 changed files with 9 additions and 9 deletions
|
@ -268,6 +268,13 @@ class IMAPConnection extends EventEmitter {
|
||||||
return this._imap.serverSupports(capability);
|
return this._imap.serverSupports(capability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getLastOpenDuration() {
|
||||||
|
if (this._isOpeningBox) {
|
||||||
|
throw new RetryableError('IMAPConnection: Cannot operate on connection while opening a box.')
|
||||||
|
}
|
||||||
|
return this._lastOpenDuration;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return {Promise} that resolves to instance of IMAPBox
|
* @return {Promise} that resolves to instance of IMAPBox
|
||||||
*/
|
*/
|
||||||
|
@ -281,9 +288,9 @@ class IMAPConnection extends EventEmitter {
|
||||||
if (!refetchBoxInfo && folderName === this.getOpenBoxName()) {
|
if (!refetchBoxInfo && folderName === this.getOpenBoxName()) {
|
||||||
return Promise.resolve(new IMAPBox(this, this._imap._box));
|
return Promise.resolve(new IMAPBox(this, this._imap._box));
|
||||||
}
|
}
|
||||||
this._isOpeningBox = true
|
|
||||||
this._lastOpenDuration = null;
|
|
||||||
return this._withPreparedConnection(async (imap) => {
|
return this._withPreparedConnection(async (imap) => {
|
||||||
|
this._isOpeningBox = true
|
||||||
|
this._lastOpenDuration = null;
|
||||||
const before = Date.now();
|
const before = Date.now();
|
||||||
const box = await imap.openBoxAsync(folderName, readOnly)
|
const box = await imap.openBoxAsync(folderName, readOnly)
|
||||||
this._lastOpenDuration = Date.now() - before;
|
this._lastOpenDuration = Date.now() - before;
|
||||||
|
@ -292,13 +299,6 @@ class IMAPConnection extends EventEmitter {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
getLastOpenDuration() {
|
|
||||||
if (this._isOpeningBox) {
|
|
||||||
throw new RetryableError('IMAPConnection: Cannot operate on connection while opening a box.')
|
|
||||||
}
|
|
||||||
return this._lastOpenDuration;
|
|
||||||
}
|
|
||||||
|
|
||||||
async getLatestBoxStatus(folderName) {
|
async getLatestBoxStatus(folderName) {
|
||||||
if (!folderName) {
|
if (!folderName) {
|
||||||
throw new Error('IMAPConnection::getLatestBoxStatus - You must provide a folder name')
|
throw new Error('IMAPConnection::getLatestBoxStatus - You must provide a folder name')
|
||||||
|
|
Loading…
Add table
Reference in a new issue