Problem:
`closeSession()` was called synchronously from the runtime selector action path. Closing an active ACP session can block while closing stdio transport streams. In practice this can park the Swing UI thread in `AcpProtocolCore.close()` / `StdioTransport.close()`, leaving IntelliJ black-screened until the child ACP
process is killed externally.
A freeze report captured the EDT stuck under:
- `AgentModelComboBoxAction.actionPerformed`
- `ExternalAcpAgentService.closeSession`
- `AcpProcessState.close`
- `AcpProtocolCore.close`
- `StdioTransport.close`
- `FileDescriptor.close0`
Changes:
- Close removed ACP process states asynchronously on the service IO scope.
- Remove the session setup mutex immediately after removing the state.
- Stop the child ACP process before closing the protocol.
- Force-kill the child process if it does not exit shortly after `destroy()`.
- Log cleanup failures instead of propagating them back through the UI action path.
Test-Locally
- Reproduced locally with OpenCode -> Codex switching causing IntelliJ to freeze.
- Verified the same close-order patch locally stopped the freeze by letting the ACP process terminate before protocol cleanup.
* Critical edit field bug fix
- Fixed issue when attached files were over 1 line, no more text input were accessible
- Adjusted edit lines to 2 instead of 1 for better view
* Generate commit message with AI fixed
Fixed crashing and non working generate commit message with AI
* Add edit mode default value switch to settings
Added in settings controls to enable/disable edit mode default setting in chat
* Setting to save attached files to chat
Implemented settings param to save attached to chat files. Implemented logs
* refactor: remove code and adjust UI
---------
Co-authored-by: Carl-Robert Linnupuu <carlrobertoh@gmail.com>
Added fields in settings to manually set max overall context and max output context for calculation in agent mode. Default values were too low and didn't count specific model specs. Now it's solved
Fixed diagnostics being broken + added diagnostics as tool for agent. Now it shows relevant files and can filter errors separately.
Fixed Custom OpenAI providers being broken in Agent mode. None worked previously, was streaming bug issues for both
Also passes actual search text to group lookups instead of empty string, adds early termination (200 file cap) to prevent full project tree scans, and deduplicates merged results.