2026-02-15 - 2026-08-15

Overview

108 Active Pull Requests
140 Active Issues
Excluding merges, 3 authors have pushed 149 commits to main and 329 commits to all branches. On main, 79 files have changed and there have been 256944 additions and 5744 deletions.

1 Release published by 1 user

Published v0.1.0 2026-02-27 08:57:38 +01:00

100 Pull requests merged by 2 users

Merged #272 fix: render the view "Back" lands on after the popup is reopened (closes #268) 2026-08-14 06:14:10 +02:00

Merged #278 fix: carry EIP-1193 error codes through to the page (closes #274) 2026-08-12 13:47:34 +02:00

Merged #277 fix: a shared ticker no longer hides one of its two real tokens (closes #276) 2026-08-12 13:31:55 +02:00

Merged #273 test: drive the EIP-1193 dApp approval round trips in the browser (closes #183) 2026-08-12 13:23:58 +02:00

Merged #270 fix: judge the symbol a user sees, not the bytes a contract returns (closes #260) 2026-08-12 13:06:55 +02:00

Merged #256 test: containerized Firefox end-to-end harness (closes #184) 2026-08-12 12:20:15 +02:00

Merged #269 harden: verify the signed transaction against what the popup displayed (closes #216) 2026-08-12 12:15:26 +02:00

Merged #266 fix: filter the restored view stack against RESTORABLE_VIEWS (closes #224) 2026-08-12 12:07:49 +02:00

Merged #264 fix: one wording for a rejected password on every screen (closes #172) 2026-08-12 12:03:41 +02:00

Merged #267 test: close the empty-array hole in the e2e unstubbed-request guard (closes #187) 2026-08-12 11:50:39 +02:00

Merged #258 test: drive ConfirmTx in the e2e suite, gate assertion included (closes #238) 2026-08-12 11:35:21 +02:00

Merged #243 fix: explain a rejected dust threshold instead of snapping back silently (closes #233) 2026-08-12 11:29:10 +02:00

Merged #205 harden: verify all approval fields and make failed signing retryable (closes #174) 2026-08-12 11:21:03 +02:00

Merged #240 feat: remove an address from an HD wallet, behind a confirmation (closes #162) 2026-08-12 11:16:30 +02:00

Merged #257 fix: filter a fake ETH token from the balance list too (closes #235) 2026-08-12 11:10:39 +02:00

Merged #249 test: cover every verify-build failure mode from make check (closes #227) 2026-08-12 11:05:09 +02:00

Merged #201 fix: WaitTx timeout no longer overwrites a rendered success screen (closes #155) 2026-08-12 10:58:36 +02:00

Merged #248 fix: wipe the exported private key from the DOM on leaving the screen (closes #221) 2026-08-12 10:54:37 +02:00

Merged #247 fix: explain a stored non-master xprv wallet instead of throwing at signing time (closes #234) 2026-08-12 10:41:49 +02:00

Merged #244 fix: treat an unreported holders_count as unknown, not as zero holders (closes #230) 2026-08-12 10:34:46 +02:00

Merged #206 fix: run libsodium on WebAssembly under the extension CSP (closes #182) 2026-08-12 10:30:16 +02:00

Merged #241 docs: describe the bundled token list by selection criterion, not count (closes #239) 2026-08-12 10:20:41 +02:00

Merged #197 fix: count the network fee in the confirm-screen balance check (closes #154) 2026-08-11 15:41:38 +02:00

Merged #208 fix: drive background refresh and phishing update from alarms (closes #158) 2026-08-11 15:38:29 +02:00

Merged #226 fix: add a Settings toggle for known-symbol spoof verification (closes #176) 2026-08-11 15:38:06 +02:00

Merged #214 fix: move the UTC Timestamps checkbox into the Display well (closes #212) 2026-08-11 15:34:17 +02:00

Merged #232 fix: enforce the base58 checksum and reject non-master extended keys (closes #210) 2026-08-11 15:31:51 +02:00

Merged #225 fix: NUL-delimit verify-build's dist walk so no path escapes the check (closes #223) 2026-08-11 15:26:45 +02:00

Merged #215 feat: password-gated recovery phrase display for HD wallets (closes #161) 2026-08-11 15:25:18 +02:00

Merged #228 fix: honour a dust threshold of 0 and compare addresses case-insensitively (closes #179) 2026-08-11 15:16:49 +02:00

Merged #209 test: known-answer coverage for HD derivation and the vault (closes #159) 2026-08-11 15:06:36 +02:00

Merged #204 chore: repo policy compliance sweep — test rerun, npx, frozen lockfile, docs (closes #166) 2026-08-11 14:57:52 +02:00

Merged #196 fix: one transaction history row per value movement (closes #177) 2026-08-11 14:56:31 +02:00

Merged #203 fix: correct verify-build diagnostics and close its vacuous passes (closes #180) 2026-08-11 14:55:07 +02:00

Merged #200 fix: derive hasWallet from the wallet list on load (closes #195) 2026-08-11 14:51:23 +02:00

Merged #217 docs: correct three README claims contradicted by the code (closes #213) 2026-08-11 14:41:16 +02:00

Merged #202 docs: rebuild the README Screen Map from the code (closes #164) 2026-08-11 14:31:46 +02:00

Merged #199 docs: correct docs/README.md external services and remove competitor names (closes #163) 2026-08-11 14:25:58 +02:00

Merged #194 fix: repair wallet state on delete (closes #156) 2026-08-11 14:23:07 +02:00

Merged #192 docs: rewrite TODO.md workflow for the branch-per-issue model on next 2026-08-11 14:15:06 +02:00

Merged #178 build: assert DEBUG is off in every emitted bundle as a post-build check (closes #170) 2026-08-10 16:15:23 +02:00

Merged #171 security: decrypt and sign dApp approvals in the popup (closes #157) 2026-08-10 15:59:30 +02:00

Merged #175 test: cover the address-poisoning filters in transactions.js (closes #160) 2026-08-10 15:53:16 +02:00

Merged #185 test: containerized Chrome end-to-end harness that drives the real popup (closes #181) 2026-08-10 15:49:33 +02:00

Merged #169 security: make DEBUG a build-time flag defaulting to off (closes #149) 2026-08-09 16:19:09 +02:00

Merged #145 feat: add About well to settings with build info and debug easter egg 2026-07-26 18:39:09 +02:00

Merged #148 scripts-to-rule-them-all 2026-07-07 02:14:26 +02:00

Merged #147 TODO 2026-07-06 21:36:13 +02:00

Merged #146 fix: implement proper view navigation stack 2026-03-02 00:15:01 +01:00

Merged #143 feat: show debug banner on testnet or debug mode, add TESTNET tag 2026-03-01 21:55:36 +01:00

Merged #129 fix: unify address display with shared renderAddressHtml utility 2026-03-01 21:54:39 +01:00

Merged #142 fix: suppress USD display on testnet networks 2026-03-01 20:31:45 +01:00

Merged #141 feat: show estimated USD value for ETH in approve-tx view 2026-03-01 20:16:00 +01:00

Merged #136 fix: etherscan link on address-token page goes to token-specific URL 2026-03-01 20:13:56 +01:00

Merged #137 feat: add Sepolia testnet support 2026-03-01 20:11:23 +01:00

Merged #118 feat: expand confirm-tx warnings — closes #114 2026-03-01 19:34:56 +01:00

Merged #133 Reorder transaction detail view: txid first, logical grouping 2026-03-01 19:27:23 +01:00

Merged #128 fix: correct swap display — output token, min received, from address, and amount 2026-03-01 16:19:42 +01:00

Merged #130 feat: add Type field and on-chain details to transaction detail view 2026-03-01 15:46:33 +01:00

Merged #120 fix: include timezone offset in all displayed timestamps (closes #116) 2026-03-01 13:36:05 +01:00

Merged #126 feat: add theme setting (Light/Dark/System) with dark mode — closes #125 2026-03-01 13:35:11 +01:00

Merged #124 fix: reserve space for all error/status messages — closes #123 2026-03-01 12:33:09 +01:00

Merged #121 feat: speed up copy-flash timing by ~25% — follow-up to #113 2026-03-01 01:21:25 +01:00

Merged #115 fix: cross-wallet-type duplicate detection — closes #111 2026-03-01 01:13:16 +01:00

Merged #113 feat: add copy-flash visual feedback — closes #100 2026-03-01 01:12:40 +01:00

Merged #98 feat: show red warning when sending to address with zero tx history 2026-03-01 00:54:15 +01:00

Merged #53 feat: add xprv wallet import support 2026-03-01 00:53:08 +01:00

Merged #102 feat: add etherscan link and click-to-copy on block number in success-tx view 2026-03-01 00:23:07 +01:00

Merged #94 fix: make success-tx addresses clickable, fix USDT ETH bug, nest decoded details (closes #80) 2026-02-28 22:57:38 +01:00

Merged #83 fix: replace confirm-tx password modal with inline field (closes #78) 2026-02-28 22:28:19 +01:00

Merged #89 fix: disable export-privkey and delete-wallet buttons during async processing 2026-02-28 22:27:27 +01:00

Merged #79 persist confirm-tx view across popup close/reopen (closes #77) 2026-02-28 22:26:39 +01:00

Merged #92 fix: approve-tx/approve-sign error divs consistency with confirm-tx 2026-02-28 22:25:38 +01:00

Merged #91 fix: clear password field and error in showTxApproval 2026-02-28 22:24:55 +01:00

Merged #68 fix: validate destination address on send view (closes #67) 2026-02-28 21:38:22 +01:00

Merged #73 fix: make token contract display on confirm-tx consistent with other views 2026-02-28 21:33:54 +01:00

Merged #76 fix: show token transaction history on address-token view (closes #72) 2026-02-28 21:22:05 +01:00

Merged #31 feat: add export private key from address detail view 2026-02-28 21:10:17 +01:00

Merged #69 fix: use formatAddressHtml in receive view for display consistency 2026-02-28 20:57:08 +01:00

Merged #52 fix: resolve token symbols from multiple sources (closes #51) 2026-02-28 20:40:43 +01:00

Merged #66 fix: consistent transaction view title (closes #65) 2026-02-28 20:39:48 +01:00

Merged #64 fix: show decoded swap details on success-tx view (closes #63) 2026-02-28 20:35:40 +01:00

Merged #62 fix: enforce UI policies on transaction detail view (closes #59) 2026-02-28 20:30:44 +01:00

Merged #61 fix: persist tx decoding across popup close/reopen (closes #60) 2026-02-28 19:38:16 +01:00

