Let an entrypoint's description be edited in place (closes #392)
check / check (push) Successful in 3m21s

Each entrypoint on the webhook page has an Edit button that shows its
description as a form, with Save and Cancel, in place. Saving posts to
/hook/{id}/entrypoints/{entrypointID}/edit, behind the same login, CSRF
and ownership checks as activate, deactivate and delete, and writes only
the description column, so the URL never changes. An empty description
shows as "Entrypoint". Activate and deactivate now write only the active
column, so they cannot write back an older description over an edit.

Model: opus-5-5
This commit is contained in:
2026-10-02 17:00:45 +00:00
parent 40f59ec4d2
commit 8b5e3b734f
8 changed files with 280 additions and 6 deletions
+4 -1
View File
@@ -1327,7 +1327,9 @@ under the real policy and checks that: both add forms stay hidden until Add is
clicked; choosing Slack in the add target form leaves the HTTP fields out of
what it submits, also after leaving the page and going back to it, when the
browser restores the choice; the Copy button beside an entrypoint URL reads
"Copied" once clicked; an event expands and collapses, and so do a delivery's
"Copied" once clicked; an entrypoint's Edit button shows its edit form in place
of its description, Cancel hides it and drops what was typed, and Save changes
the description; an event expands and collapses, and so do a delivery's
attempts inside it; and at phone width the menu button opens and closes the
mobile menu. It also fails if the browser reports a console warning or error,
an uncaught exception, or anything the policy refused. `make check` and the
@@ -2893,6 +2895,7 @@ returns to the page that was asked for.
| `POST` | `/hook/{id}/deliveries/{deliveryID}/replay` | Replay a finished delivery: creates a new delivery for the same event against the target's current configuration (30 per minute per bucket, then `429`) |
| `POST` | `/hook/{id}/events/{eventID}/resubmit` | Resubmit a stored event: creates a new event copying it and fans that out to every currently active target (30 per minute per bucket, then `429`) |
| `POST` | `/hook/{id}/entrypoints` | Add entrypoint to webhook |
| `POST` | `/hook/{id}/entrypoints/{entrypointID}/edit` | Change an entrypoint's description; its URL stays the same |
| `POST` | `/hook/{id}/entrypoints/{entrypointID}/delete` | Delete an entrypoint |
| `POST` | `/hook/{id}/entrypoints/{entrypointID}/toggle` | Enable or disable an entrypoint |
| `POST` | `/hook/{id}/targets` | Add target to webhook |