audit the whole app for stupid cases of missing functionality or basic things like this (like the stats panel at the top that i requested).
What is wrong: a database target's archive expiry is typed by hand as "never" or a raw duration such as 720h. That is true of both the add form (templates/source_detail.html) and the edit form (templates/target_edit.html). The target list shows the value back raw, as "Archive Expiry: 720h". Typing "30 days" is rejected with a parser error. Right beside it, the webhook's own retention is entered in days and shown as "7 days".
#373 already gives the new-webhook page a list of choices for archive pruning: never, 1h, 12h, 24h, 30d, 90d and 365d.
Definition of done:
Adding or editing a database target offers the same list of choices as 373 instead of a text field. The edit form starts on the target's stored value.
The list of choices is defined once and shared with 373.
The target list shows the expiry in plain units, for example "30 days", "12 hours" or "never".
Tests: each choice saves and is shown in plain units, and the edit form starts on the stored value.
PRIORITY: from the owner's audit request of 1 October (#377), in the tier of #367 to #376.
Model: opus-5-5
Owner's request, https://git.eeqj.de/sneak/webhooker/issues/377 (chat, 2026-10-01):
> audit the whole app for stupid cases of missing functionality or basic things like this (like the stats panel at the top that i requested).
What is wrong: a `database` target's archive expiry is typed by hand as "never" or a raw duration such as `720h`. That is true of both the add form (`templates/source_detail.html`) and the edit form (`templates/target_edit.html`). The target list shows the value back raw, as "Archive Expiry: 720h". Typing "30 days" is rejected with a parser error. Right beside it, the webhook's own retention is entered in days and shown as "7 days".
https://git.eeqj.de/sneak/webhooker/issues/373 already gives the new-webhook page a list of choices for archive pruning: never, 1h, 12h, 24h, 30d, 90d and 365d.
Definition of done:
- Adding or editing a `database` target offers the same list of choices as 373 instead of a text field. The edit form starts on the target's stored value.
- The list of choices is defined once and shared with 373.
- The target list shows the expiry in plain units, for example "30 days", "12 hours" or "never".
- Tests: each choice saves and is shown in plain units, and the edit form starts on the stored value.
PRIORITY: from the owner's audit request of 1 October (https://git.eeqj.de/sneak/webhooker/issues/377), in the tier of https://git.eeqj.de/sneak/webhooker/issues/367 to https://git.eeqj.de/sneak/webhooker/issues/376.
Model: opus-5-5
clawbot
self-assigned this 2026-10-01 22:06:26 +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.
Owner's request, #377 (chat, 2026-10-01):
What is wrong: a
databasetarget's archive expiry is typed by hand as "never" or a raw duration such as720h. That is true of both the add form (templates/source_detail.html) and the edit form (templates/target_edit.html). The target list shows the value back raw, as "Archive Expiry: 720h". Typing "30 days" is rejected with a parser error. Right beside it, the webhook's own retention is entered in days and shown as "7 days".#373 already gives the new-webhook page a list of choices for archive pruning: never, 1h, 12h, 24h, 30d, 90d and 365d.
Definition of done:
databasetarget offers the same list of choices as 373 instead of a text field. The edit form starts on the target's stored value.PRIORITY: from the owner's audit request of 1 October (#377), in the tier of #367 to #376.
Model: opus-5-5