Merged #57 fix: show own labelled address for swap transactions (closes #55) 2026-02-28 18:16:13 +01:00

Merged #54 fix: fall back to known token list for symbol/name/decimals 2026-02-28 18:04:04 +01:00

Merged #25 fix: add reverse ENS lookups for all displayed addresses (closes #22) 2026-02-28 10:06:45 +01:00

Merged #24 fix: preserve ENS names on lookup failure, add debug logging (closes #22) 2026-02-28 10:05:04 +01:00

Merged #30 fix: show wallet/address titles across all views (closes #26, closes #27, closes #28, closes #29) 2026-02-28 10:03:41 +01:00

Merged #23 fix: show wallet name for own addresses on approve-tx view (closes #21) 2026-02-27 23:20:26 +01:00

Merged #8 fix: low-severity security findings L3, L4, L5 (closes #6) 2026-02-27 23:19:09 +01:00

Merged #17 fix: add fallback popup window for tx/sign approval requests (closes #4) 2026-02-27 23:15:02 +01:00

Merged #10 fix: display swaps and contract calls correctly in tx history (closes #3) 2026-02-27 23:08:16 +01:00

Merged #14 feat: add wallet deletion from settings (closes #13) 2026-02-27 23:04:45 +01:00

Merged #15 fix: use grey well for contract address in address-token view (closes #9) 2026-02-27 23:00:01 +01:00

Merged #18 fix: pass UUID approval ID as string, not parseInt (closes #4) 2026-02-27 21:50:27 +01:00

Merged #11 fix: show ERC-20 contract details in address-token view (closes #9) 2026-02-27 21:09:37 +01:00

Merged #7 security: fix high-severity findings from audit (closes #6) 2026-02-27 20:56:43 +01:00

Merged #2 Fix all RULES.md divergences 2026-02-27 20:55:26 +01:00

Merged #5 add tracked token list management to settings 2026-02-27 11:55:33 +01:00

8 Pull requests proposed by 1 user

98 Issues closed from 2 users

Closed #268 fix: Back after reopening the popup lands on a blank screen, because goBack() never re-renders 2026-08-14 06:14:10 +02:00

Closed #274 fix: EIP-1193 error codes never reach the page — a dApp cannot detect a user rejection 2026-08-12 13:47:34 +02:00

Closed #276 fix: seven bundled tokens are filtered as spoofs of their own duplicate symbol 2026-08-12 13:31:56 +02:00

Closed #220 blocked: no Actions runner is picking up jobs — every CI run sits queued forever 2026-08-12 13:28:47 +02:00

Closed #183 test: drive the EIP-1193 dApp approval round trips in the browser harness 2026-08-12 13:23:58 +02:00

Closed #260 fix: a whitespace-padded symbol bypasses the spoof filter but still displays as the real one 2026-08-12 13:06:55 +02:00

Closed #184 test: containerized Firefox end-to-end harness (geckodriver, MV2 temporary add-on) 2026-08-12 12:20:15 +02:00

Closed #216 harden: approval verification compares against the dApp's request, not against what the popup displayed 2026-08-12 12:15:26 +02:00

Closed #224 fix: the restored viewStack can contain views the popup may not reopen onto, giving a dead-end screen 2026-08-12 12:07:49 +02:00

Closed #172 fix: "Wrong password." is a sentence fragment and diverges from the other password prompts 2026-08-12 12:03:41 +02:00

Closed #187 test: an empty-array POST body escapes the e2e unstubbed-request guard 2026-08-12 11:50:39 +02:00

Closed #238 test: ConfirmTx has no automated coverage at all — the screen that decides what gets signed 2026-08-12 11:35:21 +02:00

Closed #233 fix: the dust threshold field rejects input silently, snapping back with no explanation 2026-08-12 11:29:10 +02:00

Closed #174 harden: approvalVerify does not compare chainId, nonce or fee fields; failed signing leaves an unretryable button 2026-08-12 11:21:03 +02:00

Closed #162 feat: delete an address from an HD wallet (with confirmation) 2026-08-12 11:16:30 +02:00

Closed #235 fix: a fake token impersonating ETH is filtered from history and send, but still shows in the balance list 2026-08-12 11:10:39 +02:00

Closed #227 test: verify-build's failure modes are only ever proven by hand — make the battery a committed target 2026-08-12 11:05:09 +02:00

Closed #155 fix: WaitTx 60s timeout overwrites an already-rendered success screen 2026-08-12 10:58:36 +02:00

Closed #221 fix: leaving the private-key export screen leaves the private key in the DOM for the life of the popup 2026-08-12 10:54:37 +02:00

Closed #234 fix: an already-imported non-master xprv wallet will throw at signing time with no explanation 2026-08-12 10:41:50 +02:00

Closed #230 fix: an omitted holders_count is coerced to 0, so a legitimate token gets filtered as spam 2026-08-12 10:34:46 +02:00

Closed #182 fix: libsodium WASM is refused by the extension CSP on every popup load, silently falling back to asm.js 2026-08-12 10:30:17 +02:00

Closed #239 docs: the bundled token list is described as "top 250" in four places and "roughly 500" in another; it is 512 2026-08-12 10:20:41 +02:00

Closed #154 fix: gas fee is excluded from the insufficient-balance check, so max-value ETH sends fail at broadcast 2026-08-11 15:41:38 +02:00

