fix(github): drop redundant is:pr from gh pr list search (#34633)

gh pr list already scopes --search with repo:OWNER/REPO type:pr. The
extra is:pr Orca added made private-repo PR lists come back empty when
gh is authenticated with a GitHub App user token (ghu_).

Fixes #34536
This commit is contained in:
BingZ
2026-10-27 23:09:11 -07:00
committed by GitHub
parent eac5699bcd
commit 92f3fef421
5 changed files with 14 additions and 14 deletions
+1 -1
View File
@@ -113,7 +113,7 @@ function issueSearchArgs(
]
}
function prListArgs(ownerRepo: string, query = 'is:pr is:open'): string[] {
function prListArgs(ownerRepo: string, query = 'is:open'): string[] {
return [
'pr',
'list',
@@ -201,7 +201,7 @@ describe('listWorkItems query paging', () => {
expect(ghExecFileAsyncMock).toHaveBeenCalledTimes(1)
expect(ghExecFileAsyncMock).toHaveBeenCalledWith(
expect.arrayContaining(['--search', 'is:pr is:open review-requested:@me sort:created-desc']),
expect.arrayContaining(['--search', 'is:open review-requested:@me sort:created-desc']),
{ cwd: '/repo-root' }
)
expect(ghExecFileAsyncMock).not.toHaveBeenCalledWith(
@@ -254,7 +254,7 @@ describe('listWorkItems query paging', () => {
const { items } = await listWorkItems('/repo-root', 2, 'is:pr is:open', 2)
expect(ghExecFileAsyncMock).toHaveBeenCalledWith(
expect.arrayContaining(['--limit', '4', '--search', 'is:pr is:open sort:created-desc']),
expect.arrayContaining(['--limit', '4', '--search', 'is:open sort:created-desc']),
{ cwd: '/repo-root' }
)
expect(items.map((item) => item.number)).toEqual([4, 3])
+5 -5
View File
@@ -275,7 +275,7 @@ describe('listWorkItems', () => {
'--repo',
'acme/widgets',
'--search',
'is:pr assignee:@me sort:created-desc'
'assignee:@me sort:created-desc'
],
{ cwd: '/repo-root' }
)
@@ -505,7 +505,7 @@ describe('listWorkItems', () => {
'--repo',
'acme/widgets',
'--search',
'is:pr is:open draft:true sort:created-desc'
'is:open draft:true sort:created-desc'
],
{ cwd: '/repo-root' }
)
@@ -565,7 +565,7 @@ describe('listWorkItems', () => {
'--repo',
'acme/widgets',
'--search',
'is:pr is:merged sort:created-desc'
'is:merged sort:created-desc'
],
{ cwd: '/repo-root' }
)
@@ -633,7 +633,7 @@ describe('listWorkItems', () => {
'--state',
'all',
'--search',
'is:pr is:closed -is:merged sort:created-desc'
'is:closed -is:merged sort:created-desc'
]),
{ cwd: '/repo-root' }
)
@@ -739,7 +739,7 @@ describe('listWorkItems', () => {
'--repo',
'acme/widgets',
'--search',
'is:pr is:open sort:created-desc'
'is:open sort:created-desc'
],
{ cwd: '/repo-root' }
)
@@ -29,10 +29,10 @@ export function buildWorkItemListRequest(args: {
const { kind, ownerRepo, limit, query, page } = args
const searchParts: string[] = []
// gh pr list adds repo: and type:pr itself; an extra is:pr empties private-repo results for ghu_ tokens.
if (kind === 'issue') {
searchParts.push(`repo:${ownerRepo.owner}/${ownerRepo.repo}`)
searchParts.push(`repo:${ownerRepo.owner}/${ownerRepo.repo}`, 'is:issue')
}
searchParts.push(kind === 'issue' ? 'is:issue' : 'is:pr')
if (query.state === 'open') {
searchParts.push('is:open')
@@ -57,18 +57,18 @@ it.each([
it.each([
[
'is:draft',
'is:pr is:open draft:true sort:created-desc',
'is:open draft:true sort:created-desc',
'repo:fixture/repo is:pull-request is:open draft:true'
],
[
'is:pr is:closed',
'is:pr is:closed -is:merged sort:created-desc',
'is:closed -is:merged sort:created-desc',
'repo:fixture/repo is:pull-request is:closed -is:merged'
],
['is:merged', 'is:pr is:merged sort:created-desc', 'repo:fixture/repo is:pull-request is:merged'],
['is:merged', 'is:merged sort:created-desc', 'repo:fixture/repo is:pull-request is:merged'],
[
'review-requested:"some user" reviewed-by:someone',
'is:pr review-requested:"some user" reviewed-by:someone sort:created-desc',
'review-requested:"some user" reviewed-by:someone sort:created-desc',
'repo:fixture/repo is:pull-request review-requested:"some user" reviewed-by:someone'
]
])('keeps rich PR lists and full count predicates for %s', async (query, prSearch, countSearch) => {