openclaw/src
Marcus Widing ea95e88dd6 fix(cron): prevent duplicate delivery for isolated jobs with announce mode
When an isolated cron job delivers its output via deliverOutboundPayloads
or the subagent announce flow, the finish handler in executeJobCore
unconditionally posts a summary to the main agent session and wakes it
via requestHeartbeatNow. The main agent then generates a second response
that is also delivered to the target channel, resulting in duplicate
messages with different content.

Add a `delivered` flag to RunCronAgentTurnResult that is set to true
when the isolated run successfully delivers its output. In executeJobCore,
skip the enqueueSystemEvent + requestHeartbeatNow call when the flag is
set, preventing the main agent from waking up and double-posting.

Fixes #15692
2026-02-13 23:49:10 +01:00
..
acp fix: close OC-02 gaps in ACP permission + gateway HTTP deny config (#15390) (thanks @aether-ai-agent) 2026-02-13 14:30:06 +01:00
agents perf(test): cut setup/import overhead in hot suites 2026-02-13 21:23:50 +00:00
auto-reply fix: archive old transcript files on /new and /reset (#14949) 2026-02-13 14:55:16 -05:00
browser perf(test): cut setup/import overhead in hot suites 2026-02-13 21:23:50 +00:00
canvas-host perf(test): reduce module reload overhead in key suites 2026-02-13 15:45:19 +00:00
channels perf(test): reduce hot-suite import and setup overhead 2026-02-13 20:26:39 +00:00
cli perf(test): cut setup/import overhead in hot suites 2026-02-13 21:23:50 +00:00
commands perf(test): reduce hot-suite import and setup overhead 2026-02-13 20:26:39 +00:00
compat
config perf(test): cut setup/import overhead in hot suites 2026-02-13 21:23:50 +00:00
cron fix(cron): prevent duplicate delivery for isolated jobs with announce mode 2026-02-13 23:49:10 +01:00
daemon fix(daemon): preserve backslashes in parseCommandLine on Windows (#15642) 2026-02-13 19:27:06 +01:00
discord perf: reduce hotspot test startup and timeout costs 2026-02-13 20:03:01 +00:00
docs
gateway fix: add outbound delivery crash recovery (#15636) (thanks @nabbilkhan) (#15636) 2026-02-13 15:54:07 -06:00
hooks perf(test): cut setup/import overhead in hot suites 2026-02-13 21:23:50 +00:00
imessage fix(imessage): prevent rpc spawn in tests 2026-02-13 17:36:37 +01:00
infra fix: add outbound delivery crash recovery (#15636) (thanks @nabbilkhan) (#15636) 2026-02-13 15:54:07 -06:00
line refactor(line): split flex template builders 2026-02-13 19:08:37 +00:00
link-understanding fix(security): block private/loopback/metadata IPs in link-understanding URL detection (#15604) 2026-02-13 18:38:40 +01:00
logging perf(test): eliminate resetModules via injectable seams 2026-02-13 16:20:37 +00:00
macos fix: reset stale execution state after SIGUSR1 in-process restart (#15195) 2026-02-13 15:30:09 -05:00
markdown feat(telegram): render blockquotes as native <blockquote> tags (#14608) (#14626) 2026-02-12 08:11:57 -05:00
media perf(test): eliminate resetModules via injectable seams 2026-02-13 16:20:37 +00:00
media-understanding refactor(media): extract runner entry execution helpers 2026-02-13 19:08:37 +00:00
memory refactor(memory): extract manager sync and embedding ops 2026-02-13 19:08:37 +00:00
node-host refactor(node-host): extract invoke handlers 2026-02-13 19:08:37 +00:00
pairing perf: replace proper-lockfile with lightweight file locks 2026-02-13 17:57:30 +00:00
plugin-sdk fix(security): enforce bounded webhook body handling 2026-02-13 19:14:54 +01:00
plugins perf(test): cut setup/import overhead in hot suites 2026-02-13 21:23:50 +00:00
process perf(test): cut setup/import overhead in hot suites 2026-02-13 21:23:50 +00:00
providers perf(test): eliminate resetModules via injectable seams 2026-02-13 16:20:37 +00:00
routing fix: add discord role allowlists (#10650) (thanks @Minidoracat) 2026-02-12 19:52:24 -06:00
scripts
security refactor(security): extract channel audit checks 2026-02-13 19:08:37 +00:00
sessions fix: preserve inter-session input provenance (thanks @anbecker) 2026-02-13 02:02:01 +01:00
shared/text
signal perf(test): reduce module reload churn in unit suites 2026-02-13 15:19:13 +00:00
slack fix(security): enforce bounded webhook body handling 2026-02-13 19:14:54 +01:00
telegram perf: speed up telegram media e2e flush timing 2026-02-13 19:52:45 +00:00
terminal fix(onboarding): exit cleanly after web ui hatch 2026-02-13 03:20:32 +01:00
test-helpers
test-utils perf(test): reduce hot-suite import and setup overhead 2026-02-13 20:26:39 +00:00
tts refactor(tts): extract directives and provider core 2026-02-13 19:08:37 +00:00
tui fix(tui): preserve streamed text when final payload regresses (#15452) (#15573) 2026-02-13 19:12:59 +01:00
types
utils fix: use relayAbort helper for addEventListener to preserve AbortError reason 2026-02-13 18:13:18 +01:00
web perf(test): cut setup/import overhead in hot suites 2026-02-13 21:23:50 +00:00
whatsapp
wizard fix(configure): reject literal "undefined" and "null" gateway auth tokens (#13767) 2026-02-13 17:04:41 +01:00
channel-web.barrel.test.ts
channel-web.ts
docker-setup.test.ts fix(tts): strip markdown before sending text to TTS engines (#13237) 2026-02-12 10:46:57 -05:00
entry.ts
extensionAPI.ts
globals.test.ts
globals.ts
index.test.ts
index.ts
logger.test.ts
logger.ts
logging.ts perf(test): eliminate resetModules via injectable seams 2026-02-13 16:20:37 +00:00
polls.test.ts
polls.ts
runtime.ts
utils.test.ts
utils.ts
version.test.ts
version.ts