fix(cmux-next): restore the Apps Discover home the #21338 squash undid

Merged
TE
15d ago
+369-48

Restores the Apps Discover home from #21339, which the #21338 squash silently reverted. Adopted by sidebar-cleanup from teamleaderleo's branch. app-store-features, which owns the native App Store, has no stake in these files and agreed to the plan.

What's in it

The page now shows:

  • Featured row. Up to two first-party apps (most installs first) lead the Discover home when there is no search or category in the grid layout. They then leave the "All" grid below.
  • Publisher line. Cards and rows show the publisher's name, with a check mark when the publisher is verified.
  • Card details. Cards show their first category badge and a Preview button. Preview and Install wrap together at the end of the footer.
  • Loading skeleton. The catalog shows a skeleton grid while it loads. It breathes on the shared cmux-breathe clock and holds still under Reduce Motion or Static status indicators.
  • Disconnected state. It uses the same apps-state look as the error and empty states.

Base merge (one, at 88a18186383)

Base wins everything it added since this branch was cut:

  • #22772's Cloud banner
  • #21431's error, empty and loading states
  • #22976's toolbar-edge Discover list and container query

To keep apps-page-edges.test.ts (#22976) true, I dropped #21339's toolbar title and Discover intro rule: the title pushed the tabs off the grid's left edge. The branch's duplicate sections in markdown/README.md were a bad merge, so I took base's copy.

Before / after (gallery pages.apps, 1000x640)

Before (base)After
before discover lightafter discover light
before discover darkafter discover dark
before loading lightafter loading light

Live side-by-side of every reached state: https://cmux-lawrences-mac-mini.tail137216.ts.net:18796/compare/fix-next-restore-apps-discover/

Tests

webviews/test/apps-discover-home.test.tsx (jsdom) covers:

  • the featured row with the publisher and verified mark
  • the skeleton
  • Preview and Install sharing one group
  • featured apps leaving the catalog, and a search dropping the featured row
  • no empty "All" section when every app is featured

The red tests were committed before each fix (25eb39c8f47 then db48339f77f; 678adbacd79 then 36b2da76777).

Observed / Not run

  • Observed:
    • Before the review commits, bun test test/apps-discover-home.test.tsx passed 2/2 at 1371d5a5cb2.
    • bun run check / vp check report 0 errors in the changed files. With the base format red masked, 1 warning remains, in HistoryPage.tsx (base).
    • check-type-scale is ok (apps/styles.css 8 to 7).
    • prepush-gate is clean.
    • Fleet cmux-ci compile-check --app passed on 36b2da76777.
    • I read the gallery stills above.
  • Not run locally: the three new test cases and apps-page-edges.test.ts (Chromium). A hook blocks bun test on this Mac, so CI runs them.
  • Base reds, not this PR:
    • vp check formatting of test/tool-label-several-files.test.ts (pushed with CMUX_WEB_LINT_SKIP_REASON)
    • defaults-snapshot

Changelog

  • Fixed: The App Store's Discover home again leads with featured first-party apps, shows each app's publisher with a verified mark and a Preview button, and shows a skeleton while loading.

Agent session: cosmic-gray

🤖 Generated with Claude Code