List, edit, and delete a webhook trigger's custom URLs - #5111
Open
elias-ba wants to merge 4 commits into
Open
Conversation
Security Review ✅
|
elias-ba
force-pushed
the
fix/webhook-path-validation-ux
branch
from
September 2, 2026 22:56
a33c33f to
754d29e
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5111 +/- ##
=====================================
Coverage 90.7% 90.7%
=====================================
Files 422 422
Lines 20151 20161 +10
=====================================
+ Hits 18276 18291 +15
+ Misses 1875 1870 -5 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The unsaved-changes check builds a comparable shape from each trigger, and the webhook branch never copied custom_path. Renaming an endpoint left the Save button quiet, so the edit was easy to lose by navigating away.
Uniqueness is only knowable on the server, and without asking you find out by saving: the wizard closes, the save fails, and the reason lands on a panel you have already left. The answer is advisory. The partial unique index is still what guarantees it, and a save can lose the race, so the error the server returns on save stays. The query is served by the index that constraint already creates. The answer is dropped the moment the path changes, and a request that fails stops blocking rather than reporting the name as free. A stale error about the previous path is cleared straight through the Y.Doc, since the debounced route is slow enough for a save to land a fresh error for it to delete.
A webhook answers on its default URL and, once named, on a custom one as well. A single field made that look like a choice between the two, and people asked during the demo which URL was live. The panel now lists both, default first, with add, edit, delete and copy on the row itself. Only the path is editable. The origin and the project id stay as text beside the field, so what you type is visibly part of a URL rather than a separate value that turns into one. Enter saves and Tab takes the suggested name. A path the server would reject is reported under the row and left as typed. Rewriting it quietly is worse: you get an endpoint you did not ask for and no reason why. Finish waits until the name has been checked, so a duplicate is caught here rather than on the panel this closes to. A path the server refused is shown but not offered for copying, because posting to it reaches whichever workflow owns the name.
elias-ba
force-pushed
the
fix/webhook-path-validation-ux
branch
from
September 3, 2026 01:28
e85e197 to
704eff5
Compare
Auth is checked on the resolved trigger, so it covers both the default URL and the custom one. Nothing tested it. Every auth test posted to the default URL, and the one namespaced post in the suite was on a trigger with no auth method, so a change that keyed auth methods off the first path segment would have gone through green. The panel now says so as well, since the section it sits under is a list of URLs rather than one.
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.
Description
This PR changes how a webhook trigger's URLs are shown and edited, and fixes a bug where changing the custom path did not mark the workflow as unsaved.
Custom paths shipped in #5105. Demoing them showed three problems.
The panel now lists both URLs and lets you edit the custom one in place. A rejected path stays as you typed it and says what is wrong. A name in use is reported while you type.
Follow-up to #4952.
Validation steps
Additional notes for the reviewer
AI Usage
Please disclose whether you've used AI anywhere in this PR (it's cool, we just want to know!):
You can read more details in our Responsible AI Policy
Pre-submission checklist
/reviewwith Claude Code):owner,:admin,:editor,:viewer)