cron: separate webhook POST delivery from announce#17901
Merged
tyler6204 merged 4 commits intoopenclaw:mainfrom Feb 16, 2026
Merged
cron: separate webhook POST delivery from announce#17901tyler6204 merged 4 commits intoopenclaw:mainfrom
tyler6204 merged 4 commits intoopenclaw:mainfrom
Conversation
src/gateway/server-cron.ts
Outdated
Comment on lines
41
to
42
| const url = params.delivery?.to?.trim(); | ||
| return url ? url : null; |
Contributor
There was a problem hiding this comment.
webhook mode with empty/missing URL returns null silently at runtime rather than failing at job creation
This allows invalid webhook jobs to be created but fail silently when they run. Consider adding validation in src/cron/service/jobs.ts createJob or applyJobPatch to reject delivery.mode="webhook" when delivery.to is missing/empty.
Prompt To Fix With AI
This is a comment left during a code review.
Path: src/gateway/server-cron.ts
Line: 41:42
Comment:
webhook mode with empty/missing URL returns `null` silently at runtime rather than failing at job creation
This allows invalid webhook jobs to be created but fail silently when they run. Consider adding validation in `src/cron/service/jobs.ts` `createJob` or `applyJobPatch` to reject `delivery.mode="webhook"` when `delivery.to` is missing/empty.
How can I resolve this? If you propose a fix, please make it concise.
Member
|
Merged via squash.
Thanks @advaitpaliwal! |
Archeb
pushed a commit
to Archeb/openclaw
that referenced
this pull request
Feb 16, 2026
* cron: split webhook delivery from announce mode * cron: validate webhook delivery target * cron: remove legacy webhook fallback config * fix: finalize cron webhook delivery prep (openclaw#17901) (thanks @advaitpaliwal) --------- Co-authored-by: Tyler Yust <[email protected]>
thinstripe
pushed a commit
to thinstripe/openclaw
that referenced
this pull request
Feb 16, 2026
* cron: split webhook delivery from announce mode * cron: validate webhook delivery target * cron: remove legacy webhook fallback config * fix: finalize cron webhook delivery prep (openclaw#17901) (thanks @advaitpaliwal) --------- Co-authored-by: Tyler Yust <[email protected]>
treygoff24
pushed a commit
to treygoff24/openclaw
that referenced
this pull request
Feb 16, 2026
* cron: split webhook delivery from announce mode * cron: validate webhook delivery target * cron: remove legacy webhook fallback config * fix: finalize cron webhook delivery prep (openclaw#17901) (thanks @advaitpaliwal) --------- Co-authored-by: Tyler Yust <[email protected]>
archerhpagent
pushed a commit
to howardpark/openclaw
that referenced
this pull request
Feb 18, 2026
* cron: split webhook delivery from announce mode * cron: validate webhook delivery target * cron: remove legacy webhook fallback config * fix: finalize cron webhook delivery prep (openclaw#17901) (thanks @advaitpaliwal) --------- Co-authored-by: Tyler Yust <[email protected]>
jun-planfit
pushed a commit
to planfit/openclaw
that referenced
this pull request
Feb 19, 2026
* cron: split webhook delivery from announce mode * cron: validate webhook delivery target * cron: remove legacy webhook fallback config * fix: finalize cron webhook delivery prep (openclaw#17901) (thanks @advaitpaliwal) --------- Co-authored-by: Tyler Yust <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Describe the problem and fix in 2–5 bullets:
notify: true+ globalcron.webhookfor webhook POSTs, whiledelivery.mode="announce"handled channel delivery; this split caused confusion and duplicated concepts.delivery.mode="webhook"(withdelivery.toas URL), removednotifyfrom cron job schema/types/UI/tool docs, and kept a legacy fallback for oldnotifyjobs viacron.webhook.delivery.mode="announce") and isolated-run delivery mechanics remain unchanged.Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
User-visible / Behavior Changes
delivery.mode: "webhook"+delivery.to: "https://..."for finished-run webhook POST delivery.delivery.mode: "announce"remains channel delivery only.notifyis removed from add/update/list contracts and Control UI form.cron.webhookis now documented/used as a legacy fallback only for older jobs that still containnotify: true.Security Impact (required)
No)No)Yes)No)No)Yes, explain risk + mitigation:cron.webhookTokencan be used for auth.Repro + Verification
Environment
cron.webhookTokenSteps
delivery.mode="webhook"anddelivery.toURL.Expected
delivery.to.Actual
Evidence
Attach at least one:
Human Verification (required)
What you personally verified (not just CI), and how:
webhook.cron.webhookwhen present in stored jobs.Compatibility / Migration
Yes)No)No)Failure Recovery (if this breaks)
noneor remove webhook delivery fields.src/cron/*,src/gateway/server-cron.ts,src/gateway/protocol/schema/cron.ts,ui/src/ui/*.delivery.mode="webhook"is set.Risks and Mitigations
List only real risks for this PR. Add/remove entries as needed. If none, write
None.notifyin add/update payloads.Greptile Summary
Separates webhook POST delivery from channel announce delivery by adding
delivery.mode="webhook"withdelivery.toURL support, removing the deprecatednotifyfield from the cron job schema, and maintaining backward compatibility for legacy jobs viacron.webhookfallback.Key changes:
"webhook"as a newCronDeliveryModealongside"announce"and"none"delivery.toURL instead of relying on globalcron.webhook+notifyflagnotifyfield from protocol schema, UI forms, tool documentation, and type definitionsnotify: truecontinue to POST viacron.webhookconfigassertDeliverySupportto allow webhook mode for bothmainandisolatedsession targets, while restrictingannouncemode toisolatedonlydelivery.channel) correctly excluded for webhook modeConfidence Score: 4/5
src/gateway/server-cron.ts:41-42for webhook URL validation - consider adding validation at job creation time rather than silently returning null at runtimeLast reviewed commit: 9c549c6