Public: anyone can read this; the crew can change it.
The front door's Made here shows the forge owner's apps and pins, never an app a signed-up stranger made #11906
Check · Review · Land · Live — No review yet.
The home page's Made here and the signed-out jump palette now show only pinned apps and apps whose repository belongs to an admin. An unpinned app from any other account is left off both. The new test fails on main and passes now, and `bun x tsc --noEmit`, `scripts/gate.ts`, `scripts/design-lint.ts` and the 17 tests in `test/front.test.ts` pass, as do 262 other tests that touch the palette or fron…
3 files · +52 −6
look green — it answered, no tests were run, ready for a look deploy 9831c5b
Check passeddeploy 9831c5b
Website spec: 19 findings (report only)
- /board http://127.0.0.1:44765/board answered 303 — https://specification.website/
- /notes http://127.0.0.1:44765/notes answered 303 — https://specification.website/
- /feed http://127.0.0.1:44765/feed answered 303 — https://specification.website/
- /review http://127.0.0.1:44765/review answered 303 — https://specification.website/
- /releases http://127.0.0.1:44765/releases answered 303 — https://specification.website/
- /repos http://127.0.0.1:44765/repos answered 303 — https://specification.website/
- /map http://127.0.0.1:44765/map answered 303 — https://specification.website/
- /system http://127.0.0.1:44765/system answered 303 — https://specification.website/
- /talk http://127.0.0.1:44765/talk answered 303 — https://specification.website/
- /flow http://127.0.0.1:44765/flow answered 303 — https://specification.website/
- /resilience http://127.0.0.1:44765/resilience answered 303 — https://specification.website/
- /boards?help http://127.0.0.1:44765/boards?help answered 303 — https://specification.website/
- /settings/crew http://127.0.0.1:44765/settings/crew answered 303 — https://specification.website/
- /settings/crew?help http://127.0.0.1:44765/settings/crew?help answered 303 — https://specification.website/
- /preview-admin/sample expected exactly one <h1>, found 2 — headings
- /preview-admin/sample/next expected exactly one <h1>, found 2 — headings
- /preview-admin/sample/bets expected exactly one <h1>, found 2 — headings
- /preview-admin/sample/waves expected exactly one <h1>, found 2 — headings
- /preview-admin/sample/milestones expected exactly one <h1>, found 2 — headings
The home page's Made here and the signed-out jump palette now show only pinned apps and apps whose repository belongs to an admin. An unpinned app from any other account is left off both. The new test fails on main and passes now, and bun x tsc --noEmit, scripts/gate.ts, scripts/design-lint.ts and the 17 tests in test/front.test.ts pass, as do 262 other tests that touch the palette or front page. The full suite is left to the forge's check.
Screenshots missing: the before/after shots of / at 390 px and 1280 px are not in this pull. The sandbox has no browser.
What changed
src/actions/front.ts: unpinned apps are filtered to admin-owned ones before ranking, so the hour-long ranking cache never holds an excluded app. Pinned apps keep the admin's order. Thetotalcount still includes every public app, so /explore and each app's own address are unaffected.doorRepos(app): a new function in the same file that returns the featured app plus the shelf.src/web/layout.tsuses it for the palette's repository rows when nobody is signed in. Signed-in palettes are unchanged. Plain public repositories no longer appear in the signed-out palette, since it now offers only what the shelf shows.- Empty state: with nothing to show, "Nothing public is up yet" renders as before; I did not add a test for it.
test/front.test.ts: the new test uses an owner's app, a pinned stranger's app and an unpinned stranger's app. It checks that the first two reach the front-page JSON and the palette, the third reaches neither, and the third still answers at its own address. Two existing tests ranked a non-admin's unpinned apps on the shelf, which is now intentionally excluded. I made that account an admin inside those two tests; the ranking they check is unchanged.
Left out
- There is no separate "forge owner" concept in the code, so "owner" means an admin account. If an admin who isn't the forge owner should not count, this needs a narrower rule.
How to try it
Open / signed out on the preview, or open the Jump to anywhere palette. Only the owner's and pinned apps appear, and an app another account made appears only after an admin pins it.
Process note: the pre-push hook required a "Try:" commit, so the branch ends with an empty commit describing how to try the change.
The home page's Made here and the signed-out jump palette now show only pinned apps and apps whose repository belongs to an admin. An unpinned app from any other account is left off both. The new test fails on main and passes now, and
bun x tsc --noEmit,scripts/gate.ts,scripts/design-lint.tsand the 17 tests intest/front.test.tspass, as do 262 other tests that touch the palette or front page. The full suite is left to the forge's check.Screenshots missing: the before/after shots of
/at 390 px and 1280 px are not in this pull. The sandbox has no browser.What changed
src/actions/front.ts: unpinned apps are filtered to admin-owned ones before ranking, so the hour-long ranking cache never holds an excluded app. Pinned apps keep the admin's order. Thetotalcount still includes every public app, so /explore and each app's own address are unaffected.doorRepos(app): a new function in the same file that returns the featured app plus the shelf.src/web/layout.tsuses it for the palette's repository rows when nobody is signed in. Signed-in palettes are unchanged. Plain public repositories no longer appear in the signed-out palette, since it now offers only what the shelf shows.test/front.test.ts: the new test uses an owner's app, a pinned stranger's app and an unpinned stranger's app. It checks that the first two reach the front-page JSON and the palette, the third reaches neither, and the third still answers at its own address. Two existing tests ranked a non-admin's unpinned apps on the shelf, which is now intentionally excluded. I made that account an admin inside those two tests; the ranking they check is unchanged.Left out
How to try it Open
/signed out on the preview, or open the Jump to anywhere palette. Only the owner's and pinned apps appear, and an app another account made appears only after an admin pins it.Process note: the pre-push hook required a "Try:" commit, so the branch ends with an empty commit describing how to try the change.
Closes #11902