fix(app): keep tool call summaries neutral (#2090)

Individual tool outcomes remain visible in the expanded list. The aggregate header no longer treats a handled tool result as a failure of the overall work.
This commit is contained in:
Mohamed Boudra
2026-07-15 18:34:30 +02:00
committed by GitHub
parent 04e893417e
commit 9423b091b9
11 changed files with 0 additions and 19 deletions
-1
View File
@@ -1420,7 +1420,6 @@ export const ar: TranslationResources = {
other: "استدعى Paseo {{count}} مرات",
},
and: "و",
failed: "فشل {{count}}",
},
renameModal: {
rename: "إعادة تسمية",
-1
View File
@@ -1428,7 +1428,6 @@ export const en = {
other: "called Paseo {{count}} times",
},
and: "and",
failed: "{{count}} failed",
},
renameModal: {
rename: "Rename",
-1
View File
@@ -1459,7 +1459,6 @@ export const es: TranslationResources = {
other: "llamó a Paseo {{count}} veces",
},
and: "y",
failed: "{{count}} con error",
},
renameModal: {
rename: "Rebautizar",
-1
View File
@@ -1462,7 +1462,6 @@ export const fr: TranslationResources = {
other: "a appelé Paseo {{count}} fois",
},
and: "et",
failed: "{{count}} en échec",
},
renameModal: {
rename: "Rebaptiser",
-1
View File
@@ -1437,7 +1437,6 @@ export const ja: TranslationResources = {
other: "Paseoを{{count}}回呼び出し",
},
and: "および",
failed: "{{count}}件失敗",
},
renameModal: {
rename: "名前を変更",
-1
View File
@@ -1445,7 +1445,6 @@ export const ptBR: TranslationResources = {
other: "chamou o Paseo {{count}} vezes",
},
and: "e",
failed: "{{count}} com falha",
},
renameModal: {
rename: "Renomear",
-1
View File
@@ -1451,7 +1451,6 @@ export const ru: TranslationResources = {
other: "Paseo вызван {{count}} раз",
},
and: "и",
failed: "С ошибкой: {{count}}",
},
renameModal: {
rename: "Переименовать",
-1
View File
@@ -1404,7 +1404,6 @@ export const zhCN: TranslationResources = {
other: "调用了 Paseo {{count}} 次",
},
and: "并",
failed: "{{count}} 次失败",
},
renameModal: {
rename: "重命名",
@@ -17,7 +17,6 @@ export interface OverviewToolCallGroup {
mode: "overview";
run: ToolCallRun;
summary: OverviewSummary;
failedCount: number;
isLoading: boolean;
}
@@ -32,7 +31,6 @@ function isSearchCall(name: string): boolean {
export function buildOverviewGroup(run: ToolCallRun): OverviewToolCallGroup {
const editedFiles = new Set<string>();
const readFiles = new Set<string>();
let failedCount = 0;
let isLoading = false;
let commandCount = 0;
let searchCount = 0;
@@ -42,7 +40,6 @@ export function buildOverviewGroup(run: ToolCallRun): OverviewToolCallGroup {
for (const call of run.calls) {
const descriptor = describeToolCall(call);
const normalizedName = descriptor.name.trim().toLowerCase();
failedCount += descriptor.status === "failed" ? 1 : 0;
isLoading ||= descriptor.status === "running" || descriptor.status === "executing";
if (isPaseoCall(descriptor.name, normalizedName)) {
paseoCallCount += 1;
@@ -70,7 +67,6 @@ export function buildOverviewGroup(run: ToolCallRun): OverviewToolCallGroup {
return {
mode: "overview",
run,
failedCount,
isLoading,
summary,
};
@@ -58,11 +58,8 @@ export const OverviewToolCallGroupView = memo(function OverviewToolCallGroupView
onExpandedChange,
children,
}: OverviewGroupProps) {
const { t } = useTranslation();
const scrollRef = useRef<ScrollView>(null);
const aggregateSummary = useOverviewSummary(group.summary);
const failedSummary =
group.failedCount > 0 ? t("toolCallGroup.failed", { count: group.failedCount }) : undefined;
const scrollToLatest = useCallback(() => {
scrollRef.current?.scrollToEnd({ animated: false });
}, []);
@@ -89,10 +86,8 @@ export const OverviewToolCallGroupView = memo(function OverviewToolCallGroupView
<ExpandableBadge
testID="tool-call-group"
label={aggregateSummary}
secondaryLabel={failedSummary}
icon={Wrench}
isLoading={group.isLoading}
isError={group.failedCount > 0}
isExpanded={expanded}
isLastInSequence={isLastInSequence}
onToggle={toggle}
@@ -231,7 +231,6 @@ describe("tool call detail-level projection", () => {
expect(overview.groupsByHostId.get("1")).toEqual({
mode: "overview",
run: expect.any(Object),
failedCount: 1,
isLoading: false,
summary: {
editedFileCount: 1,
@@ -260,7 +259,6 @@ describe("tool call detail-level projection", () => {
const result = project({ level: "overview", head: calls });
expect(result.groupsByHostId.get("1")).toMatchObject({
failedCount: 1,
summary: {
editedFileCount: 0,
commandCount: 0,