Control UI/Cron: persist delivery mode none on edit (openclaw#31114) thanks @liuxiaopai-ai

Verified:
- pnpm build
- pnpm check
- pnpm test:macmini

Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com>
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com>
This commit is contained in:
Mark L
2026-03-02 09:58:13 +08:00
committed by GitHub
parent 313a655d13
commit 9670ccfc41
3 changed files with 17 additions and 11 deletions

View File

@@ -210,6 +210,7 @@ describe("cron controller", () => {
deleteAfterRun: false,
schedule: { kind: "cron", expr: "0 8 * * *", staggerMs: 0 },
payload: { kind: "systemEvent", text: "updated" },
delivery: { mode: "none" },
},
});
expect(state.cronEditingJobId).toBeNull();

View File

@@ -614,17 +614,21 @@ export async function addCronJob(state: CronState) {
const payload = buildCronPayload(form);
const selectedDeliveryMode = form.deliveryMode;
const delivery =
selectedDeliveryMode && selectedDeliveryMode !== "none"
? {
mode: selectedDeliveryMode,
channel:
selectedDeliveryMode === "announce"
? form.deliveryChannel.trim() || "last"
: undefined,
to: form.deliveryTo.trim() || undefined,
bestEffort: form.deliveryBestEffort,
}
: undefined;
selectedDeliveryMode === "none"
? state.cronEditingJobId
? { mode: "none" as const }
: undefined
: selectedDeliveryMode
? {
mode: selectedDeliveryMode,
channel:
selectedDeliveryMode === "announce"
? form.deliveryChannel.trim() || "last"
: undefined,
to: form.deliveryTo.trim() || undefined,
bestEffort: form.deliveryBestEffort,
}
: undefined;
const failureAlert = buildFailureAlert(form);
const agentId = form.clearAgent ? null : form.agentId.trim();
const job = {