feat(U1): show Unsubscribe chip in email detail #26

Merged
guettlibot merged 2 commits from task/u1-list-unsubscribe into main 2026-05-13 22:09:15 +00:00
guettlibot commented 2026-05-13 22:05:25 +00:00 (Migrated from codeberg.org)

Summary

  • Add list_unsubscribe_header column to emails table (schema v23 migration)
  • IMAP sync: fetch List-Unsubscribe alongside References in BODY.PEEK[HEADER.FIELDS]
  • JMAP sync: request header:List-Unsubscribe:asText property in Email/get calls
  • EmailDetailScreen: show an ActionChip that launches the unsubscribe URI (prefers mailto:, falls back to https:)

Test plan

  • task check-fast passes locally
  • Schema migrates cleanly (v22 → v23 adds nullable column)
  • Chip is hidden when header is absent; visible and tappable when present
## Summary - Add `list_unsubscribe_header` column to `emails` table (schema v23 migration) - IMAP sync: fetch `List-Unsubscribe` alongside `References` in `BODY.PEEK[HEADER.FIELDS]` - JMAP sync: request `header:List-Unsubscribe:asText` property in Email/get calls - `EmailDetailScreen`: show an `ActionChip` that launches the unsubscribe URI (prefers `mailto:`, falls back to `https:`) ## Test plan - [x] `task check-fast` passes locally - [x] Schema migrates cleanly (v22 → v23 adds nullable column) - [x] Chip is hidden when header is absent; visible and tappable when present
Sign in to join this conversation.