openclaw/src
Tyler Yust e554c59aac
fix(cron): eliminate double-announce and replace delivery polling with push-based flow (#39089)
* fix(cron): eliminate double-announce and replace delivery polling with push-based flow

- Set deliveryAttempted=true in announce early-return paths (active-subagent
  suppression and stale-interim suppression) so the heartbeat timer no longer
  fires a redundant enqueueSystemEvent fallback (double-announce bug).

- Refactor waitForDescendantSubagentSummary to use event-based agent.wait RPC
  calls instead of a 500ms busy-poll loop.  Each active descendant run is now
  awaited concurrently via Promise.allSettled, and only a short bounded grace
  period (5s) remains to capture the cron agent's post-orchestration synthesis.
  Eliminates O(n*timeoutMs/500ms) gateway calls and wasted wall-clock time.

- Add FAST_TEST_MODE (OPENCLAW_TEST_FAST=1) to subagent-followup.ts to keep
  the grace-period tests instant in CI.

- Add comprehensive tests for the new waitForDescendantSubagentSummary behaviour
  (push-based wait, error resilience, NO_REPLY handling, multi-descendant waits).

* fix: prep cron double-announce followup tests (#39089) (thanks @tyler6204)
2026-03-07 12:13:37 -08:00
..
acp CI: restore main detect-secrets scan (#38438) 2026-03-07 10:06:35 -08:00
agents fix(ci): restore strip-ansi and typecheck fixtures (#39146) 2026-03-07 23:13:13 +03:00
auto-reply Fix/Complete LINE requireMention gating behavior (#35847) 2026-03-07 14:06:07 -06:00
browser CI: restore main detect-secrets scan (#38438) 2026-03-07 10:06:35 -08:00
canvas-host refactor(tests): dedupe canvas host server setup 2026-03-03 02:53:13 +00:00
channels Fix/Complete LINE requireMention gating behavior (#35847) 2026-03-07 14:06:07 -06:00
cli CI: restore main detect-secrets scan (#38438) 2026-03-07 10:06:35 -08:00
commands refactor: dedupe anthropic probe target test setup 2026-03-07 19:02:01 +00:00
compat
config fix(voice-call): align plugin manifest schema with runtime config fields (#38892) 2026-03-07 19:49:58 +00:00
context-engine fix: xxxxx 2026-03-06 19:46:38 -05:00
cron fix(cron): eliminate double-announce and replace delivery polling with push-based flow (#39089) 2026-03-07 12:13:37 -08:00
daemon fix(daemon): use locale-invariant schtasks running code detection (#39076) 2026-03-07 19:56:47 +00:00
discord fix(discord): avoid false model picker mismatch warning (#39105) 2026-03-07 19:32:35 +00:00
docs
gateway fix(gateway): harden plugin HTTP route auth 2026-03-07 19:55:06 +00:00
hooks refactor(core): extract shared dedup helpers 2026-03-07 10:41:05 +00:00
i18n ACP: add persistent Discord channel and Telegram topic bindings (#34873) 2026-03-05 09:38:12 +01:00
imessage refactor(core): extract shared dedup helpers 2026-03-07 10:41:05 +00:00
infra fix(ci): restore strip-ansi and typecheck fixtures (#39146) 2026-03-07 23:13:13 +03:00
line Fix/Complete LINE requireMention gating behavior (#35847) 2026-03-07 14:06:07 -06:00
link-understanding
logging build: fix ineffective dynamic imports with lazy boundaries (#33690) 2026-03-03 20:14:41 -05:00
markdown perf: harden chunking against quadratic scans 2026-03-07 16:50:35 +00:00
media fix(media): retain inbound media with recursive cleanup TTL (#38292) 2026-03-06 22:06:09 -05:00
media-understanding CI: restore main detect-secrets scan (#38438) 2026-03-07 10:06:35 -08:00
memory CI: restore main detect-secrets scan (#38438) 2026-03-07 10:06:35 -08:00
node-host refactor(core): extract shared dedup helpers 2026-03-07 10:41:05 +00:00
pairing tests: fix detect-secrets false positives (#39084) 2026-03-07 13:21:29 -05:00
plugin-sdk refactor(plugin-sdk): extract shared channel prelude exports 2026-03-07 17:05:23 +00:00
plugins fix(gateway): harden plugin HTTP route auth 2026-03-07 19:55:06 +00:00
process fix: Windows: openclaw plugins install fails with spawn EINVAL 2026-03-06 22:19:16 +05:30
providers fix(providers): make all models available in kilocode provider (#32352) 2026-03-07 08:14:06 -08:00
routing fix(routing): avoid full binding rescans in resolveAgentRoute (#36915) 2026-03-05 16:49:29 -08:00
scripts CI: cover skill and extension tests 2026-03-06 11:21:03 -05:00
secrets CI: restore main detect-secrets scan (#38438) 2026-03-07 10:06:35 -08:00
security CI: restore main detect-secrets scan (#38438) 2026-03-07 10:06:35 -08:00
sessions fix: add runtime.events regression tests (#16044) (thanks @scifantastic) 2026-03-03 01:37:56 +00:00
shared refactor(core): extract shared dedup helpers 2026-03-07 10:41:05 +00:00
signal CI: restore main detect-secrets scan (#38438) 2026-03-07 10:06:35 -08:00
slack fix(gateway): clear stale Slack socket state after disconnect (#39083) 2026-03-07 12:37:32 -06:00
telegram Secrets: harden SecretRef-safe models.json persistence (#38955) 2026-03-07 11:28:39 -06:00
terminal
test-helpers
test-utils fix(ci): restore strip-ansi and typecheck fixtures (#39146) 2026-03-07 23:13:13 +03:00
tts TTS: add baseUrl support to OpenAI TTS config (#34321) 2026-03-05 07:25:04 +00:00
tui refactor(tui): dedupe mode-specific exec secret fixtures 2026-03-07 17:58:31 +00:00
types Memory: handle SecretRef keys in doctor embeddings (#36835) 2026-03-05 20:05:59 -06:00
utils fix(usage): format near-million token counts as millions (#39129) 2026-03-07 19:59:12 +00:00
web refactor(web): dedupe self-chat response-prefix tests 2026-03-07 17:58:31 +00:00
whatsapp
wizard fix(dashboard): keep gateway tokens out of URL storage 2026-03-07 18:33:30 +00:00
channel-web.ts
docker-image-digests.test.ts container builds: opt-in extension deps via OPENCLAW_EXTENSIONS build arg (#32223) 2026-03-06 12:18:42 -05:00
docker-setup.e2e.test.ts CI: restore main detect-secrets scan (#38438) 2026-03-07 10:06:35 -08:00
dockerfile.test.ts fix(docker): correct awk quoting in Docker GPG fingerprint check (#32153) 2026-03-03 02:32:46 +00:00
entry.ts
extensionAPI.ts
globals.ts
index.ts
logger.test.ts
logger.ts
logging.ts
poll-params.test.ts Harden Telegram poll gating and schema consistency (#36547) 2026-03-05 19:24:43 -05:00
poll-params.ts Harden Telegram poll gating and schema consistency (#36547) 2026-03-05 19:24:43 -05:00
polls.test.ts
polls.ts Harden Telegram poll gating and schema consistency (#36547) 2026-03-05 19:24:43 -05:00
runtime.ts
utils.test.ts
utils.ts
version.test.ts Gateway: fix stale self version in status output (#32655) 2026-03-03 02:41:52 -05:00
version.ts Gateway: fix stale self version in status output (#32655) 2026-03-03 02:41:52 -05:00