feat: ManageSieve (RFC 5804) Sieve script editing for IMAP accounts
Adds a minimal ManageSieve client so the existing "Email filters" UI works for IMAP accounts, not just JMAP. SieveRepository becomes a dispatcher that routes to JMAP or ManageSieve based on account.type. Account model + DB schema v15 grow manageSieveHost/Port/Ssl fields (default 4190 / TLS, host falls back to imapHost when blank). The Add and Edit account screens expose them inside a collapsed ExpansionTile to keep the form short for users who accept defaults. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
44d02afc46
commit
fc270590c4
@@ -30,6 +30,9 @@ const _excluded = {
|
||||
// IMAP/SMTP factory — top-level functions that open real network connections;
|
||||
// no seam to inject a fake client without wrapping the enough_mail types.
|
||||
'lib/data/imap/imap_client_factory.dart',
|
||||
// ManageSieve (RFC 5804) client — opens real TCP/TLS sockets; tested via
|
||||
// the Sieve UI + integration scenarios rather than unit tests.
|
||||
'lib/data/imap/managesieve_client.dart',
|
||||
// Pure adapter over FlutterSecureStorage (a platform plugin);
|
||||
// all three methods just delegate — no logic, and platform channels are
|
||||
// unavailable in unit tests.
|
||||
|
||||
Reference in New Issue
Block a user