Skip to content

feat(seer): Seer Code Review page allows inline editing of the connected repos in a modal#110501

Merged
ryan953 merged 6 commits intomasterfrom
ryan953/feat-code-review-edit-repos-modal
Mar 12, 2026
Merged

feat(seer): Seer Code Review page allows inline editing of the connected repos in a modal#110501
ryan953 merged 6 commits intomasterfrom
ryan953/feat-code-review-edit-repos-modal

Conversation

@ryan953
Copy link
Member

@ryan953 ryan953 commented Mar 12, 2026

SCR-20260311-rwoz

Some changes:

  • Confirm when disconnecting a repo is now inline instead of a modal
    • This is because a modal triggering a modal is annoying and destroys the first modal
  • Fixed the optimistic cache updates inside the scmIntegrationTree, so toggling things on/off updates right away. The count above 748 also updates of course
    • when the modal is closed we invalidate the cache of the Repos page behind, adding/removing items at that time
  • Added margin-left to fix the 'Nothing found' message alignment, it should be indented a lot just like a found item
  • Removed an extra redundant <Stack> from SeerRepoTable and moved <ListItemCheckboxProvider> closer to where it's needed.
    • the outer wrapper has a stack already with the same gap already

@ryan953 ryan953 requested a review from a team as a code owner March 12, 2026 03:31
@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Mar 12, 2026
@ryan953 ryan953 requested a review from billyvg March 12, 2026 18:59
Copy link
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 is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

addSuccessMessage(t('Removed %s', repo.name));
} catch {
queryClient.setQueryData(reposQueryKey as any, previousData);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Concurrent optimistic rollback can restore stale cache state

Low Severity

The previousData snapshot captured before an optimistic removal doesn't account for concurrent removals. If a user disconnects repo A then repo B in quick succession, previousDataA is [A, B, C] and previousDataB is [B, C]. If repo A's API call fails, the rollback restores the cache to [A, B, C], undoing repo B's legitimate optimistic removal. Even if repo B's API call succeeds, it won't update the cache, leaving B incorrectly shown as connected until queries are invalidated (e.g., on modal close).

Fix in Cursor Fix in Web

@ryan953 ryan953 merged commit 379d6c0 into master Mar 12, 2026
63 checks passed
@ryan953 ryan953 deleted the ryan953/feat-code-review-edit-repos-modal branch March 12, 2026 21:20
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