Skip to content

Cherry-pick: Cron and scheduler fixes #681

@alexey-pelykh

Description

@alexey-pelykh

Context

Completion direct send for text-only announce delivery, announce delivery tracking,
subagents.model respect in isolated cron sessions, flat patch params for update action,
scheduling edge cases.

18 commits from upstream scan window 501-1000.

Upstream Commits

Hash Subject
e1c8094ad fix: schedule nextWakeAtMs for isolated sessionTarget cron jobs (openclaw#19541)
285192631 fix(cron): condition requireExplicitMessageTarget on resolved delivery (openclaw#28017)
fe9a7c408 fix(cron): force main-target system events onto main session (openclaw#28898)
e1df1c60b fix: clear delivery routing state when creating isolated cron sessions (openclaw#27778)
d7d3416b1 fix(cron): disable messaging tool when delivery.mode is none (openclaw#21808) (openclaw#21896)
d509a81a1 fix(cron): treat transient tool error payloads as recoverable (openclaw#29527) thanks @Sid-Qin
504c1f360 fix(cron): migrate legacy schedule cron fields on load (openclaw#28889)
5b49cc412 fix(cron): notify user when cron job is auto-disabled after repeated errors (openclaw#29098) thanks @ningding97
29a55948d fix(cron): guard list sorting against malformed legacy jobs (openclaw#28896)
0cc46589a Cron: drain pending writes before reading run log (openclaw#25416)
578496360 fix cron store backup churn (openclaw#19484)
98e30dc2a fix(cron): handle sessions list cron model override (openclaw#21279) thanks @altaywtf
ca770622b Cron: fix 1/3 timeout on fresh isolated CLI runs (openclaw#30140) thanks @ningding97
e076665e5 test(cron): add Asia/Shanghai year-regression coverage [AI-assisted] (openclaw#30565) thanks @liuxiaopai-ai
313a655d1 fix(cron): reject sessionTarget "main" for non-default agents at creation time (openclaw#30217) thanks @liaosvcaf
aaa7de45f fix(cron): prevent armTimer tight loop when job has stuck runningAtMs (openclaw#29853) thanks @FlamesCN
a5f0a9240 fix(cron): retry rename on EBUSY and fall back to copyFile on Windows
08c35eb13 fix(cron): re-arm one-shot at-jobs when rescheduled after completion (openclaw#28915) thanks @Glucksberg

Adaptation Notes

  • Cron in src/cron/ — KEEP layer (60 files)

Metadata

Metadata

Assignees

No one assigned

    Labels

    cherry-pickCherry-pick from upstream

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions