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

Merged opened this

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

Merged

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

opened this

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.

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, Enter could 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 with settlePalette after each key. That is the existing helper from test/helpers/tui.ts, and test/egress-admin.test.ts already uses it the same way. It waits until app.paletteSettled is true and then settles the app. This is a test-only change: one import and one call in test/tui-notes.test.ts.

Left out. I did not touch the other TUI tests that press Enter after a palette query without settlePalette. 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

Approved

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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs