IJPL-248623 IJPL-248555 stabilize Agent Workbench ACP chat rendering

Streaming and restored ACP threads rebuilt transcript rows too broadly, so Swing could recompute wrapped text while the viewport was trying to follow the tail. Keep the transcript panel stable by using a scrollable transcript view, coalescing projection renders, preserving manual scroll intent, and updating the streaming tail row in place.

Record local user prompts before the ACP connection is ready so the sender sees the message immediately. Normalize text-like raw ACP tool output objects and arrays to readable transcript text instead of JSON wrappers, and keep scroll/render diagnostics in the IDE log for follow-up investigation.

GitOrigin-RevId: ec47b45fd674e89042cd83667cae9164a23cb8b4
This commit is contained in:
Sergey Ignatov
2026-07-09 18:59:27 +00:00
committed by intellij-monorepo-bot
parent 287a89f06e
commit ab4d03b407
2 changed files with 888 additions and 108 deletions
@@ -4,6 +4,7 @@ acp.screen.empty=No messages yet. Thread status: {0}.
acp.screen.pendingApprovals={0} approval(s) waiting for your response
acp.screen.input.hint=Type a message and press Enter (Shift+Enter for a new line)
acp.screen.input.readonly=This thread is read-only
acp.screen.input.accessible.name=Thread message input
acp.screen.row.tool=TOOL
acp.screen.row.command=COMMAND
acp.screen.row.plan=PLAN
@@ -11,3 +12,15 @@ acp.screen.row.diff=DIFF
acp.screen.row.context=CONTEXT
acp.screen.row.status={0} - {1}
acp.screen.approval.status=Approval: {0}
acp.screen.message.streaming=streaming
acp.screen.section.command=Command: {0}
acp.screen.section.path=Path: {0}
acp.screen.section.output=Output:\n{0}
acp.screen.section.summary=Summary: {0}
acp.screen.command.status.exitCode={0}, exit code {1}
acp.screen.command.exitCode=exit code {0}
acp.screen.plan.completed=completed
acp.screen.plan.running=running
acp.screen.plan.item={0} - {1}
acp.screen.diff.empty=No diff content.
acp.screen.output.truncated=... output truncated
File diff suppressed because it is too large Load Diff