mirror of
https://github.com/spartanz51/tutabridge.git
synced 2026-06-24 10:54:32 +02:00
Key the syncer, local store and IMAP server by Tuta MailSet folder id instead of the system folder kind, so custom (and nested) folders are first-class. - tuta.rs: add FolderInfo; MailBackend.list_folders enumerates system + custom folders via the SDK FolderSystem tree, building IMAP paths and RFC 6154 special-use flags; load mails by the folder's entries list. - store.rs: folder_kind INTEGER -> folder_id TEXT, schema v2 with a migration that drops the cache tables and re-syncs (encrypted .eml files survive). - sync.rs: MailStore keyed by folder id; the syncer enumerates the live folder list each cycle. - imap/session.rs: dynamic LIST/SELECT/STATUS driven by the folder list; drop the hardcoded six-folder mapping. Pulls in the SDK FolderSystem tree (tuta-repo submodule bump). Live-tested: 9 custom folders listed and selectable over IMAP, with headers and decrypted bodies. Not yet covered: nested-folder paths, modified UTF-7 for non-ASCII names, labels, and IMAP MOVE/COPY.