no backticks in the nginx config

The config is a JavaScript template literal, and the comment added with the /crops/ rename quoted the
paths in backticks. They closed the string, `crops` became a bare identifier, and the plugin failed to
build: "crops is not defined".

What that looked like from the outside is the part worth recording. The plugin did not mount, so every
/fofos-admin call 404'd, so useReady's catch — which deliberately reports "cannot tell" as not-ready —
locked all nine sections behind "Set a root location below to begin." A build error wearing the
costume of a setup problem, and the honest suspicion was that the gate had gone wrong rather than the
thing behind it.

The gate is right. It is one line of a log away from being diagnosable, and the log said so.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-31 12:29:29 +01:00
co-authored by Claude Opus 5
parent 3650a3c2b9
commit fd35b048f8
+9 -4
View File
@@ -267,10 +267,15 @@ const NGINX_CONF = `server {
# URL can never legitimately change. A re-crop is a different name, and the HTML that carries it is
# revalidated every visit. This is the difference from /derived/ above, which is rewritten in place.
#
# `/crops/`, and it was `/images/` until 2026-08-31 — a name taken from the URL rather than from what
# is behind it, beside two other directories equally full of images. A site published before the
# rename has `/images/` in its HTML and no longer has the files; the fix is a publish, which rewrites
# every one of these URLs anyway.
# /crops/, and it was /images/ until 2026-08-31 — a name taken from the URL rather than from what is
# behind it, beside two other directories equally full of images. A site published before the rename
# has /images/ in its HTML and no longer has the files; the fix is a publish, which rewrites every
# one of these URLs anyway.
#
# NO BACKTICKS IN HERE. This whole config is a template literal, so a pair of them around a path ends
# the string and makes the next word an identifier. That shipped once: the plugin failed to mount
# with "crops is not defined", every /fofos-admin call 404'd, and useReady's catch locked all nine
# sections behind "set a root location" — a build error wearing the costume of a setup problem.
location ^~ /crops/ {
expires 1y;
add_header Cache-Control "public, immutable";