feat(autofix): Add GitHub Copilot agent provider UI#106290
feat(autofix): Add GitHub Copilot agent provider UI#106290
Conversation
Add frontend support for GitHub Copilot as a coding agent provider: - New CodingAgentProvider enum value for GitHub Copilot - GitHub Copilot integration CTA component - Update coding agent card to display Copilot branding - Settings page integration for Copilot setup
0df22a0 to
b995bb8
Compare
- Use optional chaining for cursorIntegration checks - Add missing styled components and imports in codingAgentCard
Update type to allow id: string | null and filter out integrations without IDs when building dropdown items.
The preference storage format changed from cursor: to agent: prefix.
|
@sentry review |
|
bugbot review |
Support both 'agent:' (new) and 'cursor:' (legacy) prefixes when reading preferences so existing users don't lose their settings. New preferences are written with 'agent:' prefix.
Add github_copilot -> github alias in PluginIcon's PLUGIN_ICONS map and remove the getPluginIdForProvider helper function.
c9fe05b to
4ee4a21
Compare
Add TODO for proper GitHub Copilot support. For now, filter out integrations without IDs since the callback expects a number.
4ee4a21 to
3647a72
Compare
Update frontend feature flag to match backend: `integrations-github-copilot-agent`
| </Heading> | ||
| <Text> | ||
| {tct( | ||
| 'GitHub Copilot integration is installed. You can trigger GitHub Copilot from Issue Fix to create pull requests. [docsLink:Read the docs] to learn more.', |
There was a problem hiding this comment.
TODO: update this copy
There was a problem hiding this comment.
(can be done in a follow up, the flag is not on for anyone atm)
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| })); | ||
| // Build dropdown items for coding agent integrations (filter out those without IDs for now) | ||
| const dropdownItems = codingAgentIntegrations | ||
| .filter(integration => integration.id !== null) |
There was a problem hiding this comment.
Dropdown renders empty when only null-id integrations exist
Medium Severity
The condition at line 127 checks !codingAgentIntegrations?.length to decide whether to render the dropdown, but line 142 filters out integrations with id === null. If a user only has GitHub Copilot installed (which has id: null), the length check passes but dropdownItems becomes an empty array after filtering. This results in a dropdown trigger button that opens to display an empty menu with no options.
There was a problem hiding this comment.
this is for the explorer based autofix which i’ll implement in a follow up
Summary
Note that this only contains changes for the non-explorer autofix, explorer autofix changes to be done in a follow up PR. Auth works differently and is per user. if a user is not authed for github copilot, we'll redirect them to our oauth flow for github copilot which has already been built.


