Conversation
Add a Suppress button to the top of the report detail pane and replace the bulk-suppress confirmation in the toolbar with a dialog that asks why the user is suppressing. The dialog offers six radio reasons plus an optional free-form note. Selections are sent alongside the state transition and persisted server-side as a `dismissal`-type report artefact so the rationale survives status changes and can stack over time. Generated-By: PostHog Code Task-Id: d3d675ab-707a-4a35-939b-9a9ab0f5c5b5
Replace SuppressDialog with DismissReportDialog owned by InboxSignalsTab; derive dismissal options from shared dismissalReasons. Toolbar shows Dismiss (≤1 selected, opens modal) or Snooze+Suppress (>1 selected, direct bulk actions). Remove list hover dismiss control; use gray soft buttons for dismiss-related actions. Tighten bulk suppress/snooze eligibility and keep legacy reason parsing.
…lbar Puts secondary bulk actions behind a ⋯ menu (inbox-tweaks pattern), keeps Snooze/Suppress/Dismiss as primary actions, and preserves the shared dismiss dialog and existing delete confirmation AlertDialog.
… tasks hook Keep dismissal constants/types on @shared/dismissalReasons only; use DismissalReason from there in artefact types. Extract useReportTasks/getTaskPrUrl to an inbox hook, dedupe overflow menu rows via BulkOverflowMenuItem, unify dismiss mutation pending for toolbar and detail, and trim ExplainedLabel exports. Inline dismissal radio parsing in DismissReportDialog.
|
|
|
||
| const inboxQueryKey = ["inbox", "signal-reports"] as const; | ||
|
|
||
| /** Only these reports may be dismissed (suppressed) from the inbox. */ | ||
| const suppressibleStatuses = new Set<SignalReport["status"]>([ | ||
| "potential", | ||
| "candidate", | ||
| "in_progress", | ||
| "failed", | ||
| "pending_input", | ||
| "ready", | ||
| "failed", | ||
| ]); |
There was a problem hiding this comment.
Active-state reports can no longer be dismissed
"potential", "candidate", and "in_progress" were removed from suppressibleStatuses, so the Dismiss button in ReportDetailPane will be permanently disabled for reports that are actively being processed. Previously a user could suppress a report at any active stage; now they must wait until the report reaches failed, pending_input, or ready. If that narrowing is intentional it should be documented (a comment on the set or a note in the tooltip), otherwise it will silently block early rejections.
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/code/src/renderer/features/inbox/hooks/useInboxBulkActions.ts
Line: 21-29
Comment:
**Active-state reports can no longer be dismissed**
`"potential"`, `"candidate"`, and `"in_progress"` were removed from `suppressibleStatuses`, so the Dismiss button in `ReportDetailPane` will be permanently disabled for reports that are actively being processed. Previously a user could suppress a report at any active stage; now they must wait until the report reaches `failed`, `pending_input`, or `ready`. If that narrowing is intentional it should be documented (a comment on the set or a note in the tooltip), otherwise it will silently block early rejections.
How can I resolve this? If you propose a fix, please make it concise.
Problem
"Snooze", "Suppress" and "Delete" don't provide us with info on why the user got rid of the report – and it's hard to understand how to use them.
Changes
Replacing those three buttons with one clear "Dismiss", and a hidden dropdown for "Delete" - as well as "Reingest".
Basically replaces the old suppress-confirmation dialog and adds a "Dismiss" button (with thumbs-down icon) to both the inbox toolbar and the report detail pane header. Notes:
- Multi-select (2+) keeps the previous bulk Snooze / Suppress buttons without the dialog. For mass management.
⋯overflow menu, keeping the primary toolbar clean.Implementation PR link now shown in the report detail header next to "Dismiss" (so they function as "here's the PR to review, accept or dismiss").
Backend prerequisite PR: PostHog/posthog#57768
Created with PostHog Code