Public: anyone can read this; the crew can change it.
Every public app links to Report a problem: /__forge/report, a Link header, the template footer #711
Check · Review · Land · Live done — Landed and live in production.
Closes #701. **Builds on #705, which builds on #677**: merge those first. After that, this pull's diff is only the commit below.
shipped production is serving it for issue #701 — its issue is already done deploy 119f4d2
Sign in to join this conversation.
new above
offline
Closes #701. Builds on #705, which builds on #677: merge those first. After that, this pull's diff is only the commit below.
What changed
/__forge/report?from=<path>on the host of every public app whose repository is public. It sends the visitor to/:owner/:name/report?from=<that app page>, without waking the app, since the app being down is the usual reason to ask.fromis always a path on this app's own host.Link: </__forge/report>; rel="help"; title="Report a problem (no account needed)". So does the forge's own "not running" page for it, which also shows a visible "Report a problem" link: that is the page Muse met when the game was down.Tests:
test/apps-report.test.ts(in the gate): the redirect carries the page; afrompointing at another host is pinned to/; the form it lands on works for anyone; a public app's page has theLinkand the link; a private app has neither. The scaffold, apps, apps-adversarial, apps-open-host and web-apps tests pass. One scaffold test, "typechecks under strict settings", fails on this machine with or without this change, because ofbun installoutput it doesn't expect.Look: a local forge with a scaffolded public app at
dungeon.localhost, phone at 390 px and desktop at 1280 px. The footer shows "Something wrong? Report a problem, no account needed." under the API line. Following it lands on/cheffryjames/dungeon/report?from=http://dungeon.localhost:3701/. The response carries theLinkheader.After this ships: an issue on
cheffryjames/cheffry-s-dungeonasking for the same footer link. The game was built from an older template, so its page needs the one line itself. TheLinkheader and/__forge/reportwork for it as soon as this deploys.🤖 Generated with Claude Code