feat(supergroups): Use issues search to highlight supergroup drawer issues#112640
feat(supergroups): Use issues search to highlight supergroup drawer issues#112640
Conversation
…drawer issues Replace the `group=id` param approach with `issue.id:[ids]` search queries. The drawer now makes two requests: one to load all supergroup issues, and a second with the current stream query + filters to determine which ones match. Matched issues sort to the top and get highlighted. When opened from issue details (no stream context), only the load request fires. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
use a `filterWithCurrentSearch` boolean instead of threading query as a prop, read location.query directly in the drawer. use group= for the base fetch since issue.id:[] was slow. dim unmatched rows at 60% opacity instead of the subtle border highlight + legend nobody noticed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
show a small filter icon on rows that match the current search filters, with a legend above the list. bring back the graph stats column. leave gutter space for a future checkbox. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7112d20. Configure here.
The IssueRow `> *` selector was applying padding-left to the absolutely-positioned MatchedIcon too, shifting the filter icon. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
cvxluo
left a comment
There was a problem hiding this comment.
small styling issue otherwise 👍
| position: absolute; | ||
| top: 23px; | ||
| /* Positioned after where the checkbox will go */ | ||
| left: -2px; |
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` Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
| start, | ||
| end, | ||
| query: `${query} ${issueIdFilter}`, | ||
| limit: groupIds.length, |
There was a problem hiding this comment.
Bug: The query for matched groups uses the total group count as the limit, but the API silently truncates results to 100, causing incomplete highlighting for large supergroups.
Severity: MEDIUM
Suggested Fix
The frontend query for matchedGroups should handle pagination. Instead of a single request with a potentially large limit, it should make multiple paginated requests to fetch all matching group IDs, respecting the API's maximum limit of 100, until all results are retrieved and can be processed.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: static/app/views/issueList/supergroups/supergroupDrawer.tsx#L208
Potential issue: In `supergroupDrawer.tsx`, the query to find which issues in a
supergroup match the current filters uses `limit: groupIds.length`. However, the backend
API silently enforces a maximum limit of 100 results per request. When a supergroup
contains more than 100 issues, the API response will be truncated without any indication
to the frontend. As a result, issues that match the filter but are beyond the 100th
position will not be highlighted in the UI, leading to incomplete and incorrect results
for the user.


Instead of highlighting the group ids that we know exist in the current page of search results, make a search query and display all the results that match + query all the groups in the supergroup.
Adjusts some of the styles and loading states for the items in the drawer