Performance milestone // Domain Mail

Domain Mail v1.1: batch the mailbox

The mailbox summary path originally behaved like an N+1 query: one operation found message identifiers and additional fetches assembled each summary. v1.1 replaced that pattern with batched IMAP FETCH work.

The engineering change

Batching message-summary fields reduces protocol round trips and keeps mailbox listing cost closer to the number of batches than the number of messages. The result is a narrower, measurable performance improvement without changing the visible mail workflow.

Why it matters for product quality

  • Lower latency on inbox rendering, especially across remote mail servers.
  • Less connection chatter and fewer opportunities for partial per-message failure.
  • A clearer place to add pagination, caching and bounded mailbox windows later.
  • A concrete example of tracing a UI symptom back through an external protocol.

Repository truth

Pull request #5 is the evidence for this milestone. The repository does not show a corresponding formal v1.1 tag or release, so this post describes a merged engineering milestone rather than inventing a packaged release.

Next version

The following iteration addresses a different risk: a public demo should not require or accidentally consume real mailbox credentials. v1.2 separates a synthetic showcase from live mode.