Closed #158 fix: MV3 service worker termination kills the background refresh and the 24h phishing list update 2026-08-11 15:38:29 +02:00

Closed #176 fix: known-symbol spoof verification has no off switch, contradicting the README's user-configurable promise 2026-08-11 15:38:06 +02:00

Closed #212 fix: the UTC Timestamps checkbox sits inside the Token Spam Protection well 2026-08-11 15:34:17 +02:00

Closed #210 fix: isValidXprv accepts a mistyped extended key and silently imports a different wallet 2026-08-11 15:31:51 +02:00

Closed #223 fix: verify-build's dist walk is line-delimited, so a path with trailing whitespace escapes the unlisted-bundle check 2026-08-11 15:26:45 +02:00

Closed #161 feat: show wallet's recovery phrase (requires password) 2026-08-11 15:25:18 +02:00

Closed #179 fix: a dust threshold of 0 silently becomes 100,000 gwei, and isSpoofedSymbol is case-sensitive on the contract address 2026-08-11 15:16:49 +02:00

Closed #159 test: cover wallet.js key derivation and vault.js encryption — currently zero tests on the crypto core 2026-08-11 15:06:36 +02:00

Closed #166 chore: repo policy compliance sweep — test rerun pattern, yarn/npx, frozen lockfile, undocumented targets 2026-08-11 14:57:52 +02:00

Closed #177 fix: every plain ERC-20 transfer produces two rows in transaction history 2026-08-11 14:56:31 +02:00

Closed #180 fix: verify-build diagnostic overstates the failure, and two robustness gaps in the same script 2026-08-11 14:55:07 +02:00

Closed #195 fix: loadState reads hasWallet from storage without reconciling it against wallets.length 2026-08-11 14:51:24 +02:00

Closed #213 docs: three README.md claims are contradicted by the shipped code 2026-08-11 14:41:16 +02:00

Closed #164 docs: README Screen Map omits three shipped screens and misdescribes four flows 2026-08-11 14:31:46 +02:00

Closed #163 docs: docs/README.md names competitors and contradicts the code on external services 2026-08-11 14:25:58 +02:00

Closed #156 fix: deleting the last wallet leaves hasWallet true, resets selection unconditionally, and skips the active-address broadcast 2026-08-11 14:23:07 +02:00

Closed #189 TOP PRIORITY: consolidate all open PRs onto one next branch, one PR 2026-08-10 16:16:18 +02:00

Closed #170 build: assert DEBUG is off in every emitted bundle as a post-build check 2026-08-10 16:15:23 +02:00

Closed #157 security: the user's plaintext password crosses the extension messaging boundary during dApp approvals 2026-08-10 15:59:31 +02:00

Closed #160 test: the entire address-poisoning defense in transactions.js is untested 2026-08-10 15:53:16 +02:00

Closed #181 test: containerized Chrome end-to-end harness that drives the real popup 2026-08-10 15:49:33 +02:00

Closed #151 fix: TransactionDetail crashes for every ERC-20 transfer — ReferenceError: addressDotHtml is not defined 2026-08-10 15:49:33 +02:00

Closed #150 fix: AddToken screen is unreachable — ReferenceError: showView is not defined 2026-08-10 15:49:33 +02:00

Closed #149 security: DEBUG hardcoded on — every generated recovery phrase is the public test phrase 2026-08-09 16:19:09 +02:00

Closed #144 add a new well to the bottom of settings that includes application information 2026-07-26 18:39:09 +02:00

Closed #134 view stack pop bug 2026-03-02 00:53:25 +01:00

Closed #140 make red debug banner conditional display 2026-03-01 21:55:37 +01:00

Closed #97 approve-tx view doesn't display addresses consistently 2026-03-01 21:54:39 +01:00

Closed #139 usd display is still happening on main even when using testnet 2026-03-01 20:31:46 +01:00

Closed #138 approve-tx transferring out ETH doesn't show the estimated value of the ETH amount 2026-03-01 20:16:01 +01:00

Closed #135 special case: clicking on the etherscan link for our address on address-token should go to etherscan address-token page 2026-03-01 20:13:56 +01:00

Closed #110 we need to support the sepolia testnet 2026-03-01 20:11:23 +01:00

Closed #114 expand on the work in #98 to show more types of warnings in that reserved space warning element 2026-03-01 19:34:56 +01:00

Closed #131 improve transaction view 2026-03-01 19:27:24 +01:00

Closed #127 decoding or display error in transaction view 2026-03-01 16:19:42 +01:00

Closed #95 on 'transaction' view, an erc20 transfer never actually says 'ERC20 Transfer' 2026-03-01 15:46:35 +01:00

Closed #116 ISO timestamps shown do not include timezone 2026-03-01 13:36:05 +01:00

Closed #125 feat: add theme setting (Light/Dark/System) with dark mode 2026-03-01 13:35:11 +01:00

Closed #123 clicking "sign and send" with empty/wrong pw field violates layout shift policy 2026-03-01 12:33:09 +01:00

Closed #111 adding wallet by private key doesn't check to see if the public address is already part of one of the other wallets 2026-03-01 01:13:16 +01:00

Closed #100 flash messages are insufficient feedback alone on click-to-copy 2026-03-01 01:12:41 +01:00

Closed #82 on 'confirm-tx', show a red warning if about to send to an address with ZERO transaction history 2026-03-01 00:54:16 +01:00

