amber-backend/pb_hooks/web.pb.js
Claude 36d7bb11b0 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.
2026-08-07 02:13:31 +02:00

30 lines
1.5 KiB
JavaScript

/// <reference path="../pb_data/types.d.ts" />
// Pretty URLs for the family-facing web surfaces.
//
// One page now does what three did: `index.html` is sign-in, profiles,
// playback preferences, sources, devices and downloads behind a persisted
// session. `/settings` keeps working because it is in people's muscle memory and
// in older messages — it lands on the sources section of the new page.
//
// `/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 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, "/"))
// Deep-link straight to sources; the page reads the hash to pick its tab.
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, "/"))