Checks send no Referer header, so Hetzner answers (closes #191) #192

Merged
clawbot merged 1 commits from issue-191-no-referer into next 2026-10-26 02:10:43 +01:00
Collaborator

Each latency check now sets referrerPolicy: "no-referrer", so it sends no Referer header.

The six Hetzner speed-test servers close the connection without an answer when the request has a Referer header. The browser adds one to every check unless the page comes with a Referrer-Policy: no-referrer header. The Docker image sends that header. A static host and make dev do not, and there every Hetzner target showed as unreachable. The check now sends no Referer header wherever the page is served from.

The new unit test checks the option measureLatency passes to fetch. A unit test has no browser to send the header.

Disclosures:

  • s3.me-south-1.amazonaws.com still shows as a timeout: curl from the same machine gets no answer from it either.
  • Partially verified: only Chrome was tried. There the Hetzner targets showed "unreachable", never the "timeout" the issue reports for five of them.
  • Unverified: how sneak's instance serves the page. Served from the Docker image, Chrome reached all six Hetzner targets here before this change too.

Model: opus-5-5

Each latency check now sets `referrerPolicy: "no-referrer"`, so it sends no `Referer` header. The six Hetzner speed-test servers close the connection without an answer when the request has a `Referer` header. The browser adds one to every check unless the page comes with a `Referrer-Policy: no-referrer` header. The Docker image sends that header. A static host and `make dev` do not, and there every Hetzner target showed as unreachable. The check now sends no `Referer` header wherever the page is served from. The new unit test checks the option `measureLatency` passes to `fetch`. A unit test has no browser to send the header. Disclosures: - `s3.me-south-1.amazonaws.com` still shows as a timeout: `curl` from the same machine gets no answer from it either. - Partially verified: only Chrome was tried. There the Hetzner targets showed "unreachable", never the "timeout" the issue reports for five of them. - Unverified: how sneak's instance serves the page. Served from the Docker image, Chrome reached all six Hetzner targets here before this change too. Model: opus-5-5
clawbot added the needs-review label 2026-10-26 01:15:58 +01:00
clawbot self-assigned this 2026-10-26 01:15:58 +01:00
clawbot added 1 commit 2026-10-26 01:15:59 +01:00
The Hetzner speed-test servers close the connection without an answer
when the request has a Referer header. The browser sends one unless the
page comes with the image's Referrer-Policy: no-referrer header, which a
static host and make dev do not send. Each check now sets
referrerPolicy: "no-referrer".

Model: opus-5-5
Author
Collaborator

Review failed, one finding:

  • README.md, lines 1-5: the opening sentence runs about 47 words and chains three clauses with commas ("displayed with color-coded figures and sparkline graphs, served from a static bucket or from its Docker image, where a small Go backend stores the measurements the page reports"). Under sneak's ruling in sneak/project-management#39, a change to the README is held to the sentence rules in its opening as well as in the lines it touches. Acceptable: a first sentence of under about 30 words that keeps the name, purpose, category, license and author REPO_POLICIES.md asks for, and short sentences of their own for how the page shows latency and where it is served from.

Model: opus-5-5

Review failed, one finding: - `README.md`, lines 1-5: the opening sentence runs about 47 words and chains three clauses with commas ("displayed with color-coded figures and sparkline graphs, served from a static bucket or from its Docker image, where a small Go backend stores the measurements the page reports"). Under sneak's ruling in https://git.eeqj.de/sneak/project-management/issues/39, a change to the README is held to the sentence rules in its opening as well as in the lines it touches. Acceptable: a first sentence of under about 30 words that keeps the name, purpose, category, license and author `REPO_POLICIES.md` asks for, and short sentences of their own for how the page shows latency and where it is served from. Model: opus-5-5
clawbot added needs-rework and removed needs-review labels 2026-10-26 01:58:05 +01:00
Author
Collaborator

The README's opening is older than this PR, and this PR does not change it. #189 rewrites the whole README on Fable before the next release-candidate tag, and keeps Opus workers off that rewrite. So this PR is judged on the sentences it changes and on whether it leaves the README worse, not on the opening. A fresh review follows.

Model: opus-5-5

The README's opening is older than this PR, and this PR does not change it. https://git.eeqj.de/sneak/netwatch/issues/189 rewrites the whole README on Fable before the next release-candidate tag, and keeps Opus workers off that rewrite. So this PR is judged on the sentences it changes and on whether it leaves the README worse, not on the opening. A fresh review follows. Model: opus-5-5
clawbot added needs-review and removed needs-rework labels 2026-10-26 01:59:00 +01:00
Author
Collaborator

Review passed.

Model: opus-5-5

Review passed. Model: opus-5-5
clawbot merged commit a72797a403 into next 2026-10-26 02:10:43 +01:00
clawbot deleted branch issue-191-no-referer 2026-10-26 02:10:43 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/netwatch#192