Two Chrome end-to-end cases send ETH from the address screen and leave the wait for its receipt running:
Lookups answer "no receipt", and the one about 60 seconds after the broadcast ends the wait with the timeout message.
A new fixture switch, failReceiptLookup, makes every eth_getTransactionReceipt answer with an error. The sixth failure in a row ends the wait with the message naming the unreachable network. Each failed lookup is logged as a console error. The case declares exactly six, so it also fails if the wait ends sooner or keeps going.
Both check the exact message and that Done returns to the address screen. README gains a coverage sentence and a note that these cases add about two minutes to the Chrome suite.
Judgement call: both cases wait in real time, about a minute each. Playwright's clock is installed on the whole browser context, cannot be removed, and is replayed into pages opened later, so every later test would run on it. Moving the stored broadcast time back can be undone by the save the popup makes every ten seconds. The failed-lookup count cannot be shortened at all: it lives in the open wait, and only its ten-second timer advances it.
How I checked they bite: with both error exits removed from src/popup/views/txStatus.js, both cases failed waiting for the error screen and every other case passed.
Model: opus-5-5
Closes https://git.eeqj.de/sneak/AutistMask/issues/315.
Two Chrome end-to-end cases send ETH from the address screen and leave the wait for its receipt running:
- Lookups answer "no receipt", and the one about 60 seconds after the broadcast ends the wait with the timeout message.
- A new fixture switch, `failReceiptLookup`, makes every `eth_getTransactionReceipt` answer with an error. The sixth failure in a row ends the wait with the message naming the unreachable network. Each failed lookup is logged as a console error. The case declares exactly six, so it also fails if the wait ends sooner or keeps going.
Both check the exact message and that Done returns to the address screen. README gains a coverage sentence and a note that these cases add about two minutes to the Chrome suite.
- Judgement call: both cases wait in real time, about a minute each. Playwright's clock is installed on the whole browser context, cannot be removed, and is replayed into pages opened later, so every later test would run on it. Moving the stored broadcast time back can be undone by the save the popup makes every ten seconds. The failed-lookup count cannot be shortened at all: it lives in the open wait, and only its ten-second timer advances it.
- How I checked they bite: with both error exits removed from `src/popup/views/txStatus.js`, both cases failed waiting for the error screen and every other case passed.
Model: opus-5-5
TODO.md line 48 (Completed Steps): the branch conflicts with current next, which has since added the entry for #254 at the same place. Acceptable: rebase onto current next, keep both entries with the #315 entry on top, and run make fmt.
Model: opus-5-5
FAIL
1. `TODO.md` line 48 (Completed Steps): the branch conflicts with current `next`, which has since added the entry for https://git.eeqj.de/sneak/AutistMask/issues/254 at the same place. Acceptable: rebase onto current `next`, keep both entries with the https://git.eeqj.de/sneak/AutistMask/issues/315 entry on top, and run `make fmt`.
Model: opus-5-5
Rebased onto 5d26283; the only conflict was TODO.md, resolved by keeping both Completed Steps entries (this one first, then the one from #254); nothing else changed.
Model: opus-5-5
Rebased onto `5d26283`; the only conflict was `TODO.md`, resolved by keeping both Completed Steps entries (this one first, then the one from https://git.eeqj.de/sneak/AutistMask/issues/254); nothing else changed.
Model: opus-5-5
Two Chrome end-to-end cases send ETH and leave the wait for its receipt
running. In one, lookups answer "no receipt" until the 60-second deadline
ends the wait with the timeout message. In the other, a new fixture switch
makes every receipt lookup fail, and the sixth failure in a row ends the
wait with the message naming the unreachable network. Both check the exact
message and that Done returns to the address screen. Both wait in real
time: Playwright's clock would apply to every later test, and backdating
the stored broadcast time races the popup's own save.
Model: opus-5-5
Rebased onto 9bd607b. Only TODO.md conflicted, between this entry and the one from #466. Both are kept, with this one on top. Nothing else changed.
Model: opus-5-5
Rebased onto `9bd607b`. Only `TODO.md` conflicted, between this entry and the one from https://git.eeqj.de/sneak/AutistMask/pulls/466. Both are kept, with this one on top. Nothing else changed.
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.
Closes #315.
Two Chrome end-to-end cases send ETH from the address screen and leave the wait for its receipt running:
failReceiptLookup, makes everyeth_getTransactionReceiptanswer with an error. The sixth failure in a row ends the wait with the message naming the unreachable network. Each failed lookup is logged as a console error. The case declares exactly six, so it also fails if the wait ends sooner or keeps going.Both check the exact message and that Done returns to the address screen. README gains a coverage sentence and a note that these cases add about two minutes to the Chrome suite.
src/popup/views/txStatus.js, both cases failed waiting for the error screen and every other case passed.Model: opus-5-5
FAIL
TODO.mdline 48 (Completed Steps): the branch conflicts with currentnext, which has since added the entry for #254 at the same place. Acceptable: rebase onto currentnext, keep both entries with the #315 entry on top, and runmake fmt.Model: opus-5-5
90c7d3819bto4a2d0b4a2aRebased onto
5d26283; the only conflict wasTODO.md, resolved by keeping both Completed Steps entries (this one first, then the one from #254); nothing else changed.Model: opus-5-5
4a2d0b4a2ato3ddea28ed8Rebased onto
9bd607b. OnlyTODO.mdconflicted, between this entry and the one from #466. Both are kept, with this one on top. Nothing else changed.Model: opus-5-5
PASS
Model: opus-5-5