Skip to content

feat: multiple protocol support#431

Merged
andrinoff merged 1 commit intofloatpane:masterfrom
andrinoff:feat/add-alternative-protocols
Mar 31, 2026
Merged

feat: multiple protocol support#431
andrinoff merged 1 commit intofloatpane:masterfrom
andrinoff:feat/add-alternative-protocols

Conversation

@andrinoff
Copy link
Copy Markdown
Member

@andrinoff andrinoff commented Mar 30, 2026

What?

Add multi-protocol email support by introducing a backend.Provider interface and implementing three backends: IMAP, JMAP, and POP3.

Why?

Closes #301

Matcha only supports IMAP+SMTP. Users with JMAP providers (Fastmail, Stalwart, Cyrus) or POP3-only providers can't use it at all.

JMAP is the modern successor to IMAP — it's faster (batched JSON-over-HTTP, no connection-per-folder), has built-in push, and is growing in adoption. POP3 is still offered by many providers and is the only option for some older/smaller hosts.

The Provider abstraction also makes it straightforward to add more backends in the future (e.g., Microsoft Graph for Outlook/O365) without touching the core TUI or command logic.

@github-actions github-actions bot added the enhancement New feature or request label Mar 30, 2026
@andrinoff andrinoff force-pushed the feat/add-alternative-protocols branch from 1112344 to 9acdfbe Compare March 31, 2026 04:03
Signed-off-by: drew <me@andrinoff.com>
@andrinoff andrinoff force-pushed the feat/add-alternative-protocols branch from 9acdfbe to 60ec724 Compare March 31, 2026 04:04
@andrinoff andrinoff marked this pull request as ready for review March 31, 2026 04:54
@andrinoff andrinoff requested a review from a team as a code owner March 31, 2026 04:54
@andrinoff andrinoff merged commit 558458f into floatpane:master Mar 31, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FEAT: Other protocol support

1 participant