fix: resolve lifecycle memory leaks by cleaning up listeners and root closures (#25049)

This commit is contained in:
Spencer
2026-04-10 00:21:14 -04:00
committed by GitHub
parent 43b93e9e1b
commit 5fc8fea8d7
8 changed files with 108 additions and 18 deletions
@@ -208,6 +208,7 @@ describe('ShellExecutionService', () => {
beforeEach(() => {
vi.clearAllMocks();
ExecutionLifecycleService.resetForTest();
ShellExecutionService.resetForTest();
mockSerializeTerminalToObject.mockReturnValue([]);
mockIsBinary.mockReturnValue(false);
mockPlatform.mockReturnValue('linux');
@@ -1247,6 +1248,8 @@ describe('ShellExecutionService child_process fallback', () => {
beforeEach(() => {
vi.clearAllMocks();
ExecutionLifecycleService.resetForTest();
ShellExecutionService.resetForTest();
mockIsBinary.mockReturnValue(false);
mockPlatform.mockReturnValue('linux');
@@ -1662,6 +1665,8 @@ describe('ShellExecutionService execution method selection', () => {
beforeEach(() => {
vi.clearAllMocks();
ExecutionLifecycleService.resetForTest();
ShellExecutionService.resetForTest();
onOutputEventMock = vi.fn();
// Mock for pty
@@ -1786,6 +1791,8 @@ describe('ShellExecutionService environment variables', () => {
beforeEach(() => {
vi.clearAllMocks();
ExecutionLifecycleService.resetForTest();
ShellExecutionService.resetForTest();
vi.resetModules(); // Reset modules to ensure process.env changes are fresh
// Mock for pty