Destructive Actions
Destructive actions change your mailbox or future-mail behavior. Herald routes these through confirmations, progress reporting, read-only checks, and a serialized worker so you can see what is happening.
Overview
Section titled “Overview”Delete, archive, unsubscribe, and hide-future-mail are available from Timeline and Cleanup depending on context. Bulk delete/archive is strongest in Cleanup; single-message actions are available from previews and selected rows.
Screen Anatomy
Section titled “Screen Anatomy”| Area | What it shows |
|---|---|
| Confirmation status bar | Action description plus y confirm and n/Esc cancel. |
| Delete/archive progress | Current sender or message and completed/total request count. |
| Preview action line | u unsubscribe when available and h hide future mail. |
| Selection columns | Cleanup summary/detail selection markers that define bulk targets. |
| Read-only status | Diagnostic mode that blocks mutations. |
| Dry-run flag | [DRY RUN] when runtime mode avoids live mutation for supported cleanup paths. |
Controls
Section titled “Controls”| Key | Context | Preconditions | Result |
|---|---|---|---|
D | Timeline/Cleanup | Target exists, not read-only, not already deleting. | Opens delete confirmation or queues current preview email. |
e | Timeline/Cleanup | Target exists, not read-only, not already deleting. | Opens archive confirmation or queues current preview email. |
y / Y | Confirmation | Delete/archive/unsubscribe confirmation active. | Confirms the pending action. |
n / N | Confirmation | Confirmation active. | Cancels the pending action. |
esc | Confirmation | Confirmation active. | Cancels the pending action. |
u | Timeline/Cleanup preview | Body includes List-Unsubscribe and not read-only. | Opens unsubscribe confirmation. |
h / H | Timeline/Cleanup | Current sender exists. | Creates hide-future-mail behavior for the sender. |
space | Cleanup | Summary or details focused. | Selects bulk delete/archive targets. |
Workflows
Section titled “Workflows”Delete Selected Cleanup Rows
Section titled “Delete Selected Cleanup Rows”- Open Cleanup with
3. - Use
spaceto select sender/domain rows or individual messages. - Press
D. - Read the confirmation text.
- Press
yonly if the target is correct.
Archive Selected Cleanup Rows
Section titled “Archive Selected Cleanup Rows”- Select rows or messages in Cleanup.
- Press
e. - Confirm with
y. - Watch progress in the status bar.
Unsubscribe From a Sender
Section titled “Unsubscribe From a Sender”- Open a Timeline or Cleanup preview.
- Confirm the action line includes unsubscribe.
- Press
u. - Read the confirmation.
- Press
yto run the unsubscribe method.
Hide Future Mail
Section titled “Hide Future Mail”- Focus a sender row or open a preview.
- Press
h. - Herald saves backend behavior to hide matching future mail.
States
Section titled “States”| State | What happens |
|---|---|
| Confirmation active | Normal status is replaced until y, n, or esc. |
| Worker queue | Delete/archive requests are processed serially. |
| Retry | Connection errors can be retried with backoff. |
| Reconnecting | Status reports reconnecting during deletion work. |
| Archive | Message is moved through backend archive behavior and cache state updates. |
| Delete | Message is copied/moved toward Trash when possible, marked deleted, expunged, and removed from cache. |
| Unsubscribe unavailable | u does nothing unless the body has List-Unsubscribe. |
| Read-only diagnostic | Mutations are blocked, especially in All Mail only. |
| Dry-run | Status marks dry-run mode for supported cleanup paths. |
Data And Privacy
Section titled “Data And Privacy”Delete/archive operations mutate the configured IMAP mailbox and SQLite cache. Delete attempts Trash-folder semantics before expunging. Archive moves mail according to backend behavior. Unsubscribe may open a URL, copy a URL or mailto target, or perform a one-click unsubscribe method depending on header data. Hide-future-mail writes a local/backend rule for matching future mail.
Troubleshooting
Section titled “Troubleshooting”If D or e appears inactive, check for read-only folder mode, active deletion progress, or missing selection.
If deletion progress stalls, open logs with l after the UI is usable and check provider connectivity.
If unsubscribe opens a browser or copies a URL instead of silently completing, that behavior comes from the message’s unsubscribe header method.
If mail reappears after delete/archive, refresh with r and verify provider Trash/Archive semantics.