- threadSummariesFromDB accepts optional mailboxId filter, uses EXISTS subquery
to show only threads containing messages in the selected mailbox
- add selectMailbox() and selectPerspective() to MailViewModel for clean
state transitions between folder view and GTD perspective view
- sidebar highlights selected mailbox/perspective, clears state on switch
- default to INBOX mailbox after first sync
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>