openclaw/src
石川 諒 04e3a66f90
fix(cron): pass agentId to runHeartbeatOnce for main-session jobs (#14140)
* fix(cron): pass agentId to runHeartbeatOnce for main-session jobs

Main-session cron jobs with agentId always ran the heartbeat under
the default agent, ignoring the job's agent binding. enqueueSystemEvent
correctly routed the system event to the bound agent's session, but
runHeartbeatOnce was called without agentId, so the heartbeat ran under
the default agent and never picked up the event.

Thread agentId from job.agentId through the CronServiceDeps type,
timer execution, and the gateway wrapper so heartbeat-runner uses the
correct agent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* cron: add heartbeat agentId propagation regression test (#14140) (thanks @ishikawa-pro)

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-02-11 22:22:29 -06:00
..
acp chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
agents (fix): handle Cloudflare 521 and transient 5xx errors gracefully (#13500) 2026-02-11 21:42:33 -06:00
auto-reply (fix): handle Cloudflare 521 and transient 5xx errors gracefully (#13500) 2026-02-11 21:42:33 -06:00
browser fix: prevent act:evaluate hangs from getting browser tool stuck/killed (#13498) 2026-02-11 07:54:48 +08:00
canvas-host fix: use STATE_DIR instead of hardcoded ~/.openclaw for identity and canvas (#4824) 2026-02-07 22:16:59 -05:00
channels feat: IRC — add first-class channel support 2026-02-10 17:33:57 -06:00
cli onboard: support custom provider in non-interactive flow (#14223) 2026-02-11 14:48:45 -05:00
commands onboard: support custom provider in non-interactive flow (#14223) 2026-02-11 14:48:45 -05:00
compat refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
config Memory/QMD: add configurable search mode 2026-02-11 17:51:08 -08:00
cron fix(cron): pass agentId to runHeartbeatOnce for main-session jobs (#14140) 2026-02-11 22:22:29 -06:00
daemon fix(runtime): bump minimum Node.js version to 22.12.0 (#5370) 2026-02-05 13:42:52 -08:00
discord fix(discord): use partial mock for @buape/carbon in slash test 2026-02-11 13:10:37 -06:00
docs Docs: landing page revamp (#8885) 2026-02-04 10:37:14 -05:00
gateway fix(cron): pass agentId to runHeartbeatOnce for main-session jobs (#14140) 2026-02-11 22:22:29 -06:00
hooks fix(plugins): ignore install scripts during plugin/hook install 2026-02-11 12:04:30 +01:00
imessage fix(auto-reply): prevent sender spoofing in group prompts 2026-02-10 00:44:38 -06:00
infra fix(media): guard local media reads + accept all path types in MEDIA directive 2026-02-11 15:01:18 -08:00
line fix(auto-reply): prevent sender spoofing in group prompts 2026-02-10 00:44:38 -06:00
link-understanding chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
logging fix: guard resolveUserPath against undefined input (#10176) 2026-02-06 13:16:58 -05:00
macos chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
markdown chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
media fix(media): guard local media reads + accept all path types in MEDIA directive 2026-02-11 15:01:18 -08:00
media-understanding refactor: consolidate fetchWithTimeout into shared utility 2026-02-09 20:34:56 -08:00
memory (fix): handle Cloudflare 521 and transient 5xx errors gracefully (#13500) 2026-02-11 21:42:33 -06:00
node-host fix: prevent act:evaluate hangs from getting browser tool stuck/killed (#13498) 2026-02-11 07:54:48 +08:00
pairing fix(pairing): use actual code in pairing approval text 2026-02-10 19:48:02 -05:00
plugin-sdk Update contributing, deduplicate more functions 2026-02-09 19:21:33 -08:00
plugins fix(plugins): ignore install scripts during plugin/hook install 2026-02-11 12:04:30 +01:00
process fix: skip extension append if command already has one 2026-01-31 20:39:33 -06:00
providers chore: Fix failing test. 2026-02-09 09:58:58 +09:00
routing refactor: unify peer kind to ChatType, rename dm to direct (#11881) 2026-02-09 09:20:52 +09:00
scripts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
security refactor(security,config): split oversized files (#13182) 2026-02-09 22:22:29 -08:00
sessions fix: unify session maintenance and cron run pruning (#13083) 2026-02-09 20:42:35 -08:00
shared/text chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
signal fix(auto-reply): prevent sender spoofing in group prompts 2026-02-10 00:44:38 -06:00
slack fix(slack): detect control commands when message starts with @mention (#14142) 2026-02-11 11:41:48 -05:00
telegram fix(pairing): use actual code in pairing approval text 2026-02-10 19:48:02 -05:00
terminal fix: error handling in restore failure reporting 2026-02-03 06:22:51 +00:00
test-helpers fix: use STATE_DIR instead of hardcoded ~/.openclaw for identity and canvas (#4824) 2026-02-07 22:16:59 -05:00
test-utils chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
tts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
tui Centralize date/time formatting utilities (#11831) 2026-02-08 04:53:31 -08:00
types fix: update pi packages to 0.51.0, remove bogus type augmentation 2026-02-02 01:52:33 +01:00
utils refactor: consolidate fetchWithTimeout into shared utility 2026-02-09 20:34:56 -08:00
web fix(media): guard local media reads + accept all path types in MEDIA directive 2026-02-11 15:01:18 -08:00
whatsapp chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
wizard feat(onboard): add custom/local API configuration flow (#11106) 2026-02-10 07:31:02 -05:00
channel-web.barrel.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
channel-web.ts
docker-setup.test.ts test(docker): make bash 3.2 compatibility check portable 2026-02-10 18:04:48 -05:00
entry.ts Centralize date/time formatting utilities (#11831) 2026-02-08 04:53:31 -08:00
extensionAPI.ts chore: Migrate to tsdown, speed up JS bundling by ~10x (thanks @hyf0). 2026-02-03 20:18:16 +09:00
globals.test.ts
globals.ts chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
index.test.ts
index.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
logger.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
logger.ts chore: Enable "curly" rule to avoid single-statement if confusion/errors. 2026-01-31 16:19:20 +09:00
logging.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
polls.test.ts chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
polls.ts
runtime.ts CLI: restore terminal state on exit 2026-02-03 06:10:19 +00:00
utils.test.ts fix(paths): structurally resolve home dir to prevent Windows path bugs (#12125) 2026-02-08 20:06:29 -05:00
utils.ts Deduplicate more 2026-02-09 18:56:58 -08:00
version.test.ts fix: CLI harden update restart imports and fix nested bundle version resolution 2026-02-06 00:09:48 -05:00
version.ts fix: CLI harden update restart imports and fix nested bundle version resolution 2026-02-06 00:09:48 -05:00