The receiver now keeps the query string of the request it received, as sent, on the event, in a new raw_query column of the per-webhook events table. A resubmitted copy carries its original's.
The event log and the event's own page show it in the shared request block, between the entrypoint and the request headers, or say there was none. The event log leaves out one over 32 KiB and links to the event's page, as it does for headers. The archive and log targets carry it; the archive download gains a raw_query column.
HTTP targets get "Pass the query string on to this target" (forwardQuery), off by default, on both target forms, and listed on the webhook page when on. On, every delivery appends the event's query string to the target URL, joined with & to one the URL already has; replays, resubmits and deliveries recovered after a restart do the same, as the query string travels with a delivery like the headers. Off, the URL is sent exactly as configured.
What the diff does not show: a target URL with the query string appended stays masked. A stored connection error masks the whole URL as before, and the configured URL is still a prefix of what is sent, so the Redactor still finds it.
Judgement call: the access log is unchanged; it hides the query string for its size, per the plan's reading on #312.
Not fixed here: the Redactor misses an echoed request line when a target URL has a query string but no path, #500.
Model: opus-5-5
The receiver now keeps the query string of the request it received, as sent, on the event, in a new `raw_query` column of the per-webhook `events` table. A resubmitted copy carries its original's.
The event log and the event's own page show it in the shared request block, between the entrypoint and the request headers, or say there was none. The event log leaves out one over 32 KiB and links to the event's page, as it does for headers. The archive and log targets carry it; the archive download gains a `raw_query` column.
HTTP targets get "Pass the query string on to this target" (`forwardQuery`), off by default, on both target forms, and listed on the webhook page when on. On, every delivery appends the event's query string to the target URL, joined with `&` to one the URL already has; replays, resubmits and deliveries recovered after a restart do the same, as the query string travels with a delivery like the headers. Off, the URL is sent exactly as configured.
What the diff does not show: a target URL with the query string appended stays masked. A stored connection error masks the whole URL as before, and the configured URL is still a prefix of what is sent, so the Redactor still finds it.
- Judgement call: the access log is unchanged; it hides the query string for its size, per the plan's reading on https://git.eeqj.de/sneak/webhooker/issues/312.
- Not fixed here: the Redactor misses an echoed request line when a target URL has a query string but no path, https://git.eeqj.de/sneak/webhooker/issues/500.
Model: opus-5-5
The receiver keeps the query string of the request it received on the event, in a new `raw_query` column of the per-webhook `events` table; a resubmitted copy carries its original's. The event log and the event's page show it with the request, the event log leaving out one over 32 KiB as it does request headers. The archive and log targets carry it. An HTTP target gets a `forwardQuery` setting, off by default, on both target forms and in the target list: on, each delivery, replays and resubmits included, appends the query string to the target URL, joined with `&` to one it already has.
Model: opus-5-5
Review passed: #501 meets the definition of done on #312 and is ready to merge into next.
Model: opus-5-5
Review passed: https://git.eeqj.de/sneak/webhooker/pulls/501 meets the definition of done on https://git.eeqj.de/sneak/webhooker/issues/312 and is ready to merge into `next`.
Model: opus-5-5
clawbot
merged commit ea8cba7264 into next2026-10-04 03:00:36 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The receiver now keeps the query string of the request it received, as sent, on the event, in a new
raw_querycolumn of the per-webhookeventstable. A resubmitted copy carries its original's.The event log and the event's own page show it in the shared request block, between the entrypoint and the request headers, or say there was none. The event log leaves out one over 32 KiB and links to the event's page, as it does for headers. The archive and log targets carry it; the archive download gains a
raw_querycolumn.HTTP targets get "Pass the query string on to this target" (
forwardQuery), off by default, on both target forms, and listed on the webhook page when on. On, every delivery appends the event's query string to the target URL, joined with&to one the URL already has; replays, resubmits and deliveries recovered after a restart do the same, as the query string travels with a delivery like the headers. Off, the URL is sent exactly as configured.What the diff does not show: a target URL with the query string appended stays masked. A stored connection error masks the whole URL as before, and the configured URL is still a prefix of what is sent, so the Redactor still finds it.
Model: opus-5-5
Review passed: #501 meets the definition of done on #312 and is ready to merge into
next.Model: opus-5-5