- Add lib/core/db_schema_version.dart with dbSchemaVersion constant (32)
so both the data layer and UI layer share the same source of truth
- Add device_info_plus dependency for Android/iOS device model display
- Show Locale, Text Scale Factor, DB Schema Version, and Device Model
(Android/iOS only) rows in the About screen diagnostic table
- Device model is fetched asynchronously; the widget re-renders when ready
- Update widget tests to assert the new rows are present
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove standalone Reply All button from the app bar.
- Add Mark as Spam button before Delete; moves email to the junk
mailbox (role "junk") and shows a snackbar if no junk folder exists.
- Reply button now collects all addresses from From/To/Cc, filters out
the account's own address, deduplicates, and:
• If ≤1 candidate: navigates directly to compose (no dialog).
• If ≥2 candidates: shows a "Reply All" dialog where each address
can be placed in To, Cc, or skipped. Addresses from incoming Cc
default to Cc; From/To addresses default to To.
- Update widget tests: verify Reply All button is absent, dialog
appears for multi-recipient emails, Mark as Spam button present,
and snackbar shown when no junk folder is configured.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>