Peter Steinberger
6b78544f82
refactor(commands): unify repeated ACP and routing flows
2026-03-02 05:20:19 +00:00
Glucksberg
08c35eb13f
fix(cron): re-arm one-shot at-jobs when rescheduled after completion (openclaw#28915) thanks @Glucksberg
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-01 21:31:24 -06:00
FlamesCN
aaa7de45fa
fix(cron): prevent armTimer tight loop when job has stuck runningAtMs (openclaw#29853) thanks @FlamesCN
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: FlamesCN <12966659+FlamesCN@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-01 19:58:58 -06:00
C. Liao
313a655d13
fix(cron): reject sessionTarget "main" for non-default agents at creation time (openclaw#30217) thanks @liaosvcaf
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: liaosvcaf <51533973+liaosvcaf@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-01 19:54:53 -06:00
0xbrak
4637b90c07
feat(cron): configurable failure alerts for repeated job errors (openclaw#24789) thanks @0xbrak
...
Verified:
- pnpm install --frozen-lockfile
- pnpm check
- pnpm test -- --run src/cron/service.failure-alert.test.ts src/cli/cron-cli.test.ts src/gateway/protocol/cron-validators.test.ts
Co-authored-by: 0xbrak <181251288+0xbrak@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-01 08:18:15 -06:00
Sid
29a55948d6
fix(cron): guard list sorting against malformed legacy jobs ( #28896 )
...
* fix(cron): guard list sorting against malformed legacy jobs
Prevent list operations from crashing when old or corrupted cron entries are missing name/id fields by hardening sort comparators.
Closes #28862
* cron: format list sort guard test imports
---------
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-01 07:01:36 -06:00
NIO
ea3955cd78
fix(cron): add retry policy for one-shot jobs on transient errors ( #24355 ) (openclaw#24435) thanks @hugenshen
...
Verified:
- pnpm install --frozen-lockfile
- pnpm check
- pnpm test -- --run src/cron/service.issue-regressions.test.ts src/config/config-misc.test.ts
Co-authored-by: hugenshen <16300669+hugenshen@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-01 06:58:03 -06:00
StingNing
5b49cc4129
fix(cron): notify user when cron job is auto-disabled after repeated errors (openclaw#29098) thanks @ningding97
...
Verified:
- pnpm install --frozen-lockfile
- pnpm check
- pnpm test -- --run src/cron/service.runs-one-shot-main-job-disables-it.test.ts
Co-authored-by: ningding97 <17723822+ningding97@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-03-01 06:54:02 -06:00
Sid
504c1f3607
fix(cron): migrate legacy schedule cron fields on load ( #28889 )
...
Backfill legacy jobs that still use schedule.cron and jobId so upgraded instances keep firing existing cron schedules instead of failing silently.
Closes #28861
2026-03-01 06:53:39 -06:00
Vignesh Natarajan
2050fd7539
Cron: preserve session scope for main-target reminders
2026-02-28 14:53:19 -08:00
Marcus Widing
8ae1987f2a
fix(cron): pass heartbeat target=last for main-session cron jobs ( #28508 ) ( #28583 )
...
* fix(cron): pass heartbeat target=last for main-session cron jobs
When a cron job with sessionTarget=main and wakeMode=now fires, it
triggers a heartbeat via runHeartbeatOnce. Since e2362d35 changed the
default heartbeat target from "last" to "none", these cron-triggered
heartbeats silently discard their responses instead of delivering them
to the last active channel (e.g. Telegram).
Fix: pass heartbeat: { target: "last" } from the cron timer to
runHeartbeatOnce for main-session jobs, and wire the override through
the gateway cron service builder. This restores delivery for
sessionTarget=main cron jobs without reverting the intentional default
change for regular heartbeats.
Regression introduced in: e2362d35 (2026-02-25)
Fixes #28508
* Cron: align server-cron wake routing expectations for main-target jobs
---------
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-28 11:14:24 -06:00
Sid
fe9a7c4082
fix(cron): force main-target system events onto main session ( #28898 )
...
Ignore persisted sessionKey overrides for sessionTarget=main jobs so cron system events consistently route to the agent main session after upgrades.
Closes #28770
2026-02-28 11:08:53 -06:00
Marvin
5e2ef0e883
feat(cron): add --account flag for multi-account delivery routing ( #26284 )
...
* feat(cron): add --account flag for multi-account delivery routing
Add support for explicit delivery account routing in cron jobs across CLI, normalization, delivery planning, and isolated delivery target resolution.
Highlights:
- Add --account <id> to cron add and cron edit
- Add optional delivery.accountId to cron types and delivery plan
- Normalize and trim delivery.accountId in cron create/update normalization
- Prefer explicit accountId over session lastAccountId and bindings fallback
- Thread accountId through isolated cron run delivery resolution
- Preserve cron edit --best-effort-deliver/--no-best-effort-deliver behavior by keeping implicit announce mode
- Expand tests for account passthrough/merge/precedence and CLI account flows
* cron: resolve rebase duplicate accountId fields
---------
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-28 10:57:49 -06:00
Pierre
e1c8094ad0
fix: schedule nextWakeAtMs for isolated sessionTarget cron jobs ( #19541 )
...
* fix(cron): repair isolated next wake scheduling
* cron: harden isolated next-wake timestamp guards
---------
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-28 10:48:31 -06:00
Peter Steinberger
b402770f63
refactor(reply): split abort cutoff and timeout policy modules
2026-02-26 14:00:35 +01:00
Peter Steinberger
c397a02c9a
fix(queue): harden drain/abort/timeout race handling
...
- reject new lane enqueues once gateway drain begins
- always reset lane draining state and isolate onWait callback failures
- persist per-session abort cutoff and skip stale queued messages
- avoid false 600s agentTurn timeout in isolated cron jobs
Fixes #27407
Fixes #27332
Fixes #27427
Co-authored-by: Kevin Shenghui <shenghuikevin@github.com >
Co-authored-by: zjmy <zhangjunmengyang@gmail.com >
Co-authored-by: suko <miha.sukic@gmail.com >
2026-02-26 13:43:39 +01:00
Peter Steinberger
b37dc42240
fix(cron): suppress fallback summary after attempted announce delivery
2026-02-26 03:09:14 +00:00
Ayaan Zaidi
03122e5933
fix(cron): preserve telegram announce target + delivery truth
2026-02-23 11:45:18 +05:30
Evgeny Zislis
78f801e243
Validate Telegram delivery targets to reject invalid formats ( #21930 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 02c9b1c3dd4273988d571d513403e02e3b062e46
Co-authored-by: kesor <7056+kesor@users.noreply.github.com >
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com >
Reviewed-by: @obviyus
2026-02-23 10:44:46 +05:30
Tak Hoffman
77c3b142a9
Web UI: add full cron edit parity, all-jobs run history, and compact filters (openclaw#24155) thanks @Takhoffman
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-22 23:05:42 -06:00
Tak Hoffman
a54dc7fe80
Cron: suppress fallback main summary for delivery-target errors (openclaw#24074) thanks @Takhoffman
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-22 20:24:08 -06:00
Tak Hoffman
f6c2e99f5d
Cron: preserve due jobs after manual runs ( #23994 )
2026-02-22 19:02:05 -06:00
Tak Hoffman
211ab9e4f6
Cron: persist manual run marker before unlock ( #23993 )
...
* Cron: persist manual run marker before unlock
* Cron tests: relax wakeMode now microtask wait after run lock persist
2026-02-22 18:39:37 -06:00
Tak Hoffman
3efe63d1ad
Cron: respect aborts in main wake-now retries ( #23967 )
...
* Cron: respect aborts in main wake-now retries
* Changelog: add main-session cron abort retry fix note
* Cron tests: format post-rebase conflict resolution
2026-02-22 17:19:27 -06:00
Tak Hoffman
73e5bb7635
Cron: apply timeout to startup catch-up runs ( #23966 )
...
* Cron: apply timeout to startup catch-up runs
* Changelog: add cron startup timeout catch-up note
2026-02-22 17:04:30 -06:00
Tak Hoffman
556af3f08b
fix(cron): cancel timed-out runs before side effects (openclaw#22411) thanks @Takhoffman
...
Verified:
- pnpm check
- pnpm vitest run src/memory/qmd-manager.test.ts src/cron/service.issue-regressions.test.ts src/cron/isolated-agent.delivers-response-has-heartbeat-ok-but-includes.test.ts --maxWorkers=1
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-22 15:45:27 -06:00
Peter Steinberger
5d90e31807
refactor(cron): share timed job-execution helper
2026-02-22 20:18:20 +00:00
Peter Steinberger
7e83e7b3a7
fix(cron): narrow manual run execution state
2026-02-22 20:19:23 +01:00
Peter Steinberger
9cf445e37c
fix(cron): restore interval cadence after restart
2026-02-22 20:19:23 +01:00
Peter Steinberger
aa4c250eb8
fix(cron): split run and delivery status tracking
2026-02-22 20:19:23 +01:00
Peter Steinberger
c3bb723673
fix(cron): enforce timeout for manual cron runs
2026-02-22 20:19:23 +01:00
Peter Steinberger
8bf3c37c6c
fix(cron): keep watchdog timer armed during ticks
2026-02-22 20:19:23 +01:00
Peter Steinberger
5db1ee4ec6
fix(cron): keep manual runs non-blocking
2026-02-22 20:19:22 +01:00
Peter Steinberger
34ea33f057
refactor: dedupe core config and runtime helpers
2026-02-22 17:11:54 +00:00
Frank Yang
1051f42f96
fix(stability): patch regex retries and timeout abort handling
2026-02-22 10:59:34 +01:00
Vignesh Natarajan
961bde27fe
Cron: guard missing expr in schedule parsing
2026-02-21 20:18:11 -08:00
Vignesh Natarajan
2830dafbe9
Cron: keep list/status responsive during startup catch-up
2026-02-21 19:13:04 -08:00
Simone Macario
09d5f508b1
fix(cron): persist delivered flag in job state to surface delivery failures (openclaw#19174) thanks @simonemacario
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: simonemacario <2116609+simonemacario@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-21 12:47:29 -06:00
Tak Hoffman
7417c36268
fix(cron): honor maxConcurrentRuns in timer loop (openclaw#22413) thanks @Takhoffman
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test:macmini (failed on unrelated baseline test: src/memory/qmd-manager.test.ts > throws when sqlite index is busy)
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-20 22:31:58 -06:00
Peter Steinberger
b8b43175c5
style: align formatting with oxfmt 0.33
2026-02-18 01:34:35 +00:00
Peter Steinberger
31f9be126c
style: run oxfmt and fix gate failures
2026-02-18 01:29:02 +00:00
Peter Steinberger
6dcc052bb4
fix: stabilize model catalog and pi discovery auth storage compatibility
2026-02-18 02:09:40 +01:00
Peter Steinberger
dd4eb8bf63
fix(cron): retry next-second schedule compute on undefined
2026-02-17 23:48:14 +01:00
Peter Steinberger
c26cf6aa83
feat(cron): add default stagger controls for scheduled jobs
2026-02-17 23:48:14 +01:00
Tyler Yust
75001a0490
fix cron announce routing and timeout handling
2026-02-17 11:40:04 -08:00
cpojer
d0cb8c19b2
chore: wtf.
2026-02-17 13:36:48 +09:00
Sebastian
ed11e93cf2
chore(format)
2026-02-16 23:20:16 -05:00
Vignesh Natarajan
f988abf202
Cron: route reminders by session namespace
2026-02-17 01:54:59 +01:00
cpojer
c70597daeb
chore: Fix formatting.
2026-02-17 09:40:00 +09:00
Peter Steinberger
80c7d04ad2
refactor(cron): reuse shared run outcome telemetry types
2026-02-17 00:32:34 +00:00