Refine tool call summaries and scrolling (#2069)

* feat(app): refine tool call summaries and scrolling

Keep summary groups stable from the first tool call, preserve live activity feedback, and scroll expanded groups to the latest entry. Consolidate web scrollbar styling around the native browser mechanism.

* refactor(app): reuse tool call height constant

* fix(app): preserve tool call summary state

* fix(app): refresh web tool groups on expand

* fix(app): preserve grouped tool errors
This commit is contained in:
Mohamed Boudra
2026-07-14 21:16:29 +02:00
committed by GitHub
parent d781b68711
commit 1b8af2e58e
55 changed files with 1484 additions and 2488 deletions
+5 -8
View File
@@ -1393,8 +1393,6 @@ export const ar: TranslationResources = {
output: "الإخراج",
},
toolCallGroup: {
title: "الأدوات",
accessibilityLabel: "الأدوات، {{count}} استدعاءات",
editedFiles: {
one: "حرّر {{count}} ملفًا",
other: "حرّر {{count}} ملفات",
@@ -1520,13 +1518,12 @@ export const ar: TranslationResources = {
description: "إظهار تفكير الوكيل وخطوات الاستدلال بشكل كامل بشكل افتراضي",
},
toolCallDetail: {
label: "تفاصيل استدعاءات الأدوات",
description: "كيفية ظهور نشاط الأدوات في الخط الزمني للوكيل",
accessibilityLabel: "حدد مستوى تفاصيل الأدوات ({{value}})",
label: "عرض استدعاءات الأدوات",
description: "كيفية ظهور استدعاءات الأدوات في المخطط الزمني",
accessibilityLabel: "حدد عرض استدعاءات الأدوات ({{value}})",
options: {
overview: "نظرة عامة",
concise: "موجز",
detailed: "مفصل",
overview: "ملخص",
detailed: "التفاصيل الكاملة",
},
},
language: {
+5 -8
View File
@@ -1401,8 +1401,6 @@ export const en = {
output: "Output",
},
toolCallGroup: {
title: "Tools",
accessibilityLabel: "Tools, {{count}} calls",
editedFiles: {
one: "edited {{count}} file",
other: "edited {{count}} files",
@@ -1527,13 +1525,12 @@ export const en = {
description: "Show agent thinking and chain-of-thought blocks fully expanded by default",
},
toolCallDetail: {
label: "Tool call detail",
description: "How tool activity appears in agent timelines",
accessibilityLabel: "Select tool call detail ({{value}})",
label: "Tool call display",
description: "How tool calls appear in the timeline",
accessibilityLabel: "Select tool call display ({{value}})",
options: {
overview: "Overview",
concise: "Concise",
detailed: "Detailed",
overview: "Summary",
detailed: "Full detail",
},
},
language: {
+4 -7
View File
@@ -1432,8 +1432,6 @@ export const es: TranslationResources = {
output: "Producción",
},
toolCallGroup: {
title: "Herramientas",
accessibilityLabel: "Herramientas, {{count}} llamadas",
editedFiles: {
one: "editó {{count}} archivo",
other: "editó {{count}} archivos",
@@ -1561,13 +1559,12 @@ export const es: TranslationResources = {
"Mostrar los bloques de pensamiento y razonamiento del agente totalmente expandidos de forma predeterminada",
},
toolCallDetail: {
label: "Detalle de llamadas a herramientas",
description: "Cómo aparece la actividad de herramientas en las cronologías del agente",
accessibilityLabel: "Seleccionar detalle de herramientas ({{value}})",
label: "Visualización de llamadas a herramientas",
description: "Cómo aparecen las llamadas a herramientas en la cronología",
accessibilityLabel: "Seleccionar visualización de llamadas a herramientas ({{value}})",
options: {
overview: "Resumen",
concise: "Conciso",
detailed: "Detallado",
detailed: "Detalle completo",
},
},
language: {
+5 -8
View File
@@ -1435,8 +1435,6 @@ export const fr: TranslationResources = {
output: "Sortir",
},
toolCallGroup: {
title: "Outils",
accessibilityLabel: "Outils, {{count}} appels",
editedFiles: {
one: "a modifié {{count}} fichier",
other: "a modifié {{count}} fichiers",
@@ -1563,13 +1561,12 @@ export const fr: TranslationResources = {
description: "Afficher le raisonnement de l'agent entièrement développé par défaut",
},
toolCallDetail: {
label: "Détail des appels d’outils",
description: "Affichage de l’activité des outils dans la chronologie de l’agent",
accessibilityLabel: "Sélectionner le détail des outils ({{value}})",
label: "Affichage des appels d’outils",
description: "Comment les appels d’outils apparaissent dans la chronologie",
accessibilityLabel: "Sélectionner l’affichage des appels d’outils ({{value}})",
options: {
overview: "Vue d’ensemble",
concise: "Concis",
detailed: "Détaillé",
overview: "Résumé",
detailed: "Détails complets",
},
},
language: {
+5 -8
View File
@@ -1410,8 +1410,6 @@ export const ja: TranslationResources = {
output: "出力",
},
toolCallGroup: {
title: "ツール",
accessibilityLabel: "ツール、{{count}}件の呼び出し",
editedFiles: {
one: "{{count}}個のファイルを編集",
other: "{{count}}個のファイルを編集",
@@ -1536,13 +1534,12 @@ export const ja: TranslationResources = {
description: "デフォルトでAIのエージェント思考・推論ブロックを完全に展開して表示します",
},
toolCallDetail: {
label: "ツール呼び出しの詳細",
description: "エージェントのタイムラインでのツール活動の表示方法",
accessibilityLabel: "ツール詳細を選択({{value}})",
label: "ツール呼び出しの表示",
description: "タイムラインでのツール呼び出しの表示方法",
accessibilityLabel: "ツール呼び出しの表示を選択({{value}})",
options: {
overview: "概要",
concise: "簡潔",
detailed: "詳細",
overview: "要約",
detailed: "すべての詳細",
},
},
language: {
+5 -8
View File
@@ -1418,8 +1418,6 @@ export const ptBR: TranslationResources = {
output: "Saída",
},
toolCallGroup: {
title: "Ferramentas",
accessibilityLabel: "Ferramentas, {{count}} chamadas",
editedFiles: {
one: "editou {{count}} arquivo",
other: "editou {{count}} arquivos",
@@ -1546,13 +1544,12 @@ export const ptBR: TranslationResources = {
"Mostrar os blocos de pensamento e raciocínio do agente totalmente expandidos por padrão",
},
toolCallDetail: {
label: "Detalhe das chamadas de ferramentas",
description: "Como a atividade das ferramentas aparece na linha do tempo do agente",
accessibilityLabel: "Selecionar detalhe das ferramentas ({{value}})",
label: "Exibição de chamadas de ferramentas",
description: "Como as chamadas de ferramentas aparecem na linha do tempo",
accessibilityLabel: "Selecionar exibição de chamadas de ferramentas ({{value}})",
options: {
overview: "Visão geral",
concise: "Conciso",
detailed: "Detalhado",
overview: "Resumo",
detailed: "Detalhes completos",
},
},
language: {
+5 -8
View File
@@ -1424,8 +1424,6 @@ export const ru: TranslationResources = {
output: "Выход",
},
toolCallGroup: {
title: "Инструменты",
accessibilityLabel: "Инструменты, вызовов: {{count}}",
editedFiles: {
one: "изменён {{count}} файл",
other: "изменено {{count}} файлов",
@@ -1551,13 +1549,12 @@ export const ru: TranslationResources = {
"По умолчанию показывать блоки размышлений и логики агента полностью развернутыми",
},
toolCallDetail: {
label: "Детализация вызовов инструментов",
description: "Отображение активности инструментов в хронологии агента",
accessibilityLabel: "Выбрать детализацию инструментов ({{value}})",
label: "Отображение вызовов инструментов",
description: "Как вызовы инструментов отображаются на временной шкале",
accessibilityLabel: "Выбрать отображение вызовов инструментов ({{value}})",
options: {
overview: "Обзор",
concise: "Кратко",
detailed: "Подробно",
overview: "Сводка",
detailed: "Полная детализация",
},
},
language: {
+5 -8
View File
@@ -1377,8 +1377,6 @@ export const zhCN: TranslationResources = {
output: "输出",
},
toolCallGroup: {
title: "工具",
accessibilityLabel: "工具,{{count}} 次调用",
editedFiles: {
one: "编辑了 {{count}} 个文件",
other: "编辑了 {{count}} 个文件",
@@ -1503,13 +1501,12 @@ export const zhCN: TranslationResources = {
description: "默认情况下完全展开 AI 的思考和推理过程",
},
toolCallDetail: {
label: "工具调用详情",
description: "工具活动在智能体时间线中的显示方式",
accessibilityLabel: "选择工具调用详情({{value}})",
label: "工具调用显示",
description: "工具调用在时间线中的显示方式",
accessibilityLabel: "选择工具调用显示方式({{value}})",
options: {
overview: "概览",
concise: "简洁",
detailed: "详细",
overview: "摘要",
detailed: "完整详情",
},
},
language: {