diff --git a/web/src/components/WebTerminal.tsx b/web/src/components/WebTerminal.tsx index a76194b..2b616d6 100644 --- a/web/src/components/WebTerminal.tsx +++ b/web/src/components/WebTerminal.tsx @@ -123,16 +123,6 @@ function serializeTerminal(term: Terminal): string { return lines.join("\n").replace(/\s+$/g, ""); } - const buf = term.buffer.active; - const lines: string[] = []; - for (let i = 0; i < buf.length; i += 1) { - const line = buf.getLine(i); - if (!line) continue; - lines.push(line.translateToString(true)); - } - return lines.join("\n").replace(/\s+$/g, ""); -} - /** Line-wise search — avoids serializing the full scrollback on every Find. */ function findBufferLine( term: Terminal, diff --git a/web/src/pages/AuditPage.tsx b/web/src/pages/AuditPage.tsx index a25fade..16e21b4 100644 --- a/web/src/pages/AuditPage.tsx +++ b/web/src/pages/AuditPage.tsx @@ -80,8 +80,13 @@ export function auditSummary( }); } if (action === "ne.exec_batch") { + const neIds = Array.isArray(d.ne_ids) ? (d.ne_ids as unknown[]) : []; + const targetCount = + d.target_count != null && d.target_count !== "" + ? Number(d.target_count) + : neIds.length; return t("audit.summary.neExecBatch", { - n: String(d.target_count ?? (((d.ne_ids as unknown[]) || []).length || 0)), + n: String(Number.isFinite(targetCount) ? targetCount : 0), ok: String(d.ok_count ?? 0), fail: String(d.fail_count ?? 0), });