Public: anyone can read this; the crew can change it.
Full suite red: test/hollow.test.ts #9549
Check · Review · Land · Live done — Landed and live in production.
`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
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 /displayswas routed but no page linked to it. I added a "Displays" item to the user menu and to the command palette, both insrc/web/layout.ts.- Stale allow-list entries:
demoDefaultsanddemoFactsAtwere allowed inscripts/hollow-allow.tsunder #9208, but the display code now reaches them. I removed both entries, which leavesALLOWEDempty.
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".
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.tsgets a "Displays" item in the user menu and in the palette, so/displaysis no longer a routed page that nothing links to. - Allow-list:
scripts/hollow-allow.tsno longer listsdemoDefaultsanddemoFactsAt(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.
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 intest/now-links.test.ts. I removed the menu item./displaysstays linked from the command palette, which is enough for the hollow-work audit. - Unreached list:
scripts/unreached-allow.jsonstill listedsrc/actions/pin_demos.ts,src/display/config.ts,src/display/items.tsandsrc/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".
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.tsandscripts/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.
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.
test/hollow.test.tsshould pass again. It passes locally, and so do the gate,tscand the design lint; I ran only the hollow, layout and palette tests, not the full suite.The audit was failing for two reasons:
GET /displayswas routed but no page linked to it. I added a "Displays" item to the user menu and to the command palette, both insrc/web/layout.ts.demoDefaultsanddemoFactsAtwere allowed inscripts/hollow-allow.tsunder #9208, but the display code now reaches them. I removed both entries, which leavesALLOWEDempty.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