test: take only an approval window whose approval is still pending (closes #287)
check / check (push) Failing after 2s
e2e / e2e-chrome (push) Failing after 2s
e2e / e2e-firefox (push) Failing after 2s

The site-connection tests settle the prompt in a tab while the toolbar
popup for the same approval is still loading. Closing the tab tears that
popup down, chrome.action.openPopup() rejects, and the background opens
its fallback window for the settled approval and removes it again. The
next test took any page at an approval URL, so it could take that
window, which showed the site view and then closed under the wait for
the sign view. The harness now asks the background whether a page's
approval is still pending before taking it.

The blocklist test clicked its self-closing Reject with a plain click;
it now clicks it as the other site Reject does, with the click witnessed.

Model: opus-5-5
This commit is contained in:
2026-10-04 22:34:33 +00:00
parent 2b97aae04a
commit c6bb2cd705
3 changed files with 62 additions and 27 deletions
+7 -8
View File
@@ -619,14 +619,13 @@ The jobs **report, they do not gate.** A failure is a red mark against the
commit that a reviewer has to account for, not a hard block: whether a check
blocks a merge is Gitea branch protection, which this repo does not configure.
That is not only a statement about configuration. The Chrome suite is
**measurably flaky under load** — two of six runs of unmutated code on a busy
machine lost the approval popup out from under the dApp signing wait, always in
the `#183` section, tracked as
[#287](https://git.eeqj.de/sneak/AutistMask/issues/287). So a red `e2e-chrome`
has to be read before it is believed, and that flake is the blocker to ever
making this a required check. Do not answer it with a retry wrapper: a suite
that reruns until it is green stops being evidence.
That is not only a statement about configuration. One report of the Chrome suite
**failing under load** is still open:
[#290](https://git.eeqj.de/sneak/AutistMask/issues/290) records runs on a busy
machine failing with `the extension opened no approval window within 30000ms`.
So a red `e2e-chrome` has to be read before it is believed, and that report is
the blocker to ever making this a required check. Do not answer it with a retry
wrapper: a suite that reruns until it is green stops being evidence.
Nothing in either job can pass vacuously. There is no `continue-on-error` and no
`|| true`; both scripts exit non-zero when docker is missing, when the image