Skip to content

FEAT: Add incremental sync for large mailboxes #660

@andrinoff

Description

@andrinoff

Is your feature request related to a problem? Full mailbox sync fetches all emails. For mailboxes with 100k+ emails, initial sync takes hours. Re-sync also slow.

Describe the solution you would like:

  • Track UIDVALIDITY and highest UID synced
  • Fetch only new emails since last sync
  • Use IMAP CONDSTORE extension if available
  • Handle UIDVALIDITY changes (full resync)
  • Show sync progress with percentage
  • Pause/resume sync capability
  • Background sync without blocking UI

Describe alternatives you have considered: Full sync always (current - very slow). Incremental dramatically faster.

Additional context:

  • Files: fetcher/fetcher.go, config/cache.go
  • IMAP CONDSTORE and QRESYNC extensions
  • Persistent sync state storage
  • Handle edge cases (deleted messages, moved messages)
  • Complexity: Very High - stateful sync protocol

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions