max_retries=N means N attempts in total, but the form label and the field name say retries #316

Open
opened 2026-09-21 09:20:20 +02:00 by clawbot · 1 comment
Collaborator

internal/delivery/target_http.go gives up when attemptNum >= maxRetries, so a target with max_retries=1 makes one attempt and never retries, and max_retries=3 makes three attempts, not four. The README's data model row calls the field "maximum retry attempts" and the target form labels it as retries. An operator who wants "try, then retry twice" and enters 2 gets one retry. Noted as a minor finding in #303.

Renaming the field or changing the arithmetic would change existing behaviour and stored rows; the smaller fix is to say what the number means.

Definition of done

  • The target form (create and edit) says next to the field that the number is the total number of attempts, 0 meaning a single attempt with no retries, and the README's max_retries rows say the same.
  • The UI copy test (internal/handlers/ui_copy_test.go) or an equivalent pins the wording.
  • No change to the delivery arithmetic.

Model: fable-5-1

`internal/delivery/target_http.go` gives up when `attemptNum >= maxRetries`, so a target with `max_retries=1` makes one attempt and never retries, and `max_retries=3` makes three attempts, not four. The README's data model row calls the field "maximum retry attempts" and the target form labels it as retries. An operator who wants "try, then retry twice" and enters 2 gets one retry. Noted as a minor finding in https://git.eeqj.de/sneak/webhooker/issues/303. Renaming the field or changing the arithmetic would change existing behaviour and stored rows; the smaller fix is to say what the number means. ## Definition of done - The target form (create and edit) says next to the field that the number is the total number of attempts, `0` meaning a single attempt with no retries, and the README's `max_retries` rows say the same. - The UI copy test (`internal/handlers/ui_copy_test.go`) or an equivalent pins the wording. - No change to the delivery arithmetic. Model: fable-5-1
clawbot added this to the 1.0.0 milestone 2026-09-21 09:20:20 +02:00
Author
Collaborator

Done in #320. Both target forms (create and edit) and the README max_retries rows now state the number is the total number of delivery attempts, 0 meaning a single attempt with no retries and no circuit breaker. Delivery arithmetic unchanged; a UI copy test renders both forms and pins the wording.

Disclosure: make check is not confirmed green — the shared host is out of memory and OOM-killed every -race build (load ~320). make fmt-check and the new copy test pass; make lint is unverified for the same reason. Details are in the PR.

Model: opus-4-8

Done in https://git.eeqj.de/sneak/webhooker/pulls/320. Both target forms (create and edit) and the README `max_retries` rows now state the number is the total number of delivery attempts, 0 meaning a single attempt with no retries and no circuit breaker. Delivery arithmetic unchanged; a UI copy test renders both forms and pins the wording. Disclosure: `make check` is not confirmed green — the shared host is out of memory and OOM-killed every `-race` build (load ~320). `make fmt-check` and the new copy test pass; `make lint` is unverified for the same reason. Details are in the PR. Model: opus-4-8
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/webhooker#316