feat(webhooks): pick-not-type sys_webhook form (method / triggers / object)#2880
Merged
Conversation
…bject) Extend the sharing-rule "pick, don't type" pass to the webhook form — the three fields where an admin had to hand-enter machine data become proper controls: - method: free text → select (GET/POST/PUT/PATCH/DELETE). Values are lowercased by Field.select; auto-enqueuer upper-cases the resolved method before delivery so legacy 'POST' rows and the new lowercase values both normalise. - triggers: hand-typed comma string → multi-select (create/update/delete/ undelete/api), stored as an array. parseRow now accepts array / JSON-string / legacy comma-string, so existing subscriptions keep firing (no migration). - object_name: free text → the object-ref picker (same widget as sys_sharing_rule; degrades to a text input when the widget isn't loaded). Tests added for the array and JSON-string trigger shapes. Framework-only — the object-ref widget already shipped in objectui. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013wGu7aa1YXhHseojW9CBRf
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
📓 Docs Drift CheckThis PR changes 1 package(s): 3 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:
|
This was referenced Jul 13, 2026
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.
What & why
Follow-up to the sharing-rule "pick, don't type" work (#2878). Auditing the platform's other admin-authored (
managedBy: 'config') forms surfacedsys_webhookas the standout: its create/edit form made admins hand-enter machine data in three fields. This turns them into proper controls.methodtriggerscreate,update,deleteobject_nameobject-refobject picker (same widget assys_sharing_rule)Backward compatibility (no migration)
triggersis now stored as an array, butAutoEnqueuer.parseRowaccepts array, JSON-encoded-array-string, and the legacy comma-separated forms — existing subscriptions keep firing. Tests added for the array and JSON-string shapes.methodselect option values are lowercased byField.select; the auto-enqueuer now upper-cases the resolved method before delivery, so legacy'POST'rows and the new lowercase values both normalise to a canonical HTTP method.object_namestores the objectname(unchanged);object-refdegrades to a text input where the widget isn't loaded.Scope
Framework-only — the
object-refwidget already shipped in objectui (#2421). This is part of the sameclaude/platform-sharing-rules-b29165line; the prior PR merged, so this branch was restarted frommain.Deferred (flagged for a separate look):
sys_position.permissions(a loose "JSON array of permission strings" whose reader is unclear — could be legacy; needs its own investigation before picking a widget).sys_webhook.definition_json(full webhook config) would benefit from a structured editor — larger, separate.Verification
@objectstack/plugin-webhooksbuild ✅ · tests 12/12 ✅ (incl. 2 new trigger-shape tests)🤖 Generated with Claude Code
Generated by Claude Code