Closed #20 importing existing wallet using xprv instead of mnemonic 2026-03-01 00:53:08 +01:00

Closed #99 the block number on 'success-tx' should have an external link to uniswap, and should be click-to-copyable 2026-03-01 00:23:07 +01:00

Closed #80 'success-tx' address display inconsistent 2026-02-28 22:57:38 +01:00

Closed #87 consistency: three different error display patterns used for password validation 2026-02-28 22:38:24 +01:00

Closed #78 'confirm-tx' view uses modal for password input 2026-02-28 22:28:19 +01:00

Closed #86 consistency: export-privkey and delete-wallet buttons not disabled during async processing 2026-02-28 22:27:27 +01:00

Closed #77 'confirm-tx' view disappears on popup close/reopen (returns to 'main') 2026-02-28 22:26:39 +01:00

Closed #84 consistency: approve-tx and approve-sign password error divs missing min-height (layout shift) 2026-02-28 22:25:38 +01:00

Closed #85 consistency: approve-tx password field not cleared when view is shown 2026-02-28 22:24:55 +01:00

Closed #67 no validation is done on destination address when sending 2026-02-28 21:38:22 +01:00

Closed #70 token contract display on 'confirm-tx' page is inconsistent with token contract display elsewhere 2026-02-28 21:33:54 +01:00

Closed #72 tx history for token is missing on 'address-token' view 2026-02-28 21:22:05 +01:00

Closed #19 a method of viewing an address's private key 2026-02-28 21:10:17 +01:00

Closed #58 'receive' view violates address display consistency policy 2026-02-28 20:57:09 +01:00

Closed #65 'transaction' view has inconsistent title 2026-02-28 20:39:48 +01:00

Closed #63 for swaps, the 'success-tx' view should have a lot more data on it. 2026-02-28 20:35:40 +01:00

Closed #59 on 'transaction' view, several UI policies are violated: 2026-02-28 20:30:44 +01:00

Closed #60 closing and reopening popup while on 'transaction' view causes raw data and action decoding to disappear 2026-02-28 19:38:16 +01:00

Closed #55 in the transaction history lists, "swap" items show un-useful address 2026-02-28 18:16:13 +01:00

Closed #51 balance list on address-token for USDC shows ? for symbol 2026-02-28 18:04:04 +01:00

Closed #22 reverse ens lookups don't seem to be working anymore 2026-02-28 10:05:04 +01:00

Closed #28 home view: tx list counterparties don't show wallet/address titles 2026-02-28 10:03:41 +01:00

Closed #27 txStatus view: To address does not show wallet/address title 2026-02-28 10:03:41 +01:00

Closed #26 send view: From address does not show wallet/address title 2026-02-28 10:03:41 +01:00

Closed #29 addressDetail/addressToken: tx list counterparties don't show wallet/address titles 2026-02-28 10:03:41 +01:00

Closed #21 address display inconsistency on approve-tx view 2026-02-27 23:20:26 +01:00

Closed #3 swaps show up as sends 2026-02-27 23:08:16 +01:00

Closed #13 need a way to delete a wallet. propose options. 2026-02-27 23:04:45 +01:00

Closed #9 address-token view should show contract address and ERC20 details 2026-02-27 23:00:01 +01:00

Closed #4 no confirmation popup when doing a uniswap 2026-02-27 21:50:28 +01:00

Closed #6 security review 2026-02-27 20:56:43 +01:00

Closed #1 non-compliance with rules 2026-02-27 20:55:26 +01:00

140 Issues created by 1 user

Opened #1 non-compliance with rules 2026-02-27 11:01:22 +01:00

Opened #3 swaps show up as sends 2026-02-27 11:48:10 +01:00

Opened #4 no confirmation popup when doing a uniswap 2026-02-27 11:52:16 +01:00

Opened #6 security review 2026-02-27 18:32:00 +01:00

Opened #9 address-token view should show contract address and ERC20 details 2026-02-27 21:02:12 +01:00

Opened #13 need a way to delete a wallet. propose options. 2026-02-27 21:07:57 +01:00

Opened #19 a method of viewing an address's private key 2026-02-27 22:58:07 +01:00

Opened #20 importing existing wallet using xprv instead of mnemonic 2026-02-27 22:58:23 +01:00

Opened #21 address display inconsistency on approve-tx view 2026-02-27 23:17:13 +01:00

Opened #22 reverse ens lookups don't seem to be working anymore 2026-02-27 23:18:24 +01:00

Opened #26 send view: From address does not show wallet/address title 2026-02-27 23:26:20 +01:00

Opened #27 txStatus view: To address does not show wallet/address title 2026-02-27 23:26:20 +01:00

Opened #28 home view: tx list counterparties don't show wallet/address titles 2026-02-27 23:26:21 +01:00

Opened #29 addressDetail/addressToken: tx list counterparties don't show wallet/address titles 2026-02-27 23:26:22 +01:00

Opened #51 balance list on address-token for USDC shows ? for symbol 2026-02-28 17:31:54 +01:00

Opened #55 in the transaction history lists, "swap" items show un-useful address 2026-02-28 17:55:39 +01:00

Opened #58 'receive' view violates address display consistency policy 2026-02-28 18:09:52 +01:00

Opened #59 on 'transaction' view, several UI policies are violated: 2026-02-28 18:10:47 +01:00

Opened #60 closing and reopening popup while on 'transaction' view causes raw data and action decoding to disappear 2026-02-28 18:12:58 +01:00

