openclaw/ui
cuitianhao 39cb6ecbb9
fix: keep cron last delivery sentinel runtime-only (#68829) (thanks @tianhaocui)
* fix(cron): stop persisting "last" as literal delivery channel value

The UI controller writes the sentinel value "last" into jobs.json when
the delivery channel field is empty. This overwrites user-configured
channels (e.g. "telegram") because the form populates with "last" as
the default fallback, and saving the form materializes it as a literal
persisted value.

"last" is a runtime-only sentinel meaning "use whatever channel was
last used in the session" and should never be written to jobs.json.
When the channel field is empty, write `undefined` instead so the
runtime delivery plan resolver applies the "last" fallback at
execution time without polluting the persisted state.

Fixes #68760

* fix(cron): keep last delivery sentinel runtime-only

* fix: keep cron last delivery sentinel runtime-only (#68829) (thanks @tianhaocui)

* fix: preserve clear-to-last cron updates (#68829) (thanks @tianhaocui)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-19 12:09:16 +05:30
..
public fix: migrate legacy gateway services 2026-01-30 04:01:31 +01:00
src fix: keep cron last delivery sentinel runtime-only (#68829) (thanks @tianhaocui) 2026-04-19 12:09:16 +05:30
AGENTS.md docs(agents): split scoped workflow guidance (#65241) 2026-04-12 09:09:50 +01:00
CLAUDE.md docs(agents): split scoped workflow guidance (#65241) 2026-04-12 09:09:50 +01:00
index.html UI: add corner radius slider and appearance polish (#49436) 2026-03-17 23:06:01 -05:00
package.json build(deps): update workspace dependencies 2026-04-18 18:04:56 +01:00
vite.config.ts gateway: trim control UI bootstrap payload (#57727) 2026-03-30 15:08:19 +01:00
vitest.config.ts test: move Vitest configs under test 2026-04-10 13:44:51 +01:00
vitest.node.config.ts test: move Vitest configs under test 2026-04-10 13:44:51 +01:00