Skip to content

Conversation

@suejung-sentry
Copy link
Member

@suejung-sentry suejung-sentry commented Oct 29, 2025

We are moving to a single app (sentry gh app) instead of requiring both seer github app and sentry github app. As a result, we can just use existing endpoints (including search) for onboarded repos with sentry github integration. Cut over frontend to use those.

This PR includes:

  1. Use existing integrations endpoints since we are now down to the single sentry github app to list orgs and repos
  2. Add search to the repos toolbar for cases like in getsentry that has 1,000 repos
    • Note that repo names are stored as fully qualified name like getsentry/sentry ({ghorgname}/{ghreponame}) so do further filtering on client side so matches on the org name don't count as found repos.
  3. Add infinite scroll to the repos toolbar dropdown
  4. Save name instead of id as the org key. Need to go back to name unfortunately as the id is not queryable in sentry_integration table

@github-actions github-actions bot added Scope: Frontend Automatically applied to PRs that change frontend components Scope: Backend Automatically applied to PRs that change backend components labels Oct 29, 2025
@suejung-sentry suejung-sentry removed the Scope: Backend Automatically applied to PRs that change backend components label Oct 29, 2025
@getsentry getsentry deleted a comment from github-actions bot Oct 29, 2025
@codecov
Copy link

codecov bot commented Oct 29, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff            @@
##           master   #102282   +/-   ##
========================================
  Coverage   80.96%    80.96%           
========================================
  Files        8768      8768           
  Lines      389658    389621   -37     
  Branches    24780     24768   -12     
========================================
- Hits       315469    315449   -20     
+ Misses      73811     73794   -17     
  Partials      378       378           

searchTerm: debouncedSearch,
});

const scrollParentRef = useRef<HTMLElement | null>(null);
Copy link
Contributor

Choose a reason for hiding this comment

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

Are all these refs needed to manage the infinite scroll behavior?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, if get close to the bottom of the list, we trigger fetch of the next page of repos


function ManageReposToolbar({
installedOrgs,
integratedOrgs,
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: might be more apt to name this dropdown or selector rather than toolbar (assuming this is the repo selector component, if not then ignore me 😅 )

Copy link
Member Author

Choose a reason for hiding this comment

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

technically this component has both the org dropdown and the repo dropdown within it so may just leave it for now

Copy link
Contributor

Choose a reason for hiding this comment

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

ah okay sounds good

Copy link
Contributor

@ajay-sentry ajay-sentry left a comment

Choose a reason for hiding this comment

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

looks good!

@suejung-sentry suejung-sentry merged commit ba51cfe into master Oct 29, 2025
47 of 49 checks passed
@suejung-sentry suejung-sentry deleted the sshin/prevent-repos branch October 29, 2025 17:57
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.

3 participants