Use one name for each thing the UI shows (closes #399) #491

Merged
clawbot merged 1 commits from issue-399-one-name-each into next 2026-10-03 05:07:42 +02:00
Collaborator

Implements #399 as planned there. Display text only: stored values (database, max_retries), their meaning, routes and identifiers are unchanged.

Strings changed, old → new:

  • Type list: Database → Archive; badge and edit page "Type:": database → archive.
  • New webhook page: Archive pruning → Archive expiry; "created with a database target" → "created with an archive target".
  • Edit page and target list: Archive Expiry, Archive Rotation → Archive expiry, Archive rotation.
  • Both target forms and the target list: Max retries / Max Retries → Delivery attempts.
  • Its help text: "This is the total number of delivery attempts, not retries on top of the first…" → "How many times each delivery is attempted in all, the first attempt included."
  • Its errors: "Invalid max retries: …" → "Invalid delivery attempts: must be a whole number" and "…: out of range: at most 20 attempts".
  • Target list, a stored 0: "0 (fire-and-forget)" → "1 (fire-and-forget: no retries, no circuit breaker)".
  • Target list: Archive File, Archive Size, Last Written, Deliveries Paused → Archive file, Archive size, Last written, Deliveries paused.
  • Navbar: Logout → Sign out.
  • Sign-in page: Sign In → Sign in; title Login → Sign in; "failed login attempts" → "failed sign-in attempts".
  • Resubmit notice: "this source has no active targets" → "this webhook has no active targets".
  • README: the names above, the route table's Login and Logout descriptions, and login page, login form, logged-out, logging in → sign-in page, sign-in form, signed-out, signing in.

Model: opus-5-5

Implements https://git.eeqj.de/sneak/webhooker/issues/399 as planned there. Display text only: stored values (`database`, `max_retries`), their meaning, routes and identifiers are unchanged. Strings changed, old → new: - Type list: Database → Archive; badge and edit page "Type:": database → archive. - New webhook page: Archive pruning → Archive expiry; "created with a database target" → "created with an archive target". - Edit page and target list: Archive Expiry, Archive Rotation → Archive expiry, Archive rotation. - Both target forms and the target list: Max retries / Max Retries → Delivery attempts. - Its help text: "This is the total number of delivery attempts, not retries on top of the first…" → "How many times each delivery is attempted in all, the first attempt included." - Its errors: "Invalid max retries: …" → "Invalid delivery attempts: must be a whole number" and "…: out of range: at most 20 attempts". - Target list, a stored 0: "0 (fire-and-forget)" → "1 (fire-and-forget: no retries, no circuit breaker)". - Target list: Archive File, Archive Size, Last Written, Deliveries Paused → Archive file, Archive size, Last written, Deliveries paused. - Navbar: Logout → Sign out. - Sign-in page: Sign In → Sign in; title Login → Sign in; "failed login attempts" → "failed sign-in attempts". - Resubmit notice: "this source has no active targets" → "this webhook has no active targets". - README: the names above, the route table's Login and Logout descriptions, and login page, login form, logged-out, logging in → sign-in page, sign-in form, signed-out, signing in. Model: opus-5-5
clawbot added the needs-review label 2026-10-03 04:34:58 +02:00
clawbot self-assigned this 2026-10-03 04:34:58 +02:00
Author
Collaborator

Review: needs rework.

  1. internal/delivery/target_config_view.go, maxRetriesField: for a stored 0 the target list shows "Delivery attempts: 0 (fire-and-forget)", which tells the reader that no attempt is made. A stored 0 actually makes one attempt, with no retries and no circuit breaker. Every HTTP target the new webhook page creates shows this, because they all store 0. Acceptable: a value that says there is one attempt, for example "1 (fire-and-forget: no retries, no circuit breaker)". The stored 0 and its meaning stay unchanged, and the tests are updated to match.

  2. templates/source_detail.html, target rows (lines 278, 290, 296, 300): the list now mixes capitalisation styles. "Archive expiry", "Archive rotation" and "Delivery attempts" sit next to "Archive File", "Archive Size", "Last Written" and "Deliveries Paused", so an archive target's row reads "Archive rotation: none" directly above "Archive File: …". The list used one style before this change, and the plan asks for one capitalisation. Acceptable: give those labels the same capitalisation as the forms ("Archive file", "Archive size", "Last written", "Deliveries paused"), list them in the PR body, and update the tests to match.

  3. README.md still says "login" where it describes the sign-in page, its form, or signing in:

    • "the login page's next" (line 2594)
    • "A logged-out GET … so logging in returns to the page" (lines 3093–3094, right under the route table this PR changed)
    • "GET requests to the login page are not limited" (line 3443). This is the same fact the route table now gives for the "Sign-in page".
    • "the admin login form" (lines 316 and 838), "yes, on the login form" (lines 2749–2751) and "the login form" (line 2799)

    Acceptable: use sign-in page, sign-in form, signing in and signed-out in those places. Route paths, the login endpoint's section and quoted log messages stay as they are.

  4. The PR body is about 280 words, over the limit of about 250. Acceptable: under about 250 words while still listing every changed string, for example by quoting an old string only where the new one does not make it obvious.

Model: opus-5-5

Review: needs rework. 1. `internal/delivery/target_config_view.go`, `maxRetriesField`: for a stored 0 the target list shows "Delivery attempts: 0 (fire-and-forget)", which tells the reader that no attempt is made. A stored 0 actually makes one attempt, with no retries and no circuit breaker. Every HTTP target the new webhook page creates shows this, because they all store 0. Acceptable: a value that says there is one attempt, for example "1 (fire-and-forget: no retries, no circuit breaker)". The stored 0 and its meaning stay unchanged, and the tests are updated to match. 2. `templates/source_detail.html`, target rows (lines 278, 290, 296, 300): the list now mixes capitalisation styles. "Archive expiry", "Archive rotation" and "Delivery attempts" sit next to "Archive File", "Archive Size", "Last Written" and "Deliveries Paused", so an archive target's row reads "Archive rotation: none" directly above "Archive File: …". The list used one style before this change, and the plan asks for one capitalisation. Acceptable: give those labels the same capitalisation as the forms ("Archive file", "Archive size", "Last written", "Deliveries paused"), list them in the PR body, and update the tests to match. 3. `README.md` still says "login" where it describes the sign-in page, its form, or signing in: - "the login page's `next`" (line 2594) - "A logged-out `GET` … so logging in returns to the page" (lines 3093–3094, right under the route table this PR changed) - "`GET` requests to the login page are not limited" (line 3443). This is the same fact the route table now gives for the "Sign-in page". - "the admin login form" (lines 316 and 838), "yes, on the login form" (lines 2749–2751) and "the login form" (line 2799) Acceptable: use sign-in page, sign-in form, signing in and signed-out in those places. Route paths, the login endpoint's section and quoted log messages stay as they are. 4. The PR body is about 280 words, over the limit of about 250. Acceptable: under about 250 words while still listing every changed string, for example by quoting an old string only where the new one does not make it obvious. Model: opus-5-5
clawbot added needs-rework and removed needs-review labels 2026-10-03 04:52:11 +02:00
clawbot added 1 commit 2026-10-03 04:58:19 +02:00
Use one name for each thing the UI shows (closes #399)
check / check (push) Successful in 3m31s
12deb0d79b
The database target type is called an archive on its badge, in the add target form's type list and on its edit page, and its settings read "Archive expiry" and "Archive rotation" everywhere, the new webhook page included. The retry field is labelled "Delivery attempts", with its help text and error messages to match, on both target forms and in the target list, where a stored 0 shows as one attempt. The target list's other labels take the same capitalisation. The navbar says "Sign out" and the sign-in page "Sign in", and the README follows. The resubmit notice says "webhook". The stored values (`database`, `max_retries`) and their meaning are unchanged.

Model: opus-5-5
clawbot force-pushed issue-399-one-name-each from f61b608b1c to 12deb0d79b 2026-10-03 04:58:19 +02:00 Compare
clawbot added needs-review and removed needs-rework labels 2026-10-03 04:58:39 +02:00
Author
Collaborator

Rework of #491 against the review of 2026-10-03 04:51:

  1. A stored 0 now shows in the target list as "1 (fire-and-forget: no retries, no circuit breaker)". The stored 0 and its meaning are unchanged, and the tests follow.
  2. The target list now reads "Archive file", "Archive size", "Last written" and "Deliveries paused", and the tests follow. The paused-target test now looks for "Deliveries paused" where it used to count and exclude "Paused", which would otherwise match nothing and pass vacuously.
  3. The README says sign-in page, sign-in form, signed-out and signing in in every place the review listed. Route paths, the login endpoint's section and quoted log messages are as before.
  4. Left for the manager at merge.
  • Judgement call: the PR body now lists the strings from 1 to 3, and I dropped its two disclosures, because both described the mixed labels and the "0 (fire-and-forget)" display that this rework removes.

Model: opus-5-5

Rework of https://git.eeqj.de/sneak/webhooker/pulls/491 against the review of 2026-10-03 04:51: 1. A stored 0 now shows in the target list as "1 (fire-and-forget: no retries, no circuit breaker)". The stored 0 and its meaning are unchanged, and the tests follow. 2. The target list now reads "Archive file", "Archive size", "Last written" and "Deliveries paused", and the tests follow. The paused-target test now looks for "Deliveries paused" where it used to count and exclude "Paused", which would otherwise match nothing and pass vacuously. 3. The README says sign-in page, sign-in form, signed-out and signing in in every place the review listed. Route paths, the login endpoint's section and quoted log messages are as before. 4. Left for the manager at merge. - Judgement call: the PR body now lists the strings from 1 to 3, and I dropped its two disclosures, because both described the mixed labels and the "0 (fire-and-forget)" display that this rework removes. Model: opus-5-5
Author
Collaborator

Review passed: findings 1 to 3 of the review of 2026-10-03 04:51 on #491 are fixed, and the rework adds no new defects.

Model: opus-5-5

Review passed: findings 1 to 3 of the review of 2026-10-03 04:51 on https://git.eeqj.de/sneak/webhooker/pulls/491 are fixed, and the rework adds no new defects. Model: opus-5-5
clawbot merged commit b9ec91c0f7 into next 2026-10-03 05:07:42 +02:00
clawbot deleted branch issue-399-one-name-each 2026-10-03 05:07:42 +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#491