From cbf2b73ca7ae80b5182b141c2ae533f2b6f10f8b Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Mon, 22 Jun 2026 14:35:19 +0900 Subject: fix: tool output scrolls within its container instead of bleeding out Add overflow-hidden to tool card containers and overflow-x-auto to
 elements so long tool output (file contents, JSON, etc.) gets
its own scrollbar instead of expanding the chat width and creating
a horizontal scrollbar on the entire transcript.

686 tests green.
---
 src/features/chat/ui/ChatView.svelte | 58 ++++++++++++++++++------------------
 1 file changed, 29 insertions(+), 29 deletions(-)

diff --git a/src/features/chat/ui/ChatView.svelte b/src/features/chat/ui/ChatView.svelte
index 2a17ac7..5aced29 100644
--- a/src/features/chat/ui/ChatView.svelte
+++ b/src/features/chat/ui/ChatView.svelte
@@ -120,20 +120,20 @@
 		     the card inherits the same left offset as the bubble bodies. -->
 		
- {#if rendered.chunk.type === "tool-call"} -
- {rendered.chunk.toolName} -
{JSON.stringify(rendered.chunk.input, null, 2)}
-
- {:else} -
- {rendered.chunk.toolName} -
{rendered.chunk.content}
-
- {/if} + {#if rendered.chunk.type === "tool-call"} +
+ {rendered.chunk.toolName} +
{JSON.stringify(rendered.chunk.input, null, 2)}
+
+ {:else} +
+ {rendered.chunk.toolName} +
{rendered.chunk.content}
+
+ {/if}
{:else} @@ -224,21 +224,21 @@ the single tool card so it lines up with the other messages. -->
-
    - {#each row.group.entries as entry (entry.call.toolCallId)} -
  • -
    - {entry.call.toolName} -
    {JSON.stringify(entry.call.input, null, 2)}
    - {#if entry.result} -
    {entry.result.content}
    - {/if} -
    -
  • - {/each} -
+
    + {#each row.group.entries as entry (entry.call.toolCallId)} +
  • +
    + {entry.call.toolName} +
    {JSON.stringify(entry.call.input, null, 2)}
    + {#if entry.result} +
    {entry.result.content}
    + {/if} +
    +
  • + {/each} +
{/if} -- cgit v1.2.3