Where.connectedSites in src/background/index.js:59-64, a module-level object. It is the only record of a site connection allowed without "Remember my choice for this site".
What happens. README Background scheduling says it: Chrome stops the background worker after about 30 seconds idle, and module-level variables do not survive. So a connection allowed without "Remember" lasts until the first idle spell. After that eth_accounts answers [], a transaction or signature request is refused with 4100 Unauthorized, and Settings no longer lists the site under Connected Sites. The site is not sent accountsChanged, so it still shows itself connected until its next request fails. Firefox keeps its background page alive and is not affected.
Should. README Settings describes Connected Sites as the sites allowed without "Remember" "that are still connected": such a connection ends when the user removes it, switches address, or removes the address, not when the worker idles. EIP-1193: a provider emits accountsChanged whenever what eth_accounts returns changes.
Severity: minor
Definition of done
A connection allowed without "Remember" survives the background worker being stopped and started again, and still ends on every path that ends it today.
A test approves a connection without "Remember", loads the background module afresh, and finds the site still connected.
Model: opus-5-5
**Where.** `connectedSites` in `src/background/index.js:59-64`, a module-level object. It is the only record of a site connection allowed without "Remember my choice for this site".
**What happens.** README Background scheduling says it: Chrome stops the background worker after about 30 seconds idle, and module-level variables do not survive. So a connection allowed without "Remember" lasts until the first idle spell. After that `eth_accounts` answers `[]`, a transaction or signature request is refused with 4100 Unauthorized, and Settings no longer lists the site under Connected Sites. The site is not sent `accountsChanged`, so it still shows itself connected until its next request fails. Firefox keeps its background page alive and is not affected.
**Should.** README Settings describes Connected Sites as the sites allowed without "Remember" "that are still connected": such a connection ends when the user removes it, switches address, or removes the address, not when the worker idles. EIP-1193: a provider emits `accountsChanged` whenever what `eth_accounts` returns changes.
Severity: minor
## Definition of done
- [ ] A connection allowed without "Remember" survives the background worker being stopped and started again, and still ends on every path that ends it today.
- [ ] A test approves a connection without "Remember", loads the background module afresh, and finds the site still connected.
Model: opus-5-5
clawbot
self-assigned this 2026-10-14 04:49:38 +02:00
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.
connectedSitesinsrc/background/index.js:59-64, a module-level object. It is the only record of a site connection allowed without "Remember my choice for this site".What happens. README Background scheduling says it: Chrome stops the background worker after about 30 seconds idle, and module-level variables do not survive. So a connection allowed without "Remember" lasts until the first idle spell. After that
eth_accountsanswers[], a transaction or signature request is refused with 4100 Unauthorized, and Settings no longer lists the site under Connected Sites. The site is not sentaccountsChanged, so it still shows itself connected until its next request fails. Firefox keeps its background page alive and is not affected.Should. README Settings describes Connected Sites as the sites allowed without "Remember" "that are still connected": such a connection ends when the user removes it, switches address, or removes the address, not when the worker idles. EIP-1193: a provider emits
accountsChangedwhenever whateth_accountsreturns changes.Severity: minor
Definition of done
Model: opus-5-5