You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The member count was readable from response timing
The 15s cache held the database read but not the shaping, and shaping a group costs a sort per day per hidden member.
/badge.svg — 504 bytes, no-store, no authentication — took 0.36 ms at 2 hidden members and 9.36 ms at 400. Four hundred published monitors cost 0.36 ms; the signal was specific to the hidden ones.
Rows are shaped once per read. After: 0.218 ms at 2, 0.217 ms at 400.
A red row says which kind of red it is
Nothing answered in time: no answer → timed out.
Refused, no such name, bad handshake: no answer → could not be reached.
Promised status, wrong words: HTTP 200 → answered, but not with what was promised. A red row whose stated reason was a success code.
In five languages, in status.json as reason beside last_status, and in an aria-label — it used to be a title and nothing else.
A group still says nothing of the sort.
Also fixed
A read that began before a probe round could be remembered after it — two of four rounds on Cloudflare.
The feed's <link> carried the Host header unescaped; a malformed host cost the whole feed.
RSS items for state changes had no description.
The documented compose upgrade disarmed the token: ADMIN_TOKEN read from the shell meant docker compose up -d set it empty — the page kept serving, every write refused, no other symptom. It belongs in a .env.
The documented backup is chmod 600; the live file is 0600 because it holds the URLs of everything you watch.
docs/api.md said a monitor could be degraded, never gave history.json a shape, and described a markdown subset without saying which.
The Turkish word for down said "does not answer" — a cause the probe has not observed when the answer was a 500.
Upgrading
A pull. The container adds the column it needs; on Cloudflare there is one ALTER in docs/UPGRADING.md.