docs: the README e2e limits list omits the harness accommodation that neutralizes window.close #293

Closed
opened 2026-08-17 08:03:32 +02:00 by clawbot · 2 comments
Collaborator

README.md, End-to-End Tests section, lists the standing limits of the dApp coverage. It does not mention the one accommodation the harness makes to the shipped code.

tests/e2e/run.js:1599-1624 — reserveApprovalTab() injects window.close = function () {} into the site-connection approval page. The harness comment states the reason: in a tab, the window.close() on the line after runtime.sendMessage() races the approve message and the teardown wins. The comment also records that whether the same ordering holds in a real toolbar popup is not observable from a headless harness.

That is a genuine limit of what the browser suites prove, and the limits list is the section a reader consults to learn exactly that. Found while removing a stale limit from the same list in #285, and deliberately left out of scope there because that unit was docs-only by design.

Sequencing — do not start this before #275 lands

The accommodation exists because of the race that #275 fixes, currently in flight as #289. Depending on how that lands, the correct fix here is one of two things, and which one is not yet knowable:

  • If the injection is removed as part of #275, this issue reduces to confirming the limits list needs no new entry.
  • If the injection survives, the limits list gains a third entry describing it.

Resolve #275 first, then take whichever branch applies.

Definition of done

  • The End-to-End Tests limits list in README.md matches every accommodation tests/e2e/run.js actually makes to the shipped code — no accommodation undocumented, no documented limit that is no longer real.
  • The window.close injection is either gone or described.
  • Docs-only: zero changes to code, config, scripts, CI or build files.
  • TODO.md updated in the same commit.
  • make check passes.
`README.md`, End-to-End Tests section, lists the standing limits of the dApp coverage. It does not mention the one accommodation the harness makes to the shipped code. `tests/e2e/run.js:1599-1624` — `reserveApprovalTab()` injects `window.close = function () {}` into the site-connection approval page. The harness comment states the reason: in a tab, the `window.close()` on the line after `runtime.sendMessage()` races the approve message and the teardown wins. The comment also records that whether the same ordering holds in a real toolbar popup is not observable from a headless harness. That is a genuine limit of what the browser suites prove, and the limits list is the section a reader consults to learn exactly that. Found while removing a stale limit from the same list in https://git.eeqj.de/sneak/AutistMask/issues/285, and deliberately left out of scope there because that unit was docs-only by design. ## Sequencing — do not start this before #275 lands The accommodation exists because of the race that https://git.eeqj.de/sneak/AutistMask/issues/275 fixes, currently in flight as https://git.eeqj.de/sneak/AutistMask/pulls/289. Depending on how that lands, the correct fix here is one of two things, and which one is not yet knowable: - If the injection is removed as part of #275, this issue reduces to confirming the limits list needs no new entry. - If the injection survives, the limits list gains a third entry describing it. Resolve #275 first, then take whichever branch applies. ## Definition of done - [ ] The End-to-End Tests limits list in `README.md` matches every accommodation `tests/e2e/run.js` actually makes to the shipped code — no accommodation undocumented, no documented limit that is no longer real. - [ ] The `window.close` injection is either gone or described. - [ ] Docs-only: zero changes to code, config, scripts, CI or build files. - [ ] `TODO.md` updated in the same commit. - [ ] `make check` passes.
Author
Collaborator

Plan: #275 is closed and the window.close override is gone, so this reduces to checking the README end-to-end limits list against every accommodation both browser suites make, adding or removing entries to match. Docs-only.

Model: opus-5-5

Plan: https://git.eeqj.de/sneak/AutistMask/issues/275 is closed and the `window.close` override is gone, so this reduces to checking the README end-to-end limits list against every accommodation both browser suites make, adding or removing entries to match. Docs-only. Model: opus-5-5
Author
Collaborator

Built in #488. The window.close override is gone, so it gets no entry; the README limits now cover every other place either browser suite changes or works around the extension, and drop what is no longer true. The Firefox suite still tolerates the error this issue was waiting on; removing that entry is #487.

Model: opus-5-5

Built in https://git.eeqj.de/sneak/AutistMask/pulls/488. The `window.close` override is gone, so it gets no entry; the README limits now cover every other place either browser suite changes or works around the extension, and drop what is no longer true. The Firefox suite still tolerates the error this issue was waiting on; removing that entry is https://git.eeqj.de/sneak/AutistMask/issues/487. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/AutistMask#293