Shadow the stale pb_public pages the deploy leaves behind

A commit that deletes a file from pb_public does not delete it from the server —
the deploy only copies in. So /settings.html and /onboarding.html kept answering
200 after the swap, the second still offering a signup form that can now only
fail. Explicit routes shadow them, and go on working as bookmarks even after
someone clears the directory by hand.
This commit is contained in:
Claude 2026-08-07 02:13:31 +02:00
parent 12e7f4103f
commit 36d7bb11b0

View file

@ -10,10 +10,12 @@
// `/tv` is the short form of `/get/tv`, because that URL gets typed on a
// television remote inside the Downloader app, one character at a time.
//
// `onboarding.html` and `settings.html` are gone rather than left lying around.
// The first offered a signup form that can now only fail — registration is
// owner-only — and a dead button is worse than no button. The second is a subset
// of the sources section.
// `onboarding.html` and `settings.html` are gone from the repo but NOT from the
// server: the deploy copies files into `pb_public` and never deletes the ones a
// commit removed, so both stale pages kept answering 200 after the swap. The old
// wizard still showed a signup form that can now only fail, which is worse than
// no page at all. Explicit routes shadow the leftovers — and keep working as
// bookmarks even once someone clears the directory by hand.
routerAdd("GET", "/account", (e) => e.redirect(302, "/"))
@ -22,3 +24,7 @@ routerAdd("GET", "/settings", (e) => e.redirect(302, "/#addons"))
// Typing this on a remote is the actual cost being optimised.
routerAdd("GET", "/tv", (e) => e.redirect(302, "/get/tv"))
// Shadow the stale files the deploy left behind (see above).
routerAdd("GET", "/settings.html", (e) => e.redirect(302, "/#addons"))
routerAdd("GET", "/onboarding.html", (e) => e.redirect(302, "/"))