fix(source-control): keep huge change sets responsive (#9477)

* fix(source-control): keep huge change sets responsive

* Fix cancellation and retry handling for capped status

* Harden capped status for conflict-heavy repositories

* Harden capped status recovery and cancellation

* fix(source-control): preserve capped status correctness

* fix(source-control): translate submodule status at render time

---------

Co-authored-by: Brennan Benson <79079362+brennanb2025@users.noreply.github.com>
This commit is contained in:
OrcaWin
2026-07-20 14:50:12 -07:00
committed by GitHub
co-authored by Brennan Benson
parent 658532a1b0
commit e109e78ebf
38 changed files with 1365 additions and 222 deletions
+16
View File
@@ -661,6 +661,22 @@ describe('gitStreamStdout', () => {
await rejection
expect(child.kill).toHaveBeenCalled()
})
it('handles a late spawn error after cancellation', async () => {
const child = createMockChildProcess(0)
spawnMock.mockReturnValue(child)
const controller = new AbortController()
const promise = gitStreamStdout(['status'], {
cwd: '/repo',
signal: controller.signal,
onStdout: () => {}
})
controller.abort()
await expect(promise).rejects.toMatchObject({ name: 'AbortError' })
expect(() => child.emit('error', new Error('spawn ENOENT'))).not.toThrow()
})
})
describe('translateWslOutputPaths', () => {