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

opened this

Check · Review · Land · Live — No review yet. Next: reviewer, no review yet.

Ready to land

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)
opened this

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. The total count 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.ts uses 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.

Closes #11902

commented

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. The total count 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.ts uses 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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs