mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
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:
@@ -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])
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user