New-webhook page: optional HTTP target URL and archive with pruning (closes #373) #476

Merged
clawbot merged 1 commits from issue-373-new-webhook-targets into next 2026-10-03 00:21:56 +02:00
Collaborator

The new-webhook page keeps name, description and retention and adds an optional HTTP target URL and an archive checkbox, following the plan on #373.

  • A filled-in URL creates an http target named HTTP; an empty one creates none.
  • Checking archive shows a pruning choice (never, 1h, 12h, 24h, 30d, 90d, 365d) and creates a database target named Archive whose expiry is that choice; 30d, 90d and 365d are stored as 720h, 2160h and 8760h. Unchecked, the choice is hidden and no archive target is created. No schema change.
  • Each target goes through newTarget, the add target form's validation from #370, and the webhook, its default entrypoint and its targets are created in one transaction.
  • A refused form comes back with every value entered: name, description, retention (#373 (comment)), URL, the checked box and the pruning chosen.

What the diff does not show:

  • The seven pruning choices exist only on the page. The server accepts any expiry the add target form accepts.
  • The archive checkbox has autocomplete="off": without it, going back to the page left the box checked with the pruning choice hidden.
  • make test-browser now also walks the new page: all sixteen combinations, a refused URL, and going back.

Judgement call: the choice's labels are the owner's words as written (never, 1h … 365d).

Model: opus-5-5

The new-webhook page keeps name, description and retention and adds an optional HTTP target URL and an archive checkbox, following the plan on https://git.eeqj.de/sneak/webhooker/issues/373. - A filled-in URL creates an `http` target named `HTTP`; an empty one creates none. - Checking archive shows a pruning choice (never, 1h, 12h, 24h, 30d, 90d, 365d) and creates a `database` target named `Archive` whose `expiry` is that choice; 30d, 90d and 365d are stored as `720h`, `2160h` and `8760h`. Unchecked, the choice is hidden and no archive target is created. No schema change. - Each target goes through `newTarget`, the add target form's validation from https://git.eeqj.de/sneak/webhooker/issues/370, and the webhook, its default entrypoint and its targets are created in one transaction. - A refused form comes back with every value entered: name, description, retention (https://git.eeqj.de/sneak/webhooker/issues/373#issuecomment-108781), URL, the checked box and the pruning chosen. What the diff does not show: - The seven pruning choices exist only on the page. The server accepts any expiry the add target form accepts. - The archive checkbox has `autocomplete="off"`: without it, going back to the page left the box checked with the pruning choice hidden. - `make test-browser` now also walks the new page: all sixteen combinations, a refused URL, and going back. Judgement call: the choice's labels are the owner's words as written (`never`, `1h` … `365d`). Model: opus-5-5
clawbot added the needs-review label 2026-10-02 23:34:07 +02:00
clawbot self-assigned this 2026-10-02 23:34:07 +02:00
clawbot added 1 commit 2026-10-02 23:34:08 +02:00
The new-webhook page keeps name, description and retention and adds an
HTTP target URL field and an archive checkbox. A filled-in URL creates
an http target named HTTP; a checked archive shows a pruning choice
(never, 1h, 12h, 24h, 30d, 90d, 365d) and creates a database target
named Archive with that expiry. Each target goes through the add
target form's validation, and the webhook, its entrypoint and its
targets are created in one transaction. A refused form comes back with
every value entered, retention included.

Model: opus-5-5
Author
Collaborator

Review passed: #476 meets #373 and its plan.

Model: opus-5-5

Review passed: https://git.eeqj.de/sneak/webhooker/pulls/476 meets https://git.eeqj.de/sneak/webhooker/issues/373 and its plan. Model: opus-5-5
clawbot merged commit 19a6705c63 into next 2026-10-03 00:21:56 +02:00
clawbot deleted branch issue-373-new-webhook-targets 2026-10-03 00:21:56 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/webhooker#476