[Feature] Add JMAP mailbox sync/search support after IMAP MVP stabilizes #7

Open
opened 2026-07-09 12:46:46 +02:00 by zemion · 0 comments
Owner

Objective

Add JMAP mailbox support to govoplan-mail after the IMAP mailbox MVP is stable.

JMAP should be the preferred future protocol for modern mailbox sync/search when a target server supports it.

Scope

  • Owning repository: govoplan-mail.
  • Priority: higher than POP3 because JMAP fits modern sync/search and browser-facing mailbox UX better.
  • First slice: protocol-neutral mailbox DTOs, server capability discovery, read-only folder/message list, message detail, search/query, and incremental change support.
  • Out of scope initially: sending through JMAP, calendar/contact support, and broad provider-specific groupware behavior.

Expected behavior

  • Add protocol-neutral mailbox service interfaces so IMAP and JMAP can share UI/API contracts.
  • Add JMAP profile capability detection and configuration fields without disrupting existing SMTP/IMAP profiles.
  • Implement mailbox/folder/message listing with pagination and incremental changes where supported.
  • Implement message detail retrieval with headers, text/html body, and attachment metadata compatible with the existing message display panel.
  • Add profile test diagnostics that distinguish auth failure, unsupported JMAP, permission failure, and transient server failure.
  • Keep campaign sending independent: campaign delivery remains SMTP/IMAP append until a later explicit design says otherwise.

Acceptance criteria

  • Existing IMAP mailbox UI still works unchanged.
  • A JMAP-capable profile can be tested and browsed read-only through the mail module API.
  • The mailbox UI can switch between IMAP-backed and JMAP-backed profile/folder/message data through the same component contracts.
  • Tests cover capability detection, mailbox listing, search/query, incremental changes, message detail rendering, auth failure, and unavailable server behavior.
  • Documentation states that JMAP is optional and not required for normal SMTP/IMAP campaign sending.

Origin

Split out from the closed combined protocol placeholder govoplan-mail#4.

## Objective Add JMAP mailbox support to `govoplan-mail` after the IMAP mailbox MVP is stable. JMAP should be the preferred future protocol for modern mailbox sync/search when a target server supports it. ## Scope - Owning repository: `govoplan-mail`. - Priority: higher than POP3 because JMAP fits modern sync/search and browser-facing mailbox UX better. - First slice: protocol-neutral mailbox DTOs, server capability discovery, read-only folder/message list, message detail, search/query, and incremental change support. - Out of scope initially: sending through JMAP, calendar/contact support, and broad provider-specific groupware behavior. ## Expected behavior - Add protocol-neutral mailbox service interfaces so IMAP and JMAP can share UI/API contracts. - Add JMAP profile capability detection and configuration fields without disrupting existing SMTP/IMAP profiles. - Implement mailbox/folder/message listing with pagination and incremental changes where supported. - Implement message detail retrieval with headers, text/html body, and attachment metadata compatible with the existing message display panel. - Add profile test diagnostics that distinguish auth failure, unsupported JMAP, permission failure, and transient server failure. - Keep campaign sending independent: campaign delivery remains SMTP/IMAP append until a later explicit design says otherwise. ## Acceptance criteria - Existing IMAP mailbox UI still works unchanged. - A JMAP-capable profile can be tested and browsed read-only through the mail module API. - The mailbox UI can switch between IMAP-backed and JMAP-backed profile/folder/message data through the same component contracts. - Tests cover capability detection, mailbox listing, search/query, incremental changes, message detail rendering, auth failure, and unavailable server behavior. - Documentation states that JMAP is optional and not required for normal SMTP/IMAP campaign sending. ## Origin Split out from the closed combined protocol placeholder `govoplan-mail#4`.
zemion added the
type
feature
priority
p2
status
ready
module/mail
area/api
codex/ready
labels 2026-07-09 12:46:46 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: add-ideas/govoplan-mail#7
No description provided.