Creates a Combined Inbox that shows threads from the INBOX mailbox of
every account, sorted by date. On first launch the app opens here; if
no accounts exist yet it redirects to the account list automatically.
- EmailRepository: add observeAllInboxThreads() — JOINs threads with
mailboxes on role='inbox', covering both IMAP and JMAP accounts
- di.dart: add allAccountsProvider (StreamProvider for all accounts)
- CombinedInboxScreen: thread list with swipe-to-archive/delete, pull-
to-refresh, load-more pagination, per-account name label, compose FAB,
and a drawer linking to individual account mailboxes
- router.dart: add /inbox route; change initialLocation to /inbox
- Update all test fakes and mocks for the new abstract method
Closes#376
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>