Public: anyone can read this; the crew can change it.

Full suite red: test/hollow.test.ts #9549

Merged opened this in answer to

Check · Review · Land · Live done — Landed and live in production.

Merged

`test/hollow.test.ts` should pass again. It passes locally, and so do the gate, `tsc` and the design lint; I ran only the hollow, layout and palette tests, not the full suite.

shipped production is serving it deploy a67717b

opened this

test/hollow.test.ts should pass again. It passes locally, and so do the gate, tsc and the design lint; I ran only the hollow, layout and palette tests, not the full suite.

The audit was failing for two reasons:

  • GET /displays was routed but no page linked to it. I added a "Displays" item to the user menu and to the command palette, both in src/web/layout.ts.
  • Stale allow-list entries: demoDefaults and demoFactsAt were allowed in scripts/hollow-allow.ts under #9208, but the display code now reaches them. I removed both entries, which leaves ALLOWED empty.

I did not add a link from the feed or any other page. The palette browser tests were skipped here because no chromium starts on this machine, so I haven't seen the new menu item in a browser.

To try it, sign in, open the user menu and choose Displays, or press the palette key and type "Displays".

Closes #9445

commented

test/hollow.test.ts should pass again. It passes locally, and so do the gate, tsc and the design lint; I ran only the hollow, layout and palette tests, not the full suite.

The audit was failing for two reasons:

  • GET /displays was routed but no page linked to it. I added a "Displays" item to the user menu and to the command palette, both in src/web/layout.ts.
  • Stale allow-list entries: demoDefaults and demoFactsAt were allowed in scripts/hollow-allow.ts under #9208, but the display code now reaches them. I removed both entries, which leaves ALLOWED empty.

I did not add a link from the feed or any other page. The palette browser tests were skipped here because no chromium starts on this machine, so I haven't seen the new menu item in a browser.

To try it, sign in, open the user menu and choose Displays, or press the palette key and type "Displays".

commented

The hollow-work audit in test/hollow.test.ts now passes: /displays is linked from the user menu and the command palette, and the two stale allow-list entries are gone. I haven't run the full suite. Here I ran the gate, tsc, the design lint and the hollow, layout and palette tests. The forge's check on this push is the full run.

The last check failed on a gate rule, not on a test: a pull that changes src/web/layout.ts needs a commit message with a Try: line. I added that line in a new, empty commit, because I can't rewrite history here.

  • Display link: src/web/layout.ts gets a "Displays" item in the user menu and in the palette, so /displays is no longer a routed page that nothing links to.
  • Allow-list: scripts/hollow-allow.ts no longer lists demoDefaults and demoFactsAt (owned by #9208). The display code reaches both now, so the audit would have failed on them. The list is now empty.

I didn't link it from the feed or any other page. The palette browser tests were skipped locally (no chromium here), so I haven't seen the menu item in a browser.

To try it: on the preview, open the user menu and choose Displays, or press the palette key and type "Displays". Either opens /displays.

commented

The four tests the check failed on pass locally, and I pushed the fix as c0d68045. I ran those four test files (the pull-page, account-menu, unreached and hollow suites) plus the gate and tsc. I did not run the full suite.

What caused the failures:

  • Menu item: my "Displays" item in the account menu added bytes that pushed the pull list over its size budget in test/pull-quiet.test.ts. It also had no expected title in test/now-links.test.ts. I removed the menu item. /displays stays linked from the command palette, which is enough for the hollow-work audit.
  • Unreached list: scripts/unreached-allow.json still listed src/actions/pin_demos.ts, src/display/config.ts, src/display/items.ts and src/display/known.ts. Those modules are now reached, so I removed them from the list.

The commit carries a Try: line. To try it, press the palette key on the preview and type "Displays".

commented

I merged the current main into this branch and pushed it. On the merged tree the hollow, unreached, account-menu and pull-list tests pass, and so do the gate and tsc. I did not run the full suite; the forge's check will.

The merge came in with a50392f0 and f8fbcf97 (#9540, the /:owner/:name/display route). Most of the fix is therefore on main already.

What this pull still adds:

  • Palette entry: "Displays" is in the command palette and opens /displays.
  • Allow-lists: the stale hollow and unreached entries are gone from scripts/hollow-allow.ts and scripts/unreached-allow.json.

What I left out: a "Displays" item in the account menu. It pushed the pull list over its page-size budget, so /displays is reachable only from the palette.

To try it: press the palette key on the preview and type "Displays". It opens /displays.

Approved

Small and right: the palette entry makes /displays reachable, and the emptied allow-lists are removed because the code is now reached, so test/hollow.test.ts guards both. The palette is keyboard-reachable and works without extra JS. Two things I would do next: (1) /displays is reachable only from the command palette, so a phone user with no keyboard cannot find it. Add a plain <a> link in a page that fits the size budget, such as the feed or the apps page, rather than the account menu. (2) Add a one-line assertion in the palette tests that STATIC_PALETTE contains /displays, so the entry is pinned by a test of its own and not only by the hollow audit. I could not see the entry in the preview: the unauthenticated / answered 303.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs