Skip to content

feat(supergroups): Add bulk actions to supergroup drawer#112752

Merged
scttcper merged 2 commits intoscttcper/supergroup-drawer-searchfrom
scttcper/supergroup-drawer-actions
Apr 13, 2026
Merged

feat(supergroups): Add bulk actions to supergroup drawer#112752
scttcper merged 2 commits intoscttcper/supergroup-drawer-searchfrom
scttcper/supergroup-drawer-actions

Conversation

@scttcper
Copy link
Copy Markdown
Member

@scttcper scttcper commented Apr 10, 2026

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

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>
@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Apr 10, 2026
Copy link
Copy Markdown
Contributor

@cvxluo cvxluo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

i wonder if we should replace the 'matched' icon with the checkbox on hover, rather than having both

@scttcper scttcper marked this pull request as ready for review April 13, 2026 18:46
@scttcper scttcper requested review from a team as code owners April 13, 2026 18:46
Copy link
Copy Markdown
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

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.

Create PR

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;
`;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit ebd9a7c. Configure here.

…roup-drawer-actions

# Conflicts:
#	static/app/views/issueList/supergroups/supergroupDrawer.tsx
@scttcper scttcper merged commit 334e585 into scttcper/supergroup-drawer-search Apr 13, 2026
59 checks passed
@scttcper scttcper deleted the scttcper/supergroup-drawer-actions branch April 13, 2026 19:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants