fix(backends,conversations,telegram,ui): a background subagent reports back as its own turn

This commit is contained in:
hh committed 2026-09-04 20:23:33 +02:00
1 parent 1f051f261e
commit 96e18156eb
15 files changed
+608 -91

No files matched your search

+6 -4
View File
@@ -7,7 +7,7 @@
import { clip, fmtDateTime, fmtTime } from "$lib/format";
import { cn } from "$lib/utils";
import type { ActivityModel } from "./activity.svelte";
import { summarizeInput, toolLabel } from "./activity.svelte";
import { isLive, summarizeInput, toolLabel } from "./activity.svelte";
import { cacheableHistory, historyKey } from "./history-cache";
import { usePanelHost } from "./host";
import Markdown from "./markdown.svelte";
@@ -48,7 +48,7 @@
const tail = $derived(
model.turns
.filter((turn) => turn.status === "running" || turn.startedAt > loadedAt)
.filter((turn) => isLive(turn) || turn.startedAt > loadedAt)
.reverse()
);
const tailSize = $derived(
@@ -150,14 +150,16 @@
$effect(() => {
const timer = setInterval(() => {
if (model.running) {
if (model.live.length > 0) {
now = Date.now();
}
}, TICK_MS);
return () => clearInterval(timer);
});
const SYSTEM_HEAD = /^\[[^\]\n]+\]/;
// Text the gateway or the CLI put in the user's seat: an inject header,
// an envelope, a subagent's report.
const SYSTEM_HEAD = /^(\[[^\]\n]+\]|<task-notification>)/;
const SECONDS = /:\d{2}$/;
const DAY_TIME = /,?\s*\d{2}:\d{2}$/;
let openSystem = $state<Set<number>>(new Set());