Keep opened issue details and edits in the selected repository (#24729)

Keeps a fork issue’s details, metadata and edits bound to the repository the user opened, including same-number issues in fork and upstream. Repairs selected-assignee leakage and delayed failed edits repainting another issue.

Fixes #24378

Incorporates and cross-reviews contributor PR #24379, including its source-resolver correction and regression material. Covers the contributor PR’s Project-row identity and retained-dialog mutation findings. The final published head passes focused tests, hidden macOS rendering and current CI; the callback-timing bot thread has an evidence-based response.

Co-authored-by: Katsuma Takehisa <k.takehisa@nissogr.com>
This commit is contained in:
Neil
2026-10-03 23:19:55 -07:00
committed by GitHub
co-authored by Katsuma Takehisa
parent 8267b578b2
commit ce07786266
58 changed files with 3045 additions and 372 deletions
@@ -22,4 +22,25 @@ describe('isValidGitHubApiRepository', () => {
expect(isValidGitHubApiRepository({ owner: 'acme', repo: '..' })).toBe(false)
expect(isValidGitHubApiRepository({ owner: 'acme', repo: 'a/b' })).toBe(false)
})
it.each([42, false, null, {}])('rejects a non-string repository host: %j', (host) => {
expect(isValidGitHubApiRepository({ owner: 'acme', repo: 'orca', host })).toBe(false)
})
it.each([undefined, 'github.com', 'github.enterprise.test:8443'])(
'accepts supported legacy or explicit repository host types: %j',
(host) => {
expect(isValidGitHubApiRepository({ owner: 'acme', repo: 'orca', host })).toBe(true)
}
)
it.each([
null,
'acme/orca',
{ owner: 42, repo: 'orca' },
{ owner: 'acme', repo: 42 },
{ owner: 'acme' }
])('rejects malformed runtime repository identities: %j', (repository) => {
expect(isValidGitHubApiRepository(repository)).toBe(false)
})
})