[PR #9146] fix(acp): Fix memory leak in session event streams #13005

Open
opened 2026-02-16 18:17:53 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/anomalyco/opencode/pull/9146

State: open
Merged: No


Summary

Fix ACP session resource cleanup to prevent stale session state and leaked per-session resources.

Fixes #9154
Relates to #5363

Problem

ACP sessions were not fully cleaned up when sessions were deleted, leaving stale entries in session maps and per-session permission queues.

Solution

  • Handle session-deleted events by explicitly closing the session
  • Add closeSession(sessionId) in ACP agent to remove session state + permission queue entries
  • Add agent dispose() cleanup path to clear remaining session state and abort global event stream
  • Add delete()/clear() helpers to ACPSessionManager

Changes

  • packages/opencode/src/acp/agent.ts
  • packages/opencode/src/acp/session.ts

Testing

  • TypeScript compilation passes (bun turbo typecheck)
  • Unit tests pass

AI-Assisted

Yes

**Original Pull Request:** https://github.com/anomalyco/opencode/pull/9146 **State:** open **Merged:** No --- ## Summary Fix ACP session resource cleanup to prevent stale session state and leaked per-session resources. Fixes #9154 Relates to #5363 ## Problem ACP sessions were not fully cleaned up when sessions were deleted, leaving stale entries in session maps and per-session permission queues. ## Solution - Handle session-deleted events by explicitly closing the session - Add closeSession(sessionId) in ACP agent to remove session state + permission queue entries - Add agent dispose() cleanup path to clear remaining session state and abort global event stream - Add delete()/clear() helpers to ACPSessionManager ## Changes - packages/opencode/src/acp/agent.ts - packages/opencode/src/acp/session.ts ## Testing - [x] TypeScript compilation passes (bun turbo typecheck) - [x] Unit tests pass ## AI-Assisted Yes
yindo added the pull-request label 2026-02-16 18:17:53 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#13005