This commit is contained in:
2025-08-05 14:37:49 -07:00
parent 27fc2e29a1
commit 5d87be1d96
10 changed files with 123 additions and 136 deletions

View File

@@ -263,8 +263,9 @@ class IMAPService:
if not imap_folders:
return False, "No folders found on IMAP server"
# Process each folder
synced_count = 0
# Deduplicate folders by name to prevent creating multiple entries for the same folder
unique_folders = []
seen_names = set()
for imap_folder in imap_folders:
folder_name = imap_folder['name']
@@ -272,6 +273,17 @@ class IMAPService:
if folder_name.lower() in ['inbox', 'sent', 'drafts', 'spam', 'trash']:
continue
# Use case-insensitive comparison for deduplication
folder_name_lower = folder_name.lower()
if folder_name_lower not in seen_names:
unique_folders.append(imap_folder)
seen_names.add(folder_name_lower)
# Process each unique folder
synced_count = 0
for imap_folder in unique_folders:
folder_name = imap_folder['name']
# Handle nested folder names (convert slashes to underscores or keep as-is)
# According to requirements, nested folders should be created with slashes in the name
display_name = folder_name