Patterns
Keep reference and junk out of active work
Retain useful passive material and separate unwanted messages from conversations needing a reply.
On this page
User goal
Retain useful passive material and separate unwanted messages from conversations needing a reply.
Workflow
| Step | Expected behavior |
|---|---|
| 1 | Use sender screening to choose Reference only or Junk for unfamiliar senders. |
| 2 | Open Reference from primary navigation to read retained material. |
| 3 | Use More actions to mark an active conversation as Junk when needed. |
| 4 | Read inactive state text before deciding to restore. |
| 5 | Restore a junk thread to Needs reply before composing. |
Decision and composition rules
- Reference is a primary view outside active queue navigation.
- Junk is not deletion.
- Closed and Junk disable the composer until restored/reopened.
Edge cases and recovery
- Source junk address list is local and not a suppression service.
- Moving a thread should not imply account-wide sender blocking.
- No provider-level junk training or mailbox rules are verified.
Persistence boundary
The demonstrated frontend uses local React state or static fixtures. Read the readiness topic before connecting these actions to authenticated persistence. A visible toast, badge or timer is not a server acknowledgement.
Source references
| File | Responsibility |
|---|---|
| components/helpdesk-app.tsx | Review and state routing |
| components/inbox/conversation-detail.tsx | Inactive lifecycle |
| components/inbox/conversation-list.tsx | Junk list presentation |
Examples from the app
Actual Sonarist components with fictional conversations, people, example.com addresses and simulated operational states. Captured at 2× resolution or higher. Select an image to inspect it full size.
Related topics
Source audit: 2026-10-08 · Revision 10f45d1377b5 · Documentation v1.0.0