Components
Sender screening and decision bar
Review unfamiliar senders before moving them into normal reply work.
On this page
Purpose and composition
Review unfamiliar senders before moving them into normal reply work.
Use for admission decisions; keep it separate from later conversation closing.
Anatomy
| Part | Responsibility |
|---|---|
| New senders group | Violet boundary separates pending screening |
| Decision | Approve sender, Reference only, Junk |
| Review navigation | Previous/Next across review records |
Configuration and variants
| Input / variant | Contract |
|---|---|
| senderReview | status and callbacks supplied to ConversationDetail |
| approved | Moves to needs-reply and marks unread |
| reference/junk | Moves to corresponding queue |
| canGoPrevious/Next | Controls disabled endpoints |
States and feedback
| State | Visible / behavioral result |
|---|---|
| Pending | No decision pressed |
| Decided | aria-pressed decision with selected styling |
| At endpoint | Disabled previous/next |
| Phone | Actions wrap; previous/next reorder |
Interaction and responsive behavior
- Review list remains based on the senderReview field, including prior decisions.
- The main list embeds pending senders under Needs reply.
- A review thread does not render the reply composer.
Accessibility contract
- Decision buttons expose aria-pressed in the review bar.
- Names make the consequence explicit.
- Decision feedback uses role=status; check announcement timing and retained context.
Known implementation limits
These are local conversation transitions; there is no demonstrated durable sender allowlist or provider suppression change.
Composition example
<ConversationDetail conversation={record} senderReview={reviewControls} {...threadCallbacks} />Source references
| File | Responsibility |
|---|---|
| components/inbox/conversation-list.tsx | New senders group and row actions |
| components/inbox/conversation-detail.tsx | Internal SenderReviewBar |
| components/helpdesk-app.tsx | Decision state transition |
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