AddToken, reached from "+ Token" on AddressDetail. src/popup/views/addToken.js (lines 63-70) starts ctx.doRefreshAndRender() without waiting for it and immediately re-renders AddressDetail. The refresh in src/popup/index.js (doRefreshAndRender(), lines 65-94) then re-renders only the Home wallet list, never the screen the user is on.
What happens
On next (8e52528), release build, Chrome, local chain with chain id 11155111: on an address holding 1,000,000 of a token, add that token by contract address. AddressDetail comes back listing the token as 0.0000. It still reads 0.0000 after the next refreshes, while Home already shows 1000000.0000 for the same address. Only leaving AddressDetail and opening it again shows the real balance.
What should happen
README, AddToken: "Add" re-renders AddressDetail so the new token is listed. A holding the wallet has not fetched yet should not be stated as zero; README's balance rules say an amount that is really there is never printed as 0.0000. The screen should show the fetched balance once the refresh it started returns.
Severity: minor
Definition of done
After adding a token from AddressDetail, the screen shows the token's fetched balance without being reopened.
Until the balance is fetched, the new token's line does not read 0.0000.
Model: opus-5-5
## Where
AddToken, reached from "+ Token" on AddressDetail. `src/popup/views/addToken.js` (lines 63-70) starts `ctx.doRefreshAndRender()` without waiting for it and immediately re-renders AddressDetail. The refresh in `src/popup/index.js` (`doRefreshAndRender()`, lines 65-94) then re-renders only the Home wallet list, never the screen the user is on.
## What happens
On `next` (8e52528), release build, Chrome, local chain with chain id 11155111: on an address holding 1,000,000 of a token, add that token by contract address. AddressDetail comes back listing the token as `0.0000`. It still reads `0.0000` after the next refreshes, while Home already shows `1000000.0000` for the same address. Only leaving AddressDetail and opening it again shows the real balance.
## What should happen
README, AddToken: "Add" re-renders AddressDetail so the new token is listed. A holding the wallet has not fetched yet should not be stated as zero; README's balance rules say an amount that is really there is never printed as `0.0000`. The screen should show the fetched balance once the refresh it started returns.
Severity: minor
## Definition of done
- [ ] After adding a token from AddressDetail, the screen shows the token's fetched balance without being reopened.
- [ ] Until the balance is fetched, the new token's line does not read `0.0000`.
Model: opus-5-5
clawbot
self-assigned this 2026-10-14 04:39:29 +02:00
Plan: one PR to next. When a balance refresh returns and is written (doRefreshAndRender() in src/popup/index.js), it draws again the screen the user is on if that screen shows balances (AddressDetail, AddressToken, as well as the wallet list on Home), not only the wallet list. On AddressDetail a tracked token whose balance has not been fetched yet reads as not yet known, the way README's balance rules word an unknown balance, never 0.0000. Jest tests: add a token from AddressDetail, the line is not 0.0000 before the refresh returns and shows the fetched balance after, without reopening; each failing on next.
Model: opus-5-5
Plan: one PR to `next`. When a balance refresh returns and is written (`doRefreshAndRender()` in `src/popup/index.js`), it draws again the screen the user is on if that screen shows balances (AddressDetail, AddressToken, as well as the wallet list on Home), not only the wallet list. On AddressDetail a tracked token whose balance has not been fetched yet reads as not yet known, the way README's balance rules word an unknown balance, never `0.0000`. Jest tests: add a token from AddressDetail, the line is not `0.0000` before the refresh returns and shows the fetched balance after, without reopening; each failing on `next`.
Model: opus-5-5
Built in #664: a refresh that returns now draws the balances on AddressDetail and AddressToken again, and a token just added on AddToken reads quantity unknown until a refresh that tracked it has fetched every address. A token added by contract address on SettingsAddToken is not covered.
Model: opus-5-5
Built in https://git.eeqj.de/sneak/AutistMask/pulls/664: a refresh that returns now draws the balances on AddressDetail and AddressToken again, and a token just added on AddToken reads `quantity unknown` until a refresh that tracked it has fetched every address. A token added by contract address on SettingsAddToken is not covered.
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.
Where
AddToken, reached from "+ Token" on AddressDetail.
src/popup/views/addToken.js(lines 63-70) startsctx.doRefreshAndRender()without waiting for it and immediately re-renders AddressDetail. The refresh insrc/popup/index.js(doRefreshAndRender(), lines 65-94) then re-renders only the Home wallet list, never the screen the user is on.What happens
On
next(8e52528), release build, Chrome, local chain with chain id 11155111: on an address holding 1,000,000 of a token, add that token by contract address. AddressDetail comes back listing the token as0.0000. It still reads0.0000after the next refreshes, while Home already shows1000000.0000for the same address. Only leaving AddressDetail and opening it again shows the real balance.What should happen
README, AddToken: "Add" re-renders AddressDetail so the new token is listed. A holding the wallet has not fetched yet should not be stated as zero; README's balance rules say an amount that is really there is never printed as
0.0000. The screen should show the fetched balance once the refresh it started returns.Severity: minor
Definition of done
0.0000.Model: opus-5-5
Plan: one PR to
next. When a balance refresh returns and is written (doRefreshAndRender()insrc/popup/index.js), it draws again the screen the user is on if that screen shows balances (AddressDetail, AddressToken, as well as the wallet list on Home), not only the wallet list. On AddressDetail a tracked token whose balance has not been fetched yet reads as not yet known, the way README's balance rules word an unknown balance, never0.0000. Jest tests: add a token from AddressDetail, the line is not0.0000before the refresh returns and shows the fetched balance after, without reopening; each failing onnext.Model: opus-5-5
Built in #664: a refresh that returns now draws the balances on AddressDetail and AddressToken again, and a token just added on AddToken reads
quantity unknownuntil a refresh that tracked it has fetched every address. A token added by contract address on SettingsAddToken is not covered.Model: opus-5-5