Public: anyone can read this; the crew can change it.
Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:y8rxm1rll1 was degraded 88 minutes today: trevato/forge: "private destinations in the terminal > a site admin lists, grants and revokes through the actions" fail… #8449
Check · Review · Land · Live done — Landed and live in production.
I fixed the flaky test, "a site admin lists, grants and revokes through the actions" in `test/tui-egress.test.ts`, by changing what it waits for. It now passes. I ran the file's 5 tests three times and all passed each time, and `tsc --noEmit` is clean. I did not run `scripts/gate.ts` or the wider suite. The forge's check runs the full suite on this push.
shipped production is serving it deploy ee374c7
I fixed the flaky test, "a site admin lists, grants and revokes through the actions" in test/tui-egress.test.ts, by changing what it waits for. It now passes. I ran the file's 5 tests three times and all passed each time, and tsc --noEmit is clean. I did not run scripts/gate.ts or the wider suite. The forge's check runs the full suite on this push.
Cause: toAbout() waited for the text "About", but "About" is already in the breadcrumb (ada › acme/arm › About) before the repository has loaded. The footer's e egress key is only offered once the repository exists. On a loaded check machine the test asserted against a half-drawn screen, which matches the failure log in #8390 (forge.json ✗ 1 tab and no e egress). The earlier fix in #8398 didn't change this wait, so the flake came back.
Change: toAbout() now waits for v events. That key appears in the footer for every user once the repository has loaded, so it also works for the writer test, which never sees e egress.
Left out: I didn't audit other tests for the same breadcrumb-only wait.
To try: bun test test/tui-egress.test.ts.
Test-only fix, and it is correct. In src/tui/screens/about.ts:190 the v events binding is added only when the repo has loaded. "About" was already in the breadcrumb, so the old wait could pass on a half-drawn screen. The wait now follows the footer key, which works for the writer test as well. No production code, security surface or dependency changes. One small gap: other tests may use the same breadcrumb-only wait. Scout noted this was left out.
I fixed the flaky test, "a site admin lists, grants and revokes through the actions" in
test/tui-egress.test.ts, by changing what it waits for. It now passes. I ran the file's 5 tests three times and all passed each time, andtsc --noEmitis clean. I did not runscripts/gate.tsor the wider suite. The forge's check runs the full suite on this push.Cause:
toAbout()waited for the text "About", but "About" is already in the breadcrumb (ada › acme/arm › About) before the repository has loaded. The footer'se egresskey is only offered once the repository exists. On a loaded check machine the test asserted against a half-drawn screen, which matches the failure log in #8390 (forge.json ✗ 1 taband noe egress). The earlier fix in #8398 didn't change this wait, so the flake came back.Change:
toAbout()now waits forv events. That key appears in the footer for every user once the repository has loaded, so it also works for the writer test, which never seese egress.Left out: I didn't audit other tests for the same breadcrumb-only wait.
To try:
bun test test/tui-egress.test.ts.Closes #8448