Opened #63 for swaps, the 'success-tx' view should have a lot more data on it. 2026-02-28 20:27:24 +01:00

Opened #65 'transaction' view has inconsistent title 2026-02-28 20:37:08 +01:00

Opened #67 no validation is done on destination address when sending 2026-02-28 20:39:17 +01:00

Opened #70 token contract display on 'confirm-tx' page is inconsistent with token contract display elsewhere 2026-02-28 20:56:45 +01:00

Opened #72 tx history for token is missing on 'address-token' view 2026-02-28 21:01:41 +01:00

Opened #77 'confirm-tx' view disappears on popup close/reopen (returns to 'main') 2026-02-28 21:15:28 +01:00

Opened #78 'confirm-tx' view uses modal for password input 2026-02-28 21:18:42 +01:00

Opened #80 'success-tx' address display inconsistent 2026-02-28 21:21:11 +01:00

Opened #82 on 'confirm-tx', show a red warning if about to send to an address with ZERO transaction history 2026-02-28 21:27:05 +01:00

Opened #84 consistency: approve-tx and approve-sign password error divs missing min-height (layout shift) 2026-02-28 21:29:41 +01:00

Opened #85 consistency: approve-tx password field not cleared when view is shown 2026-02-28 21:29:47 +01:00

Opened #86 consistency: export-privkey and delete-wallet buttons not disabled during async processing 2026-02-28 21:29:53 +01:00

Opened #87 consistency: three different error display patterns used for password validation 2026-02-28 21:30:01 +01:00

Opened #95 on 'transaction' view, an erc20 transfer never actually says 'ERC20 Transfer' 2026-02-28 22:39:52 +01:00

Opened #97 approve-tx view doesn't display addresses consistently 2026-02-28 22:44:19 +01:00

Opened #99 the block number on 'success-tx' should have an external link to uniswap, and should be click-to-copyable 2026-02-28 22:47:31 +01:00

Opened #100 flash messages are insufficient feedback alone on click-to-copy 2026-02-28 22:49:43 +01:00

Opened #110 we need to support the sepolia testnet 2026-03-01 00:46:28 +01:00

Opened #111 adding wallet by private key doesn't check to see if the public address is already part of one of the other wallets 2026-03-01 00:51:10 +01:00

Opened #114 expand on the work in #98 to show more types of warnings in that reserved space warning element 2026-03-01 00:57:18 +01:00

Opened #116 ISO timestamps shown do not include timezone 2026-03-01 01:00:13 +01:00

Opened #123 clicking "sign and send" with empty/wrong pw field violates layout shift policy 2026-03-01 01:21:08 +01:00

Opened #125 feat: add theme setting (Light/Dark/System) with dark mode 2026-03-01 08:19:30 +01:00

Opened #127 decoding or display error in transaction view 2026-03-01 13:38:42 +01:00

Opened #131 improve transaction view 2026-03-01 16:21:04 +01:00

Opened #134 view stack pop bug 2026-03-01 19:23:31 +01:00

Opened #135 special case: clicking on the etherscan link for our address on address-token should go to etherscan address-token page 2026-03-01 19:26:09 +01:00

Opened #138 approve-tx transferring out ETH doesn't show the estimated value of the ETH amount 2026-03-01 20:07:49 +01:00

Opened #139 usd display is still happening on main even when using testnet 2026-03-01 20:08:31 +01:00

Opened #140 make red debug banner conditional display 2026-03-01 20:09:24 +01:00

Opened #144 add a new well to the bottom of settings that includes application information 2026-03-01 20:21:17 +01:00

Opened #149 security: DEBUG hardcoded on — every generated recovery phrase is the public test phrase 2026-08-09 03:41:35 +02:00

Opened #150 fix: AddToken screen is unreachable — ReferenceError: showView is not defined 2026-08-09 03:41:48 +02:00

Opened #151 fix: TransactionDetail crashes for every ERC-20 transfer — ReferenceError: addressDotHtml is not defined 2026-08-09 03:42:04 +02:00

Opened #152 build: add ESLint to script/lint — make check cannot currently catch undefined identifiers 2026-08-09 03:42:24 +02:00

Opened #153 fix: Firefox target is non-functional — Chrome callback APIs used against the promise-only browser namespace 2026-08-09 03:42:55 +02:00

Opened #154 fix: gas fee is excluded from the insufficient-balance check, so max-value ETH sends fail at broadcast 2026-08-09 03:43:09 +02:00

Opened #155 fix: WaitTx 60s timeout overwrites an already-rendered success screen 2026-08-09 03:43:32 +02:00

Opened #156 fix: deleting the last wallet leaves hasWallet true, resets selection unconditionally, and skips the active-address broadcast 2026-08-09 03:43:48 +02:00

Opened #157 security: the user's plaintext password crosses the extension messaging boundary during dApp approvals 2026-08-09 03:44:09 +02:00

Opened #158 fix: MV3 service worker termination kills the background refresh and the 24h phishing list update 2026-08-09 03:44:26 +02:00

Opened #159 test: cover wallet.js key derivation and vault.js encryption — currently zero tests on the crypto core 2026-08-09 03:44:54 +02:00

Opened #160 test: the entire address-poisoning defense in transactions.js is untested 2026-08-09 03:45:13 +02:00

