fix(webchat): suppress ack-only heartbeats + update changelog (#2396) (thanks @dlauer)

This commit is contained in:
Pocket Clawd committed 2026-01-26 14:52:07 -08:00
1 parent 1a172ba873
commit 0eb0364819
3 files changed
+4 -5

No files matched your search

+1
View File
@@ -30,6 +30,7 @@ Status: unreleased.
- Tlon: format thread reply IDs as @ud. (#1837) Thanks @wca4a.
- Gateway: prefer newest session metadata when combining stores. (#1823) Thanks @emanuelst.
- Web UI: keep sub-agent announce replies visible in WebChat. (#1977) Thanks @andrescardonas7.
- Web UI: honor heartbeat visibility (hide HEARTBEAT_OK acks by default) in WebChat. (#2396) Thanks @dlauer.
- CI: increase Node heap size for macOS checks. (#1890) Thanks @realZachi.
- macOS: avoid crash when rendering code blocks by bumping Textual to 0.3.1. (#2033) Thanks @garricn.
- Browser: fall back to URL matching for extension relay target resolution. (#1999) Thanks @jonit-dev.
+2 -4
View File
@@ -11,9 +11,7 @@ type WebchatHeartbeatPolicy = {
ackMaxChars: number;
};
let webchatHeartbeatPolicyCache:
| { policy: WebchatHeartbeatPolicy; loadedAtMs: number }
| undefined;
let webchatHeartbeatPolicyCache: { policy: WebchatHeartbeatPolicy; loadedAtMs: number } | undefined;
function resolveWebchatHeartbeatPolicy(): WebchatHeartbeatPolicy {
// loadConfig() reads from disk + validates, so avoid doing it on every token stream event.
@@ -209,7 +207,7 @@ export function createAgentEventHandler({
clientRunId: string,
seq: number,
jobState: "done" | "error",
error: unknown | undefined,
error: unknown,
agentRunId: string,
) => {
const text = chatRunState.buffers.get(clientRunId)?.trim() ?? "";
+1 -1
View File
@@ -1,6 +1,6 @@
import type { ClawdbotConfig } from "../config/config.js";
import type { ChannelHeartbeatVisibilityConfig } from "../config/types.channels.js";
import type { DeliverableMessageChannel, GatewayMessageChannel } from "../utils/message-channel.js";
import type { GatewayMessageChannel } from "../utils/message-channel.js";
export type ResolvedHeartbeatVisibility = {
showOk: boolean;