feat(proto): enum hygiene for rule export format and account TLS #356

Merged
KofTwentyTwo merged 1 commits from story/ws-a5-enum-hygiene into dev 2026-07-31 22:28:22 +00:00
1 Commits
Author SHA1 Message Date
James Maes a8fa5121cf feat(proto): enum hygiene for rule export format and account TLS
Introduce a dedicated RuleExportFormat enum (SQL/JSON) for ExportRules,
replacing the stringly "sql"/"json" format field; UNSPECIFIED is rejected
with invalid_argument rather than silently defaulting. Reuse of the
mailbox Export service's ExportFormat enum was rejected since its members
(MBOX/EML_ZIP/JSON/JSONL) describe portable mailbox output, not rule
rendering, and the two have no overlapping meaning.

Drop AccountConfig.use_tls from the wire contract (reserving field 7) and
from nuncio_core::AccountConfig: it duplicated imap_tls_mode/smtp_tls_mode
and was never read for behavior anywhere in the daemon, CLI, or store --
only ever written and then ignored. The SQLite accounts.use_tls column is
kept (with a default) for on-disk compatibility with existing rows; no
code reads it anymore.

Regenerate the nuncio.v1 descriptor golden.

Refs #277
2026-07-31 17:24:40 -05:00