TF-1704 Fix weird infinity loop when delete folder on server CYRUS

Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit ba3c6f04b0628343bab42ff63cec86cc6efc4944)
This commit is contained in:
dab246
2023-10-31 01:33:37 +07:00
committed by Dat Vu
parent c279730309
commit 39e53f0769
3 changed files with 15 additions and 7 deletions
@@ -365,12 +365,17 @@ class EmailAPI with HandleSetErrorMixin {
AccountId accountId,
MoveToMailboxRequest moveRequest
) async {
requireCapability(moveRequest.session, accountId, [CapabilityIdentifier.jmapCore, CapabilityIdentifier.jmapMail]);
requireCapability(
moveRequest.session,
accountId,
[CapabilityIdentifier.jmapCore, CapabilityIdentifier.jmapMail]
);
final coreCapability = moveRequest.session.getCapabilityProperties<CoreCapability>(
accountId, CapabilityIdentifier.jmapCore);
final maxMethodCount = coreCapability.maxCallsInRequest?.value.toInt() ?? 0;
accountId,
CapabilityIdentifier.jmapCore
);
final maxMethodCount = coreCapability.maxCallsInRequest?.value.toInt() ?? CapabilityIdentifierExtension.defaultMaxCallsInRequest;
var start = 0;
var end = 0;
@@ -186,10 +186,11 @@ class MailboxAPI with HandleSetErrorMixin {
}
Future<Map<Id, SetError>> deleteMultipleMailbox(Session session, AccountId accountId, List<MailboxId> mailboxIds) async {
final coreCapability = session.getCapabilityProperties<CoreCapability>(
accountId, CapabilityIdentifier.jmapCore);
final maxMethodCount = coreCapability.maxCallsInRequest?.value.toInt() ?? 0;
accountId,
CapabilityIdentifier.jmapCore
);
final maxMethodCount = coreCapability.maxCallsInRequest?.value.toInt() ?? CapabilityIdentifierExtension.defaultMaxCallsInRequest;
final Map<Id,SetError> finalDeletedMailboxErrors = {};
var start = 0;
+2
View File
@@ -41,6 +41,8 @@ extension ListCapabilityIdentifierExtension on List<CapabilityIdentifier> {
extension CapabilityIdentifierExtension on CapabilityIdentifier {
static const int defaultMaxCallsInRequest = 1;
bool isSupported(Session session, AccountId accountId) {
try {
requireCapability(session, accountId, [this]);