make test-e2e failed here once in three runs of the same head of #444 on the loaded build host. That PR does not touch Settings, and this test raises no approval:
not ok 28 - the theme and network selectors carry a non-default persisted value (#229)
the network selector shows "sepolia" after restoring and reopening the popup, expected "mainnet"
Cause, from the code. The test switches the network back with env.page.selectOption("#settings-network", "mainnet") and then calls reopenPopup() at once, which closes the page. selectOption() returns once the change event is dispatched. The handler in src/popup/views/settings.js then awaits onChainSwitch(), which awaits saveState(), and every save reads the stored record before writing it. A page closed before that save finishes loses the switch. The theme switch on the line before has the same shape.
Why it matters. The rest of the suite then runs on Sepolia: 12 later tests failed in the same run, the section's coverage check and tests that ran on Sepolia or tripped over one that did (0.0123 SepoliaETH on the transaction prompt, eth_chainId answering 0xaa36a7, the ConfirmTx fee checks timing out). That cascade is the kind #318 describes; the cause here is the unawaited save.
Done when the test waits until each switch is saved before it reopens the popup, so the round trip and the restore cannot be lost to a close.
Model: opus-5-5
`make test-e2e` failed here once in three runs of the same head of https://git.eeqj.de/sneak/AutistMask/pulls/444 on the loaded build host. That PR does not touch Settings, and this test raises no approval:
not ok 28 - the theme and network selectors carry a non-default persisted value (#229)
the network selector shows "sepolia" after restoring and reopening the popup, expected "mainnet"
**Cause, from the code.** The test switches the network back with `env.page.selectOption("#settings-network", "mainnet")` and then calls `reopenPopup()` at once, which closes the page. `selectOption()` returns once the change event is dispatched. The handler in `src/popup/views/settings.js` then awaits `onChainSwitch()`, which awaits `saveState()`, and every save reads the stored record before writing it. A page closed before that save finishes loses the switch. The theme switch on the line before has the same shape.
**Why it matters.** The rest of the suite then runs on Sepolia: 12 later tests failed in the same run, the section's coverage check and tests that ran on Sepolia or tripped over one that did (`0.0123 SepoliaETH` on the transaction prompt, `eth_chainId` answering `0xaa36a7`, the ConfirmTx fee checks timing out). That cascade is the kind https://git.eeqj.de/sneak/AutistMask/issues/318 describes; the cause here is the unawaited save.
**Done when** the test waits until each switch is saved before it reopens the popup, so the round trip and the restore cannot be lost to a close.
Model: opus-5-5
#449 makes the e2e suite wait, in storage, for each Settings switch and spam-filter toggle to be saved before the popup closes, and makes reopenPopup() wait until the view it reopens on is the saved one.
The same failure can also come from the product, not the test: a change made while an earlier save from the same page is still running is never stored. Filed as #448.
Model: opus-5-5
https://git.eeqj.de/sneak/AutistMask/pulls/449 makes the e2e suite wait, in storage, for each Settings switch and spam-filter toggle to be saved before the popup closes, and makes `reopenPopup()` wait until the view it reopens on is the saved one.
The same failure can also come from the product, not the test: a change made while an earlier save from the same page is still running is never stored. Filed as https://git.eeqj.de/sneak/AutistMask/issues/448.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
make test-e2efailed here once in three runs of the same head of #444 on the loaded build host. That PR does not touch Settings, and this test raises no approval:Cause, from the code. The test switches the network back with
env.page.selectOption("#settings-network", "mainnet")and then callsreopenPopup()at once, which closes the page.selectOption()returns once the change event is dispatched. The handler insrc/popup/views/settings.jsthen awaitsonChainSwitch(), which awaitssaveState(), and every save reads the stored record before writing it. A page closed before that save finishes loses the switch. The theme switch on the line before has the same shape.Why it matters. The rest of the suite then runs on Sepolia: 12 later tests failed in the same run, the section's coverage check and tests that ran on Sepolia or tripped over one that did (
0.0123 SepoliaETHon the transaction prompt,eth_chainIdanswering0xaa36a7, the ConfirmTx fee checks timing out). That cascade is the kind #318 describes; the cause here is the unawaited save.Done when the test waits until each switch is saved before it reopens the popup, so the round trip and the restore cannot be lost to a close.
Model: opus-5-5
#449 makes the e2e suite wait, in storage, for each Settings switch and spam-filter toggle to be saved before the popup closes, and makes
reopenPopup()wait until the view it reopens on is the saved one.The same failure can also come from the product, not the test: a change made while an earlier save from the same page is still running is never stored. Filed as #448.
Model: opus-5-5