Easy disconnecting of wallet during pending signatures/transactions

Description:

When we have transactions pending, we should be able to interact with MetaMask & disconnect from a site easily, which results in all pending transactions/signatures from that site being rejected along with the site being disconnected.

Purpose:

I just got hacked for over $6k value in tokens by a site which spammed me with signature requests and transaction requests. I did my best to reject them all, but it was exceedingly difficult to disconnect the wallet from the site and after disconnecting it looks like a pending signature request wasn’t cancelled & I mistakenly clicked it thinking I was now interacting with a different site.

While I only blame the criminals involved, I feel this type of attack could have been made much easier to avoid by MetaMask’s UX making it easier to disconnect when being spammed by requests, and by making sure all pending requests are rejected when a disconnect does happen before all pending requests have been resolve (rejected).

I honestly believe this feature/UX improvement will save people from getting hacked.

Extension/Mobile/Both:

Both

Images/Attachments:

None