Each email row in the Undo Log Detail "Emails" section is now tappable.
Tapping resolves the email via EmailRepository.findEmailByMessageId(accountId, messageId) and navigates to its current location, so the link survives the move/snooze that changed its IMAP UID.
If the email has no Message-ID, or no row matches the lookup (e.g. hard-deleted), a SnackBar explains the situation instead of navigating.
A chevron_right trailing icon was added to signal the rows are now navigable.
New widget test test/widget/undo_log_detail_screen_test.dart covers:
tap on a row whose lookup hits → navigates to /accounts/<acc>/mailboxes/<encoded>/emails/<encoded> with the current mailbox/id
tap when lookup returns null → "Email no longer exists" SnackBar, no navigation
tap when the original row has no Message-ID → "no Message-ID" SnackBar, no navigation
## Summary
- Each email row in the **Undo Log Detail** "Emails" section is now tappable.
- Tapping resolves the email via `EmailRepository.findEmailByMessageId(accountId, messageId)` and navigates to its **current** location, so the link survives the move/snooze that changed its IMAP UID.
- If the email has no Message-ID, or no row matches the lookup (e.g. hard-deleted), a SnackBar explains the situation instead of navigating.
A `chevron_right` trailing icon was added to signal the rows are now navigable.
Closes #474
## Test plan
- [x] New widget test `test/widget/undo_log_detail_screen_test.dart` covers:
- tap on a row whose lookup hits → navigates to `/accounts/<acc>/mailboxes/<encoded>/emails/<encoded>` with the **current** mailbox/id
- tap when lookup returns `null` → "Email no longer exists" SnackBar, no navigation
- tap when the original row has no Message-ID → "no Message-ID" SnackBar, no navigation
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
EmailRepository.findEmailByMessageId(accountId, messageId)and navigates to its current location, so the link survives the move/snooze that changed its IMAP UID.A
chevron_righttrailing icon was added to signal the rows are now navigable.Closes #474
Test plan
test/widget/undo_log_detail_screen_test.dartcovers:/accounts/<acc>/mailboxes/<encoded>/emails/<encoded>with the current mailbox/idnull→ "Email no longer exists" SnackBar, no navigation