opencode icon indicating copy to clipboard operation
opencode copied to clipboard

fix(acp): Fix memory leak in session event streams

Open sauerdaniel opened this issue 13 hours ago • 2 comments

Summary

Add proper cleanup for ACP (Agent Communication Protocol) sessions to prevent resource leaks from orphaned sessions.

Fixes #9154 Relates to #5363

Problem

When ACP sessions are created:

  1. Sessions may not be properly cleaned up when the parent process ends
  2. Event listeners may not be removed
  3. Orphaned sessions can accumulate

Solution

Add proper session lifecycle management:

  • Track active sessions
  • Clean up sessions on process exit
  • Remove event listeners properly

Changes

  • packages/opencode/src/acp/session.ts - Add session cleanup logic

Testing

  • [x] TypeScript compilation passes (bun turbo typecheck)
  • [x] Unit tests pass (725 tests, 0 failures)

Note: Manual ACP session cleanup testing was not performed.

sauerdaniel avatar Jan 17 '26 23:01 sauerdaniel