feat(seer): Consolidate fields on the Autofix Project details page#113236
feat(seer): Consolidate fields on the Autofix Project details page#113236
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 32132ae. Configure here.
| agent: z.union([z.literal('seer'), z.custom<CodingAgentIntegration>()]), | ||
| })} | ||
| initialValue={selectedAgent} | ||
| mutationOptions={agentMutationOptions} |
There was a problem hiding this comment.
Agent form initializes with stale value before data loads
Medium Severity
The agent AutoSaveForm mounts immediately, but selectedAgent depends on integrations derived from agentOptions, which is still loading. While pending, integrations is [], so getSelectedAgentForProject always returns 'seer'. Since TanStack Form's defaultValues is not reactive, the form permanently shows 'seer' even after the integration data loads and the real agent is resolved. Users with an external agent configured will see the wrong selection.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 32132ae. Configure here.
There was a problem hiding this comment.
this seems to not be the case. the field renders as a placeholder, then i can see non-seer values pop in later on.
32132ae to
aa16ed0
Compare
56dd11e to
067a9a1
Compare
There was a problem hiding this comment.
will claude pick this up when it's nested like this?
There was a problem hiding this comment.
we already have https://github.com/getsentry/sentry/blob/master/static/AGENTS.md
There was a problem hiding this comment.
yeah but that's because root CLAUDE.md references AGENTS.md which then references static/AGENTS.md: https://github.com/getsentry/sentry/blob/master/AGENTS.md#context-aware-loading but agents could be smarter now to look at CLAUDE|AGENTS.md in subdirs idk
| import {bulkAutofixAutomationSettingsInfiniteOptions} from 'sentry/components/events/autofix/preferences/hooks/useBulkAutofixAutomationSettings'; | ||
| import { | ||
| makeProjectSeerPreferencesQueryKey, | ||
| type SeerPreferencesResponse, | ||
| } from 'sentry/components/events/autofix/preferences/hooks/useProjectSeerPreferences'; |
There was a problem hiding this comment.
ugh, i've been trying to move stuff until utils more, the self-inflicted merge conflicts trouble me
| fetchMutation<Project>({ | ||
| method: 'PUT', | ||
| url: `/projects/${organization.slug}/${project.slug}/`, | ||
| data: {autofixAutomationTuning: 'medium'}, | ||
| }), | ||
| fetchMutation({ | ||
| method: 'POST', | ||
| url: `/projects/${organization.slug}/${project.slug}/seer/preferences/`, | ||
| data: { | ||
| repositories: preference?.repositories ?? [], | ||
| automated_run_stopping_point: preference?.automated_run_stopping_point, | ||
| automation_handoff: handoff, | ||
| }, | ||
| }), |
There was a problem hiding this comment.
will these be merged in future pending the settings migration?
There was a problem hiding this comment.
yes! after the db migration i hope we'll do an api migration to merge these


Another iteration, to bring it inline with the latest designs: https://www.figma.com/design/Os2TPvlMLlStbjqP4t3uKH/Seer-Settings-April--26?node-id=91-18871&m=dev
It's not in a slideout yet, that'll require some route surgery, coming up.
It's also not on the table view yet, that'll use a lot of the shared stuff from this.