feat(supergroups): Add bulk actions to supergroup drawer#112752
feat(supergroups): Add bulk actions to supergroup drawer#112752scttcper merged 2 commits intoscttcper/supergroup-drawer-searchfrom
Conversation
Remove the checkbox from the supergroup row in the main issue list and simplify the count to a static "X issues". Move selection and actions into the drawer instead — wraps the issue list in IssueSelectionProvider, enables per-row checkboxes on StreamGroup, and adds an actions header bar with the full ActionSet (resolve, archive, merge, priority, etc). The header replaces GroupListHeader with a combined checkbox + column labels bar that swaps to action buttons when issues are selected, same pattern as the main issue list. Filter match indicator sits above the checkbox in each row, unread dot is hidden in this context. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
cvxluo
left a comment
There was a problem hiding this comment.
👍
i wonder if we should replace the 'matched' icon with the checkbox on hover, rather than having both
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Column header widths misaligned with data columns
- Added LastSeenColumnLabel (86px) and FirstSeenColumnLabel (50px) so drawer headers match StreamGroup column widths.
Or push these changes by commenting:
@cursor push d0f0ab6a1a
Preview (d0f0ab6a1a)
diff --git a/static/app/views/issueList/supergroups/supergroupDrawer.tsx b/static/app/views/issueList/supergroups/supergroupDrawer.tsx
--- a/static/app/views/issueList/supergroups/supergroupDrawer.tsx
+++ b/static/app/views/issueList/supergroups/supergroupDrawer.tsx
@@ -459,14 +459,14 @@
return (
<Fragment>
{DRAWER_COLUMNS.includes('lastSeen') && (
- <ColumnLabel breakpoint={COLUMN_BREAKPOINTS.LAST_SEEN} align="right">
+ <LastSeenColumnLabel breakpoint={COLUMN_BREAKPOINTS.LAST_SEEN} align="right">
{t('Last Seen')}
- </ColumnLabel>
+ </LastSeenColumnLabel>
)}
{DRAWER_COLUMNS.includes('firstSeen') && (
- <ColumnLabel breakpoint={COLUMN_BREAKPOINTS.FIRST_SEEN} align="right">
+ <FirstSeenColumnLabel breakpoint={COLUMN_BREAKPOINTS.FIRST_SEEN} align="right">
{t('Age')}
- </ColumnLabel>
+ </FirstSeenColumnLabel>
)}
{DRAWER_COLUMNS.includes('graph') && (
<GraphColumnLabel breakpoint={COLUMN_BREAKPOINTS.TREND}>
@@ -519,6 +519,14 @@
width: 60px;
`;
+const LastSeenColumnLabel = styled(IssueStreamHeaderLabel)`
+ width: 86px;
+`;
+
+const FirstSeenColumnLabel = styled(IssueStreamHeaderLabel)`
+ width: 50px;
+`;
+
const GraphColumnLabel = styled(IssueStreamHeaderLabel)`
width: 175px;
`;This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ebd9a7c. Configure here.
|
|
||
| const ColumnLabel = styled(IssueStreamHeaderLabel)` | ||
| width: 60px; | ||
| `; |
There was a problem hiding this comment.
Column header widths misaligned with data columns
Medium Severity
The ColumnLabel used for LastSeen and Age headers has a fixed width: 60px, but the StreamGroup data columns use LastSeenWrapper at 86px and FirstSeenWrapper at 50px. The previous GroupListHeader correctly used 80px and 50px respectively. This causes visible misalignment between column headers and data rows in the drawer.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit ebd9a7c. Configure here.
…roup-drawer-actions # Conflicts: # static/app/views/issueList/supergroups/supergroupDrawer.tsx



Stacked on #112764
Removes the checkbox from the supergroup row in the main issue list and simplifies the count to a static "X issues". Moves selection and bulk actions into the drawer instead.
The drawer issue list now has per-row checkboxes and a header bar with the full ActionSet (resolve, archive, merge, set priority, etc). The header swaps between column labels and action buttons when issues are selected - same pattern as the main issue list. Filter match indicator sits above the checkbox, unread dot is hidden since it's not useful in this context.
Also deletes
supergroupCheckbox.tsx