Opened #161 feat: show wallet's recovery phrase (requires password) 2026-08-09 03:45:38 +02:00

Opened #162 feat: delete an address from an HD wallet (with confirmation) 2026-08-09 03:45:57 +02:00

Opened #163 docs: docs/README.md names competitors and contradicts the code on external services 2026-08-09 03:46:30 +02:00

Opened #164 docs: README Screen Map omits three shipped screens and misdescribes four flows 2026-08-09 03:46:51 +02:00

Opened #165 decision: Sepolia support contradicts "Non-Goals for 1.0", and isMetaMask names a competitor in shipped code 2026-08-09 03:47:31 +02:00

Opened #166 chore: repo policy compliance sweep — test rerun pattern, yarn/npx, frozen lockfile, undocumented targets 2026-08-09 03:47:55 +02:00

Opened #167 chore: prune 24 stale remote feature branches 2026-08-09 03:48:20 +02:00

Opened #168 chore: remove dead exports and de-duplicate copy-pasted view helpers 2026-08-09 03:48:42 +02:00

Opened #170 build: assert DEBUG is off in every emitted bundle as a post-build check 2026-08-09 04:08:04 +02:00

Opened #172 fix: "Wrong password." is a sentence fragment and diverges from the other password prompts 2026-08-09 04:53:47 +02:00

Opened #173 decision: no browser in the agent environment, so several 1.0.0 items cannot have their DoD verified 2026-08-09 04:54:11 +02:00

Opened #174 harden: approvalVerify does not compare chainId, nonce or fee fields; failed signing leaves an unretryable button 2026-08-09 05:02:55 +02:00

Opened #176 fix: known-symbol spoof verification has no off switch, contradicting the README's user-configurable promise 2026-08-09 07:07:55 +02:00

Opened #177 fix: every plain ERC-20 transfer produces two rows in transaction history 2026-08-09 07:08:12 +02:00

Opened #179 fix: a dust threshold of 0 silently becomes 100,000 gwei, and isSpoofedSymbol is case-sensitive on the contract address 2026-08-09 07:08:34 +02:00

Opened #180 fix: verify-build diagnostic overstates the failure, and two robustness gaps in the same script 2026-08-09 07:21:04 +02:00

Opened #181 test: containerized Chrome end-to-end harness that drives the real popup 2026-08-09 16:10:05 +02:00

Opened #182 fix: libsodium WASM is refused by the extension CSP on every popup load, silently falling back to asm.js 2026-08-09 16:10:35 +02:00

Opened #183 test: drive the EIP-1193 dApp approval round trips in the browser harness 2026-08-09 16:15:49 +02:00

Opened #184 test: containerized Firefox end-to-end harness (geckodriver, MV2 temporary add-on) 2026-08-09 16:27:58 +02:00

Opened #186 decision: agent commits are landing under three different author identities, including yours 2026-08-09 18:31:19 +02:00

Opened #187 test: an empty-array POST body escapes the e2e unstubbed-request guard 2026-08-09 18:45:47 +02:00

Opened #188 test: assert the DoD items from #150 and #151 that the harness does not yet cover 2026-08-09 18:46:04 +02:00

Opened #189 TOP PRIORITY: consolidate all open PRs onto one next branch, one PR 2026-08-10 14:30:42 +02:00

Opened #191 docs: TODO.md describes the old branch-from-main workflow and its Status/Next Step are stale 2026-08-10 16:16:38 +02:00

Opened #193 decision: RULES.md "Build & Workflow" still says merge to main, contradicting the branch-per-issue-onto-next model 2026-08-11 14:15:31 +02:00

Opened #195 fix: loadState reads hasWallet from storage without reconciling it against wallets.length 2026-08-11 14:19:15 +02:00

Opened #198 feat: "send max" affordance — emptying an ETH account now requires manual arithmetic 2026-08-11 14:22:57 +02:00

Opened #207 decision: a dApp-supplied gas limit is silently dropped, so the popup always re-estimates 2026-08-11 14:28:48 +02:00

Opened #210 fix: isValidXprv accepts a mistyped extended key and silently imports a different wallet 2026-08-11 14:32:45 +02:00

Opened #211 decision: RULES.md states three things the code contradicts 2026-08-11 14:33:49 +02:00

Opened #212 fix: the UTC Timestamps checkbox sits inside the Token Spam Protection well 2026-08-11 14:33:54 +02:00

Opened #213 docs: three README.md claims are contradicted by the shipped code 2026-08-11 14:34:06 +02:00

Opened #216 harden: approval verification compares against the dApp's request, not against what the popup displayed 2026-08-11 14:40:20 +02:00

Opened #218 test: popup reload mid-refresh can fail the e2e run with "loadHomeTxs failed: Failed to fetch" 2026-08-11 14:40:59 +02:00

Opened #219 decision: the phishing blocklist URL embeds a competitor's org name, and its documented upstream no longer exists 2026-08-11 14:41:30 +02:00

Opened #220 blocked: no Actions runner is picking up jobs — every CI run sits queued forever 2026-08-11 14:45:42 +02:00

Opened #221 fix: leaving the private-key export screen leaves the private key in the DOM for the life of the popup 2026-08-11 14:49:25 +02:00

Opened #222 decision: the per-unit TODO.md entry makes every merge invalidate every open PR 2026-08-11 14:54:59 +02:00

