feat: IMAP CONDSTORE fast-path, JMAP blob TTL, offline compose queue UI
- IMAP CONDSTORE (RFC 7162): skip sync when HIGHESTMODSEQ is unchanged; refresh only changed flags via CHANGEDSINCE on incremental sync - JMAP blob expiry: re-fetch email bodies older than 7 days (schema v8→v9 adds nullable cachedAt column to email_bodies) - Offline compose queue: expose stuck pending_changes rows via observeFailedMutations / retryMutation / discardMutation; surface them in a FailedMutationBanner on the mailbox list screen - Unit tests for all three features (236 passing) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
650c7a70f5
commit
d5a5c7fbe3