From 957295f3c81876c618097003ce39bc885eed012a Mon Sep 17 00:00:00 2001 From: Philippe Weidmann Date: Tue, 4 Jul 2023 10:55:02 +0200 Subject: [PATCH 1/2] fix(CreateFolderView): : Only check for same name on root --- Mail/Views/Alerts/CreateFolderView.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Mail/Views/Alerts/CreateFolderView.swift b/Mail/Views/Alerts/CreateFolderView.swift index 5ab1cf5ed..2b53ef7f2 100644 --- a/Mail/Views/Alerts/CreateFolderView.swift +++ b/Mail/Views/Alerts/CreateFolderView.swift @@ -26,7 +26,8 @@ import SwiftUI struct CreateFolderView: View { @EnvironmentObject private var mailboxManager: MailboxManager - @ObservedResults(Folder.self) private var folders + // swiftlint:disable empty_count + @ObservedResults(Folder.self, where: { $0.parents.count == 0 }) private var folders @State private var folderName = "" @State private var error: FolderError? From 9fb9e302641e3cf580bca27295a2930e18aa85a0 Mon Sep 17 00:00:00 2001 From: Philippe Weidmann Date: Tue, 4 Jul 2023 10:56:15 +0200 Subject: [PATCH 2/2] perf(CreateFolderView): Check for same name with realm query --- Mail/Views/Alerts/CreateFolderView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mail/Views/Alerts/CreateFolderView.swift b/Mail/Views/Alerts/CreateFolderView.swift index 2b53ef7f2..936c8b822 100644 --- a/Mail/Views/Alerts/CreateFolderView.swift +++ b/Mail/Views/Alerts/CreateFolderView.swift @@ -112,7 +112,7 @@ struct CreateFolderView: View { let trimmedName = newName.trimmingCharacters(in: .whitespacesAndNewlines) if trimmedName.count >= Constants.maxFolderNameLength { error = .nameTooLong - } else if trimmedName.lowercased() == "inbox" || folders.contains(where: { $0.name == trimmedName }) { + } else if trimmedName.lowercased() == "inbox" || folders.where({ $0.name == trimmedName }).count > 0 { error = .nameAlreadyExists } else { error = nil