Opened #223 fix: verify-build's dist walk is line-delimited, so a path with trailing whitespace escapes the unlisted-bundle check 2026-08-11 14:55:25 +02:00

Opened #224 fix: the restored viewStack can contain views the popup may not reopen onto, giving a dead-end screen 2026-08-11 15:06:25 +02:00

Opened #227 test: verify-build's failure modes are only ever proven by hand — make the battery a committed target 2026-08-11 15:08:53 +02:00

Opened #229 test: the Settings view has no browser coverage, so a wrong element id takes the whole screen down undetected 2026-08-11 15:09:37 +02:00

Opened #230 fix: an omitted holders_count is coerced to 0, so a legitimate token gets filtered as spam 2026-08-11 15:10:47 +02:00

Opened #231 decision: what should the confirm screen quote as the network fee — estimate, reserve, or both? 2026-08-11 15:11:40 +02:00

Opened #233 fix: the dust threshold field rejects input silently, snapping back with no explanation 2026-08-11 15:16:57 +02:00

Opened #234 fix: an already-imported non-master xprv wallet will throw at signing time with no explanation 2026-08-11 15:18:05 +02:00

Opened #235 fix: a fake token impersonating ETH is filtered from history and send, but still shows in the balance list 2026-08-11 15:20:53 +02:00

Opened #236 harden: an oversized phishing delta erases the previously stored one, dropping to vendored-only coverage for up to 24h 2026-08-11 15:23:32 +02:00

Opened #237 chore: script/test-e2e emits DEP0205 module.register() deprecation warning 2026-08-11 15:24:16 +02:00

Opened #238 test: ConfirmTx has no automated coverage at all — the screen that decides what gets signed 2026-08-11 15:36:18 +02:00

Opened #239 docs: the bundled token list is described as "top 250" in four places and "roughly 500" in another; it is 512 2026-08-11 15:38:18 +02:00

Opened #242 tokenList.js header comment says "511 tokens"; the array has 512 2026-08-12 10:19:51 +02:00

Opened #245 harden: connectedSites is never cleared for a removed address or wallet 2026-08-12 10:25:15 +02:00

Opened #246 harden: decimals || "18" collapses absent and zero if a backend ever sends numeric 0 2026-08-12 10:26:40 +02:00

Opened #250 fix: a contract deployment shows a blank recipient on the wait and approval screens 2026-08-12 10:32:37 +02:00

Opened #251 harden: parseHoldersCount partial-parses a malformed count into a reported low count, hiding the token 2026-08-12 10:35:02 +02:00

Opened #252 fix: flash messages longer than one line wrap and shift the layout, defeating the reserved-space policy 2026-08-12 10:36:17 +02:00

Opened #253 test: the private-key export screen has no e2e coverage, unlike the recovery-phrase screen 2026-08-12 10:39:41 +02:00

Opened #254 test: the defective-wallet UI gates have no coverage — all six can be deleted with the suite still green 2026-08-12 10:42:40 +02:00

Opened #255 decision: a defective xprv wallet is told to use other software, but we hold the only key and will not export it 2026-08-12 10:42:54 +02:00

Opened #259 build: nothing automatic ever runs the e2e suites, so every browser-level guarantee is manual-only 2026-08-12 10:56:28 +02:00

Opened #260 fix: a whitespace-padded symbol bypasses the spoof filter but still displays as the real one 2026-08-12 10:56:51 +02:00

Opened #261 fix: an address holding only unpriced tokens reports its total as $0.00 2026-08-12 10:57:29 +02:00

Opened #262 fix: an approval claimed when its window closes is orphaned, leaving the dApp promise unsettled forever 2026-08-12 11:00:04 +02:00

Opened #263 chore: script/bootstrap can report success while leaving playwright-core unlinked 2026-08-12 11:29:42 +02:00

Opened #265 fix: the empty-password message diverges on the private key export screen 2026-08-12 11:32:31 +02:00

Opened #268 fix: Back after reopening the popup lands on a blank screen, because goBack() never re-renders 2026-08-12 11:43:39 +02:00

Opened #271 fix: two concurrent dApp transactions are populated with the same nonce, and the second fails terminally 2026-08-12 12:04:57 +02:00

Opened #274 fix: EIP-1193 error codes never reach the page — a dApp cannot detect a user rejection 2026-08-12 13:05:38 +02:00

Opened #275 fix: approving a site connection races the popup teardown and can be recorded as a rejection 2026-08-12 13:05:50 +02:00

Opened #276 fix: seven bundled tokens are filtered as spoofs of their own duplicate symbol 2026-08-12 13:07:15 +02:00

Opened #279 fix: an unsupported method is reported to the page with no EIP-1193 code (4200) 2026-08-12 13:37:15 +02:00

Opened #280 fix: a throw inside handleRpc hangs the dApp's promise forever with no error 2026-08-12 13:47:51 +02:00

Opened #283 Uniswap V2_SWAP_EXACT_OUT (command 0x09) is decoded by a function nothing calls 2026-08-14 06:08:15 +02:00

Opened #285 docs: README still documents the EIP-1193 code loss that #274 fixed 2026-08-14 06:15:48 +02:00

Opened #287 flake: the Chrome e2e dApp signing prompt loses its page about one run in three under load 2026-08-14 06:23:01 +02:00

Opened #290 test: make test-e2e is flaky under host load — "the extension opened no approval window within 30000ms" 2026-08-14 06:26:15 +02:00