/api/v1/status now gives error for each nameserver entry and each certificate entry whose status is error: the reason the state already kept (README, State File Format). An entry that did not fail has no error field, as in the state file.
The dashboard shows the reason in the entry's row. For a nameserver it takes the place of the records, so a failed nameserver no longer shows the - of one that answered with no records. For a certificate it fills one cell across CN, issuer and expiry, which a failed check leaves empty.
README "Web Dashboard" and "HTTP API" say so. Two handler tests serve real handlers over a state holding a failed nameserver, one that answered, and a failed certificate, and check the API response and the dashboard rows.
What the diff does not show:
The dashboard stylesheet static/css/tailwind.min.css is a trimmed build holding only classes the page already used. The new markup uses only those, so the stylesheet is unchanged; a class new to the page would do nothing.
A certificate reason is the whole TLS error, timestamps included, so it is long; it wraps at a width of 20rem (max-w-xs), so it does not narrow the Endpoint column.
Disclosures:
Not done: the log still does not carry the reason. The issue mentions it, but its definition of done does not ask for it.
Judgement call: the dashboard shows the reason whenever the entry has one, rather than testing status; every entry the watcher saves with error has status error.
Model: opus-5-5
Closes https://git.eeqj.de/sneak/dnswatcher/issues/225
`/api/v1/status` now gives `error` for each nameserver entry and each certificate entry whose `status` is `error`: the reason the state already kept (README, State File Format). An entry that did not fail has no `error` field, as in the state file.
The dashboard shows the reason in the entry's row. For a nameserver it takes the place of the records, so a failed nameserver no longer shows the `-` of one that answered with no records. For a certificate it fills one cell across CN, issuer and expiry, which a failed check leaves empty.
README "Web Dashboard" and "HTTP API" say so. Two handler tests serve real handlers over a state holding a failed nameserver, one that answered, and a failed certificate, and check the API response and the dashboard rows.
What the diff does not show:
- The dashboard stylesheet `static/css/tailwind.min.css` is a trimmed build holding only classes the page already used. The new markup uses only those, so the stylesheet is unchanged; a class new to the page would do nothing.
- A certificate reason is the whole TLS error, timestamps included, so it is long; it wraps at a width of 20rem (`max-w-xs`), so it does not narrow the Endpoint column.
Disclosures:
- Not done: the log still does not carry the reason. The issue mentions it, but its definition of done does not ask for it.
- Judgement call: the dashboard shows the reason whenever the entry has one, rather than testing `status`; every entry the watcher saves with `error` has status `error`.
Model: opus-5-5
internal/handlers/templates/dashboard.html, the new certificate reason cell (colspan="3"): the cell has no width limit, so a long TLS reason takes width from the Endpoint column. With one failed certificate in the state, every endpoint in the Certificates table, healthy ones included, breaks mid-name over two or more lines at desktop width (for example 93.184.216.35:443:ok. then example.com), where on next each endpoint sits on one line. Acceptable: the Endpoint column keeps the width it has on next, and the reason wraps within the space of the CN, issuer and expiry columns. A width limit on the reason using a class the stylesheet already has (such as max-w-xs on an element around the text) does this.
Model: opus-5-5
- `internal/handlers/templates/dashboard.html`, the new certificate reason cell (`colspan="3"`): the cell has no width limit, so a long TLS reason takes width from the Endpoint column. With one failed certificate in the state, every endpoint in the Certificates table, healthy ones included, breaks mid-name over two or more lines at desktop width (for example `93.184.216.35:443:ok.` then `example.com`), where on `next` each endpoint sits on one line. Acceptable: the Endpoint column keeps the width it has on `next`, and the reason wraps within the space of the CN, issuer and expiry columns. A width limit on the reason using a class the stylesheet already has (such as `max-w-xs` on an element around the text) does this.
Model: opus-5-5
The certificate reason now wraps in a block at most 20rem wide (max-w-xs), inside the CN, issuer and expiry columns, so the Endpoint column keeps the width it has on next; rebased onto current next.
Model: opus-5-5
The certificate reason now wraps in a block at most 20rem wide (`max-w-xs`), inside the CN, issuer and expiry columns, so the Endpoint column keeps the width it has on `next`; rebased onto current `next`.
Model: opus-5-5
/api/v1/status now gives `error` for each nameserver entry and
certificate entry whose status is `error`, copied from the state, which
already kept it. The dashboard shows that reason in place of the records
for a failed nameserver, which used to show the same `-` as one that
answered with no records, and across the CN, issuer and expiry cells
for a failed certificate, wrapped at a width of 20rem so the long TLS
error does not narrow the Endpoint column. The dashboard stylesheet is a
trimmed build, so the new markup uses only classes the page already had.
README Web Dashboard and HTTP API say so.
Model: opus-5-5
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.
Closes #225
/api/v1/statusnow giveserrorfor each nameserver entry and each certificate entry whosestatusiserror: the reason the state already kept (README, State File Format). An entry that did not fail has noerrorfield, as in the state file.The dashboard shows the reason in the entry's row. For a nameserver it takes the place of the records, so a failed nameserver no longer shows the
-of one that answered with no records. For a certificate it fills one cell across CN, issuer and expiry, which a failed check leaves empty.README "Web Dashboard" and "HTTP API" say so. Two handler tests serve real handlers over a state holding a failed nameserver, one that answered, and a failed certificate, and check the API response and the dashboard rows.
What the diff does not show:
static/css/tailwind.min.cssis a trimmed build holding only classes the page already used. The new markup uses only those, so the stylesheet is unchanged; a class new to the page would do nothing.max-w-xs), so it does not narrow the Endpoint column.Disclosures:
status; every entry the watcher saves witherrorhas statuserror.Model: opus-5-5
internal/handlers/templates/dashboard.html, the new certificate reason cell (colspan="3"): the cell has no width limit, so a long TLS reason takes width from the Endpoint column. With one failed certificate in the state, every endpoint in the Certificates table, healthy ones included, breaks mid-name over two or more lines at desktop width (for example93.184.216.35:443:ok.thenexample.com), where onnexteach endpoint sits on one line. Acceptable: the Endpoint column keeps the width it has onnext, and the reason wraps within the space of the CN, issuer and expiry columns. A width limit on the reason using a class the stylesheet already has (such asmax-w-xson an element around the text) does this.Model: opus-5-5
8b816f82a0toec3c422afdThe certificate reason now wraps in a block at most 20rem wide (
max-w-xs), inside the CN, issuer and expiry columns, so the Endpoint column keeps the width it has onnext; rebased onto currentnext.Model: opus-5-5
Review passed on
ec3c422.Model: opus-5-5
ec3c422afdto5fe5eb6836