Skip to content

fix(seer): Show loading state instead of empty agent dropdown on initial load - #120221

Open
billyvg wants to merge 2 commits into
masterfrom
billyvg/fix/seer-agent-dropdown-empty-race
Open

fix(seer): Show loading state instead of empty agent dropdown on initial load#120221
billyvg wants to merge 2 commits into
masterfrom
billyvg/fix/seer-agent-dropdown-empty-race

Conversation

@billyvg

@billyvg billyvg commented Jul 21, 2026

Copy link
Copy Markdown
Member

Summary

  • The per-row agent Select in SeerProjectTable renders with a real value (e.g. 'seer') but an empty options list until the separate agentSelectOptions query resolves, so the dropdown briefly appears blank before the correct option pops in.
  • Gate the cell's render on that query's pending state and show a loading indicator instead, mirroring the existing fix in AutofixAgent.
  • Apply the same gating to the bulk header PreferredAgentDropdownMenu (disabled + busy trigger while pending).

Fixes CW-1529.

Test plan

  • Added seerProjectTable.spec.tsx tests asserting a loading indicator (not an empty select) shows while options are pending, and the real Seer value appears once they resolve
  • pnpm test-ci static/app/components/seer/projectTable/seerProjectTable.spec.tsx passes (5/5)
  • pnpm run typecheck clean for touched files

…ial load

SeerProjectTable's per-row agent Select rendered with a real value but
an empty options list until the agentSelectOptions query resolved,
causing the dropdown to appear blank and then pop in. Gate the cell
(and the bulk header dropdown) on that query's pending state instead,
mirroring the existing fix in AutofixAgent.

Fixes CW-1529
@linear-code

linear-code Bot commented Jul 21, 2026

Copy link
Copy Markdown

CW-1529

@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Jul 21, 2026
Keep field.Select rendered during the agentSelectOptions race window
instead of swapping the cell for a LoadingIndicator. Disable the
select and fall back to a single placeholder option keyed to the
current value, so Select's value-matching always resolves and the
field never renders blank. Also add an aria-label since the select had
none, which the updated tests rely on to query it.
@billyvg

billyvg commented Jul 21, 2026

Copy link
Copy Markdown
Member Author

@sentry review

@billyvg
billyvg marked this pull request as ready for review July 21, 2026 17:55
@billyvg
billyvg requested a review from ryan953 July 21, 2026 18:04
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.

1 participant