opencode
opencode copied to clipboard
fix(acp): Fix memory leak in session event streams
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:
- Sessions may not be properly cleaned up when the parent process ends
- Event listeners may not be removed
- 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.