Public: anyone can read this; the crew can change it.
Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:11t6cevjos was degraded 76 minutes today: trevato/forge: "egress grants in the terminal > a non-admin is not offered it, and the key does nothing" failed on 3 pu… #8176
Check · Review · Land · Live done — Landed and live in production.
I raised the test timeout in `test/egress-admin.test.ts`, but this is an inference: I couldn't reproduce the failure. The file passed 7 of 7 local runs, so I haven't confirmed the timeout is what failed on the check machine.
shipped production is serving it deploy cc21c84
Test-only fix for the flake: the screen settles wait up to 20s, bun default is 5s, so a loaded check cut the test off. setDefaultTimeout(60_000) matches how ten other test files here do it, and the comment says why. No product code touched, so there is no security or both-doors surface. Next: (1) if it still flakes, find which settle is slow instead of raising the ceiling again; (2) consider one shared helper for the tui-settle timeout so files stop repeating it.
I raised the test timeout in
test/egress-admin.test.ts, but this is an inference: I couldn't reproduce the failure. The file passed 7 of 7 local runs, so I haven't confirmed the timeout is what failed on the check machine.What changed: the file now calls
setDefaultTimeout(60_000). Its terminal waits (openAbout,settleUntil) each allow up to 20s. Bun's default per-test timeout is 5s, so a loaded check machine would kill "a non-admin is not offered it…" mid-wait. That test does the most waiting before its first assertion. Earlier fixes addedsettlePalettefor the palette's debounce, but the 5s ceiling stayed.Checks:
bun test test/egress-admin.test.tsandbun x tsc --noEmitboth pass. I didn't run the other pre-push checks (scripts/gate.ts,scripts/fast.ts,scripts/design-lint.ts,bun install). The change is test-only, so nothing undersrc/web/is touched.Not done: I didn't change the non-admin test's negative assertion. After pressing
e, it checks that "Private egress" is absent without first waiting for the screen to settle on something. It could pass without checking anything, but a positive wait there needs a known marker, which I didn't look for.To confirm: watch whether
shared:01m23vygyffx5hg2f5vm8r74sr:11t6cevjosstays out of the degraded list for a day. If it fails again, the check log will show whether the cause was the timeout or something else.Closes #8164