fix: a saved SuccessTx in another shape reopens as itself, and long amounts wrap (closes #740) #742

Merged
clawbot merged 1 commits from issue-740-reopen-success-wrap-amounts into next 2026-11-03 11:38:36 +01:00
Collaborator

Fixes #740.

A saved SuccessTx whose decoded record was in another shape reopened as Home. isRenderableDecoded() refused it, although decodedDetailsHtml() shows only the lines it can read. The check and its call are gone. SuccessTx now reopens and shows those lines, or the amount and recipient when it can read none.

A long amount or symbol was cut off at the edge of the screen. break-words is now on success-tx-summary and on the symbol's div in decodedAddressHtml(). WaitTx and ErrorTx share that div, so they gain it too.

A SuccessTx with no hash, a to that is not text, or an unknown chainId still falls back to Home.

Two rows in tests/persistedFieldContract.test.js said these records fall back to Home. They moved to a new test in that file, which also checks what the reopened screen shows.

  • Judgement call: break-words is also on the decoded value line in decodedDetailsHtml(). The definition of done leaves that line out. The issue says no amount is cut off, and that line shows amounts on SuccessTx.
  • Not changed: the decoded lines in src/popup/views/approval.js and src/popup/views/transactionDetail.js have no wrap class either. Those files are outside this issue.

Model: opus-5-5

Fixes https://git.eeqj.de/sneak/AutistMask/issues/740. A saved SuccessTx whose decoded record was in another shape reopened as Home. `isRenderableDecoded()` refused it, although `decodedDetailsHtml()` shows only the lines it can read. The check and its call are gone. SuccessTx now reopens and shows those lines, or the amount and recipient when it can read none. A long amount or symbol was cut off at the edge of the screen. `break-words` is now on `success-tx-summary` and on the symbol's `div` in `decodedAddressHtml()`. WaitTx and ErrorTx share that `div`, so they gain it too. A SuccessTx with no hash, a `to` that is not text, or an unknown `chainId` still falls back to Home. Two rows in `tests/persistedFieldContract.test.js` said these records fall back to Home. They moved to a new test in that file, which also checks what the reopened screen shows. - Judgement call: `break-words` is also on the decoded value line in `decodedDetailsHtml()`. The definition of done leaves that line out. The issue says no amount is cut off, and that line shows amounts on SuccessTx. - Not changed: the decoded lines in `src/popup/views/approval.js` and `src/popup/views/transactionDetail.js` have no wrap class either. Those files are outside this issue. Model: opus-5-5
clawbot added the needs-review label 2026-11-03 10:31:55 +01:00
clawbot self-assigned this 2026-11-03 10:31:55 +01:00
Author
Collaborator

FAIL: a long token symbol is still cut off on SuccessTx, which #740 says must not happen.

  • src/popup/views/txStatus.js, decodedDetailsHtml(), the div showing decoded.name and the div showing decoded.description: neither has a wrap class. Both texts carry the full symbol. decodeCalldata() writes Transfer or Approve spending of your plus the symbol, and uniswap.decode() writes Swap plus both symbols. Nothing limits the length of a symbol the explorer reports, so a long one runs past the popup's right edge and is cut off with no sign of it. Acceptable: add break-words to the class of both divs, and add a test to the a long amount on WaitTx, ErrorTx and SuccessTx block in tests/txStatus.test.js. The test calls txStatus.renderSuccess() on a record with a name, a description and one readable line, and checks that the HTML of success-tx-decoded has font-bold break-words on the name's div and break-words on the description's div.

Follow-up notes, which do not fail this review:

  • src/popup/views/approval.js (description, token symbol and value lines) with approve-tx-action in src/popup/index.html, and the value line in src/popup/views/transactionDetail.js, have no wrap class either, as the PR body says, and no open issue covers them. TxApproval matters most, because the user reads it before signing. Acceptable: a new issue.
  • src/popup/views/txStatus.js, renderSuccess(): the comment "the Amount and To are already shown inside the decoded well" is false for a record with only some lines readable, such as the Steps record in the PR's new test. That screen shows neither the amount nor the recipient. Acceptable: a new issue to show them in that case and correct the comment.

Disclosures:

  • Judgement call: the definition of done names two places, and this finding rests on the issue's sentence that no symbol is cut off, the same reason the PR body gives for wrapping the decoded value line.
  • Not verified: the wrapping in Firefox.

Model: opus-5-5

FAIL: a long token symbol is still cut off on SuccessTx, which https://git.eeqj.de/sneak/AutistMask/issues/740 says must not happen. - `src/popup/views/txStatus.js`, `decodedDetailsHtml()`, the `div` showing `decoded.name` and the `div` showing `decoded.description`: neither has a wrap class. Both texts carry the full symbol. `decodeCalldata()` writes `Transfer` or `Approve spending of your` plus the symbol, and `uniswap.decode()` writes `Swap` plus both symbols. Nothing limits the length of a symbol the explorer reports, so a long one runs past the popup's right edge and is cut off with no sign of it. Acceptable: add `break-words` to the class of both `div`s, and add a test to the `a long amount on WaitTx, ErrorTx and SuccessTx` block in `tests/txStatus.test.js`. The test calls `txStatus.renderSuccess()` on a record with a `name`, a `description` and one readable line, and checks that the HTML of `success-tx-decoded` has `font-bold break-words` on the name's `div` and `break-words` on the description's `div`. Follow-up notes, which do not fail this review: - `src/popup/views/approval.js` (description, token symbol and value lines) with `approve-tx-action` in `src/popup/index.html`, and the value line in `src/popup/views/transactionDetail.js`, have no wrap class either, as the PR body says, and no open issue covers them. TxApproval matters most, because the user reads it before signing. Acceptable: a new issue. - `src/popup/views/txStatus.js`, `renderSuccess()`: the comment "the Amount and To are already shown inside the decoded well" is false for a record with only some lines readable, such as the `Steps` record in the PR's new test. That screen shows neither the amount nor the recipient. Acceptable: a new issue to show them in that case and correct the comment. Disclosures: - Judgement call: the definition of done names two places, and this finding rests on the issue's sentence that no symbol is cut off, the same reason the PR body gives for wrapping the decoded value line. - Not verified: the wrapping in Firefox. Model: opus-5-5
clawbot added needs-rework and removed needs-review labels 2026-11-03 11:01:19 +01:00
clawbot added 1 commit 2026-11-03 11:03:46 +01:00
fix: a saved SuccessTx in another shape reopens as itself, and long amounts wrap (closes #740)
check / check (push) Waiting to run
e2e / e2e-chrome (push) Waiting to run
e2e / e2e-firefox (push) Waiting to run
be9e5aec85
The popup refused a saved SuccessTx whose decoded record was in a shape it
did not expect, and showed Home. SuccessTx already shows only the lines it
can read, so the popup no longer checks the record first.

A long amount or token symbol was cut off at the edge of the screen. These
now wrap:

- the Amount figure
- each decoded amount
- the token symbol
- the name and description of SuccessTx's decoded action

WaitTx and ErrorTx share the line that shows the symbol, so they gain this
too.

Model: opus-5-5
clawbot force-pushed issue-740-reopen-success-wrap-amounts from 5c89a62a9d to be9e5aec85 2026-11-03 11:03:46 +01:00 Compare
Author
Collaborator
  • src/popup/views/txStatus.js, decodedDetailsHtml(): break-words added to the div showing decoded.name and the div showing decoded.description.
  • tests/txStatus.test.js: new test added to the a long amount on WaitTx, ErrorTx and SuccessTx block.

Model: opus-5-5

- `src/popup/views/txStatus.js`, `decodedDetailsHtml()`: `break-words` added to the `div` showing `decoded.name` and the `div` showing `decoded.description`. - `tests/txStatus.test.js`: new test added to the `a long amount on WaitTx, ErrorTx and SuccessTx` block. Model: opus-5-5
clawbot added needs-review and removed needs-rework labels 2026-11-03 11:13:00 +01:00
Author
Collaborator

PASS: #742 fixes #740, and the first review's finding on the name and description lines is fixed as that review asked.

Follow-up note: the PR body does not list break-words on the name and description lines in decodedDetailsHtml(), though the commit message does. Acceptable: add them to the body's judgement-call line.

Disclosure: not verified, the wrapping in Firefox.

Model: opus-5-5

PASS: https://git.eeqj.de/sneak/AutistMask/pulls/742 fixes https://git.eeqj.de/sneak/AutistMask/issues/740, and the first review's finding on the name and description lines is fixed as that review asked. Follow-up note: the PR body does not list `break-words` on the name and description lines in `decodedDetailsHtml()`, though the commit message does. Acceptable: add them to the body's judgement-call line. Disclosure: not verified, the wrapping in Firefox. Model: opus-5-5
clawbot merged commit 1d40e2d7d5 into next 2026-11-03 11:38:36 +01:00
clawbot deleted branch issue-740-reopen-success-wrap-amounts 2026-11-03 11:38:36 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/AutistMask#742