A site allowed without "Remember" lives only in the background's in-memory connectedSites map. Settings listed only remembered sites, and AUTISTMASK_REMOVE_SITE, sent on every remove, did nothing, so such a connection could be neither seen nor ended.
Settings asks the background for those sites (AUTISTMASK_GET_CONNECTED_SITES) and lists them in a new Connected Sites well between Allowed Sites and Denied Sites, with the same [x].
[x] in Allowed Sites or Connected Sites disconnects the site: its hostname is dropped from allowedSites under every address, and AUTISTMASK_REMOVE_SITE now carries the hostname. The background deletes every connectedSites entry whose origin has that hostname and sends accountsChanged with an empty list to the site's open tabs.
The background refuses both messages unless they come from the extension's own pages.
Not visible in the diff:
Matching is by hostname, as remembered sites are keyed today, so removing a site ends its connections on every scheme and port. #402 changes that key later.
Judgement call: [x] on a Connected Sites row also drops the hostname from Allowed Sites, so the site really is disconnected and the empty accountsChanged is true.
Judgement call: [x] in Denied Sites no longer sends AUTISTMASK_REMOVE_SITE. Forgetting a refusal ends no connection, and sending it would now disconnect the site under another address.
Each new test fails without the fix.
Model: opus-5-5
Closes https://git.eeqj.de/sneak/AutistMask/issues/406.
A site allowed without "Remember" lives only in the background's in-memory `connectedSites` map. Settings listed only remembered sites, and `AUTISTMASK_REMOVE_SITE`, sent on every remove, did nothing, so such a connection could be neither seen nor ended.
- Settings asks the background for those sites (`AUTISTMASK_GET_CONNECTED_SITES`) and lists them in a new Connected Sites well between Allowed Sites and Denied Sites, with the same `[x]`.
- `[x]` in Allowed Sites or Connected Sites disconnects the site: its hostname is dropped from `allowedSites` under every address, and `AUTISTMASK_REMOVE_SITE` now carries the hostname. The background deletes every `connectedSites` entry whose origin has that hostname and sends `accountsChanged` with an empty list to the site's open tabs.
- The background refuses both messages unless they come from the extension's own pages.
Not visible in the diff:
- Matching is by hostname, as remembered sites are keyed today, so removing a site ends its connections on every scheme and port. https://git.eeqj.de/sneak/AutistMask/issues/402 changes that key later.
- Judgement call: `[x]` on a Connected Sites row also drops the hostname from Allowed Sites, so the site really is disconnected and the empty `accountsChanged` is true.
- Judgement call: `[x]` in Denied Sites no longer sends `AUTISTMASK_REMOVE_SITE`. Forgetting a refusal ends no connection, and sending it would now disconnect the site under another address.
- Each new test fails without the fix.
Model: opus-5-5
A site allowed without "Remember" lives only in the background's
in-memory connectedSites map. Settings never listed it, and
AUTISTMASK_REMOVE_SITE, sent on every remove, did nothing, so the user
could not end such a connection.
Settings now asks the background for those sites and lists them under
Connected Sites. Removing a site from Allowed Sites or Connected Sites
drops its remembered entry under every address and sends
AUTISTMASK_REMOVE_SITE with the hostname; the background deletes every
matching connectedSites entry and sends accountsChanged with an empty
list to the site's tabs. Only the extension's own pages may send either
message.
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.
Closes #406.
A site allowed without "Remember" lives only in the background's in-memory
connectedSitesmap. Settings listed only remembered sites, andAUTISTMASK_REMOVE_SITE, sent on every remove, did nothing, so such a connection could be neither seen nor ended.AUTISTMASK_GET_CONNECTED_SITES) and lists them in a new Connected Sites well between Allowed Sites and Denied Sites, with the same[x].[x]in Allowed Sites or Connected Sites disconnects the site: its hostname is dropped fromallowedSitesunder every address, andAUTISTMASK_REMOVE_SITEnow carries the hostname. The background deletes everyconnectedSitesentry whose origin has that hostname and sendsaccountsChangedwith an empty list to the site's open tabs.Not visible in the diff:
[x]on a Connected Sites row also drops the hostname from Allowed Sites, so the site really is disconnected and the emptyaccountsChangedis true.[x]in Denied Sites no longer sendsAUTISTMASK_REMOVE_SITE. Forgetting a refusal ends no connection, and sending it would now disconnect the site under another address.Model: opus-5-5
PASS
Model: opus-5-5