fix(webchat): suppress ack-only heartbeats + update changelog (#2396) (thanks @dlauer)
This commit is contained in:
parent
1a172ba873
commit
0eb0364819
@ -30,6 +30,7 @@ Status: unreleased.
|
|||||||
- Tlon: format thread reply IDs as @ud. (#1837) Thanks @wca4a.
|
- Tlon: format thread reply IDs as @ud. (#1837) Thanks @wca4a.
|
||||||
- Gateway: prefer newest session metadata when combining stores. (#1823) Thanks @emanuelst.
|
- 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: 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.
|
- 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.
|
- 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.
|
- Browser: fall back to URL matching for extension relay target resolution. (#1999) Thanks @jonit-dev.
|
||||||
|
|||||||
@ -11,9 +11,7 @@ type WebchatHeartbeatPolicy = {
|
|||||||
ackMaxChars: number;
|
ackMaxChars: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
let webchatHeartbeatPolicyCache:
|
let webchatHeartbeatPolicyCache: { policy: WebchatHeartbeatPolicy; loadedAtMs: number } | undefined;
|
||||||
| { policy: WebchatHeartbeatPolicy; loadedAtMs: number }
|
|
||||||
| undefined;
|
|
||||||
|
|
||||||
function resolveWebchatHeartbeatPolicy(): WebchatHeartbeatPolicy {
|
function resolveWebchatHeartbeatPolicy(): WebchatHeartbeatPolicy {
|
||||||
// loadConfig() reads from disk + validates, so avoid doing it on every token stream event.
|
// loadConfig() reads from disk + validates, so avoid doing it on every token stream event.
|
||||||
@ -209,7 +207,7 @@ export function createAgentEventHandler({
|
|||||||
clientRunId: string,
|
clientRunId: string,
|
||||||
seq: number,
|
seq: number,
|
||||||
jobState: "done" | "error",
|
jobState: "done" | "error",
|
||||||
error: unknown | undefined,
|
error: unknown,
|
||||||
agentRunId: string,
|
agentRunId: string,
|
||||||
) => {
|
) => {
|
||||||
const text = chatRunState.buffers.get(clientRunId)?.trim() ?? "";
|
const text = chatRunState.buffers.get(clientRunId)?.trim() ?? "";
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import type { ClawdbotConfig } from "../config/config.js";
|
import type { ClawdbotConfig } from "../config/config.js";
|
||||||
import type { ChannelHeartbeatVisibilityConfig } from "../config/types.channels.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 = {
|
export type ResolvedHeartbeatVisibility = {
|
||||||
showOk: boolean;
|
showOk: boolean;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user