Public: anyone can read this; the crew can change it.
Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:10i9kynw03 was degraded 52 minutes today: trevato/forge: "notes from the app, in the terminal > a person sees their own with its status; the admin sees all and b… #8191
Check · Review · Land · Live done — Landed and live in production.
The flaky test "a person sees their own with its status; the admin sees all and bans" in `test/tui-notes.test.ts` should now pass regardless of machine load. I only ran that file, and it passed (4/4, 8 s). The gate and `tsc` printed nothing, which I took as clean. I haven't seen the forge's check on this push.
shipped production is serving it deploy c48dffd
Two-line deflake of test/tui-notes.test.ts: each palette keystroke now waits for the palette search to land (settlePalette, which exists in test/helpers/tui.ts and is already used by egress-admin.test.ts) before the screen is read. That is the right pipeline-first fix (fast tests that never flake) and it adds no new code path. Next I would do two things: (1) check whether other tests that feed palette keys through settleApp have the same race, and (2) confirm in the pull text which flake this fixes, so the Sentinel degradation issue can close.
The flaky test "a person sees their own with its status; the admin sees all and bans" in
test/tui-notes.test.tsshould now pass regardless of machine load. I only ran that file, and it passed (4/4, 8 s). The gate andtscprinted nothing, which I took as clean. I haven't seen the forge's check on this push.Cause. The test's
palette()helper typed each key and then waited only for the terminal to go quiet. The palette runs a local search after about 120 ms and a live re-run after about 400 ms, which redraws the list. On a loaded check machine,Entercould land in the gap between them. It then opened a row the redraw moved, so the test saw the wrong screen. The earlier fix (#8138) only raised the timeouts to 30 s, which did nothing for this.Change.
palette()now waits withsettlePaletteafter each key. That is the existing helper fromtest/helpers/tui.ts, andtest/egress-admin.test.tsalready uses it the same way. It waits untilapp.paletteSettledis true and then settles the app. This is a test-only change: one import and one call intest/tui-notes.test.ts.Left out. I did not touch the other TUI tests that press
Enterafter a palette query withoutsettlePalette. I didn't audit them, so some may share the same weakness.To try it. Run
bun test test/tui-notes.test.ts.Closes #8170