[bugfix] TF-2316 Can not delete folder when its children are hidden (#2519)

This commit is contained in:
Bùi Trung Hiếu
2026-04-06 13:18:34 +07:00
committed by GitHub
parent 7cf61ac2f0
commit ea7b9fed33
7 changed files with 785 additions and 371 deletions
@@ -79,7 +79,6 @@ import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.d
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_tree_builder.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/model/open_mailbox_view_event.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_action_reactor.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_utils.dart';
import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_name_interactor.dart';
import 'package:tmail_ui_user/features/mailbox_creator/presentation/model/mailbox_creator_arguments.dart';
import 'package:tmail_ui_user/features/mailbox_creator/presentation/model/new_mailbox_arguments.dart';
@@ -565,7 +564,7 @@ class MailboxController extends BaseMailboxController
consumeState(Stream.value(Left(GetAllMailboxFailure(NotFoundSessionException()))));
}
}
void _refreshMailboxChanges({required jmap.State newState}) {
log('MailboxController::_refreshMailboxChanges():newState: $newState');
if (accountId == null ||
@@ -1039,18 +1038,10 @@ class MailboxController extends BaseMailboxController
void _deleteMailboxAction(PresentationMailbox presentationMailbox) {
if (session != null && accountId != null) {
final tupleMap = MailboxUtils.generateMapDescendantIdsAndMailboxIdList(
[presentationMailbox],
defaultMailboxTree.value,
personalMailboxTree.value);
final mapDescendantIds = tupleMap.value1;
final listMailboxId = tupleMap.value2;
consumeState(_deleteMultipleMailboxInteractor.execute(
session!,
accountId!,
mapDescendantIds,
listMailboxId,
[presentationMailbox.id],
));
} else {
_deleteMailboxFailure(DeleteMultipleMailboxFailure(null));