diff --git a/enterprise/server/routes/user.py b/enterprise/server/routes/user.py index 9ba37b36e4..d975787cb1 100644 --- a/enterprise/server/routes/user.py +++ b/enterprise/server/routes/user.py @@ -138,6 +138,7 @@ async def saas_search_repositories( per_page: int = 5, sort: str = 'stars', order: str = 'desc', + selected_provider: ProviderType | None = None, provider_tokens: PROVIDER_TOKEN_TYPE | None = Depends(get_provider_tokens), access_token: SecretStr | None = Depends(get_access_token), user_id: str | None = Depends(get_user_id), @@ -155,6 +156,7 @@ async def saas_search_repositories( per_page=per_page, sort=sort, order=order, + selected_provider=selected_provider, provider_tokens=provider_tokens, access_token=access_token, user_id=user_id, diff --git a/frontend/src/api/git-service/git-service.api.ts b/frontend/src/api/git-service/git-service.api.ts index 4929ed5f90..48e084873a 100644 --- a/frontend/src/api/git-service/git-service.api.ts +++ b/frontend/src/api/git-service/git-service.api.ts @@ -23,7 +23,7 @@ class GitService { */ static async searchGitRepositories( query: string, - per_page = 5, + per_page = 100, selected_provider?: Provider, ): Promise { const response = await openHands.get( diff --git a/frontend/src/hooks/query/use-search-repositories.ts b/frontend/src/hooks/query/use-search-repositories.ts index c3cefbd0fc..b963cb91ac 100644 --- a/frontend/src/hooks/query/use-search-repositories.ts +++ b/frontend/src/hooks/query/use-search-repositories.ts @@ -6,7 +6,7 @@ export function useSearchRepositories( query: string, selectedProvider?: Provider | null, disabled?: boolean, - pageSize: number = 3, + pageSize: number = 100, ) { return useQuery({ queryKey: ["repositories", "search", query, selectedProvider, pageSize], diff --git a/openhands/integrations/github/service/repos.py b/openhands/integrations/github/service/repos.py index 6d9f6d7232..89df86fadb 100644 --- a/openhands/integrations/github/service/repos.py +++ b/openhands/integrations/github/service/repos.py @@ -214,7 +214,7 @@ class GitHubReposMixin(GitHubMixinBase): all_repos = [] # Search in user repositories - user_query = f'{query} user:{user.login}' + user_query = f'in:name {query} user:{user.login}' user_params = params.copy() user_params['q'] = user_query diff --git a/tests/unit/integrations/github/test_github_service.py b/tests/unit/integrations/github/test_github_service.py index 9e059e5e2c..a60423646e 100644 --- a/tests/unit/integrations/github/test_github_service.py +++ b/tests/unit/integrations/github/test_github_service.py @@ -297,7 +297,7 @@ async def test_github_search_repositories_with_organizations(): # First call should be for user repositories user_call = calls[0] user_params = user_call[0][1] # Second argument is params - assert user_params['q'] == 'openhands user:testuser' + assert user_params['q'] == 'in:name openhands user:testuser' # Second call should be for first organization org1_call = calls[1]