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

Merged opened this

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

Merged

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

opened this

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.

Closes #8448

commented

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.

Approved

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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs