Fermin Quant
c9364f03dc
fix(cron): accept opaque session target keys
Fixes #64030.
Allows cron `session:` targets to carry opaque session-store keys, including slash and backslash characters, while keeping cron job IDs on the stricter UUID/non-path contract. Adds regression coverage across cron normalization, cron service persistence, gateway cron validation, and related session target handling.
Thanks @ferminquant for the fix.
Verification:
- `git diff --check origin/main...HEAD`
- `OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs src/cron/session-target.test.ts src/cron/normalize.test.ts src/cron/service.jobs.test.ts src/cron/service/store.test.ts src/gateway/server-cron.test.ts src/gateway/server.cron.test.ts src/cron/run-log.test.ts src/gateway/protocol/cron-validators.test.ts src/agents/tools/message-tool.test.ts src/agents/tools/image-tool.custom-provider-auth.regression.test.ts --reporter dot` passed: 13 files, 347 tests.
- GitHub `checks-node-agentic-agents` reran green on `51949741a333363586ddfb4445b82116c3bcea43`.
Co-authored-by: Fermin Quant <ferminquant@hotmail.com>
2026-05-26 01:39:04 +01:00
..
2026-05-25 21:46:51 +01:00
2026-05-26 01:39:04 +01:00
2026-05-21 18:47:09 +08:00
2026-05-13 13:33:38 +01:00
2026-05-15 21:51:25 +01:00
2026-05-15 18:42:52 +01:00
2026-05-15 18:42:52 +01:00
2026-05-03 22:49:31 +01:00
2026-05-03 22:49:31 +01:00
2026-05-12 23:39:09 +01:00
2026-05-07 13:03:49 -07:00
2026-05-09 07:04:04 +01:00
2026-05-14 13:17:06 +08:00
2026-05-14 13:17:06 +08:00
2026-05-23 21:45:55 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-25 21:10:14 +01:00
2026-05-20 14:50:50 +01:00
2026-05-13 02:35:37 +01:00
2026-05-08 05:28:12 +01:00
2026-05-13 13:33:38 +01:00
2026-05-15 14:04:56 +01:00
2026-05-18 07:07:52 +01:00
2026-05-22 11:21:57 +00:00
2026-05-09 22:53:45 +01:00
2026-05-18 13:33:07 +08:00
2026-05-16 10:34:48 +01:00
2026-05-13 13:33:38 +01:00
2026-05-23 21:26:55 +01:00
2026-05-18 13:12:01 +08:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-26 01:39:04 +01:00
2026-05-25 21:20:41 +01:00
2026-05-16 18:06:13 +08:00
2026-05-22 13:07:40 +01:00
2026-05-22 13:07:40 +01:00
2026-05-20 14:50:50 +01:00
2026-05-20 14:50:50 +01:00
2026-05-15 20:17:48 -07:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-11 18:47:46 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-19 21:12:28 -07:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-08 13:04:33 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-08 17:40:50 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-26 01:39:04 +01:00
2026-05-08 13:08:22 +01:00
2026-05-19 21:12:28 -07:00
2026-05-15 21:51:25 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-19 21:12:28 -07:00
2026-05-13 13:33:38 +01:00
2026-05-16 15:57:40 +01:00
2026-05-13 13:33:38 +01:00
2026-05-25 19:23:47 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-26 01:39:04 +01:00
2026-05-26 01:39:04 +01:00
2026-05-08 12:54:21 +01:00
2026-05-20 05:01:24 +00:00
2026-05-25 21:20:41 +01:00
2026-05-15 21:51:25 +01:00