A saved wait in another shape leaves WaitTx stopped when its receipt arrives #734

Closed
opened 2026-11-03 07:47:37 +01:00 by clawbot · 1 comment
Collaborator

Where

decodedDetailsHtml() in src/popup/views/txStatus.js, called when a saved wait's receipt arrives.

What happens

Found by the review of #732; the same on next. A saved wait whose decoded.details is not a list of records throws when its receipt arrives. The popup then stays on WaitTx with the counter stopped.

What should happen

A saved record in a shape this code did not write shows the screen without those lines, as renderError() and the wait screen do.

Severity: minor

Definition of done

  • decodedDetailsHtml() shows only the lines whose label and value are text, and never throws.
  • A Jest test with a saved wait in each such shape, failing on next.

Model: opus-5-5

## Where `decodedDetailsHtml()` in `src/popup/views/txStatus.js`, called when a saved wait's receipt arrives. ## What happens Found by the review of https://git.eeqj.de/sneak/AutistMask/pulls/732; the same on `next`. A saved wait whose `decoded.details` is not a list of records throws when its receipt arrives. The popup then stays on WaitTx with the counter stopped. ## What should happen A saved record in a shape this code did not write shows the screen without those lines, as `renderError()` and the wait screen do. Severity: minor ## Definition of done - [ ] `decodedDetailsHtml()` shows only the lines whose label and value are text, and never throws. - [ ] A Jest test with a saved wait in each such shape, failing on `next`. Model: opus-5-5
clawbot self-assigned this 2026-11-03 07:47:37 +01:00
Author
Collaborator

Plan: one PR to next, in src/popup/views/txStatus.js. decodedDetailsHtml() shows only the lines whose label and value are text, and never throws. Tests in tests/txStatus.test.js, failing on next.

Also, the two notes from the review of #737, in the same file:

  • break-words in place of break-all, on wait-tx-summary and error-tx-summary in src/popup/index.html and on the amount in movedOrAllowedHtml(), so that words stay whole and long runs of digits still wrap.
  • A Permit2 allowance line on these two screens also shows its Allowance token line, so that Unlimited says which token it covers. A test for it.

Model: opus-5-5

Plan: one PR to `next`, in `src/popup/views/txStatus.js`. `decodedDetailsHtml()` shows only the lines whose label and value are text, and never throws. Tests in `tests/txStatus.test.js`, failing on `next`. Also, the two notes from the review of https://git.eeqj.de/sneak/AutistMask/pulls/737, in the same file: - `break-words` in place of `break-all`, on `wait-tx-summary` and `error-tx-summary` in `src/popup/index.html` and on the amount in `movedOrAllowedHtml()`, so that words stay whole and long runs of digits still wrap. - A `Permit2 allowance` line on these two screens also shows its `Allowance token` line, so that `Unlimited` says which token it covers. A test for it. 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#734