Skip to content

v3.7.0 — which kind of red

Choose a tag to compare

@productdevbook productdevbook released this 20 Aug 04:18
· 54 commits to main since this release

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.