diff --git a/public/assets/my.js b/public/assets/my.js
index b7e594d..c366963 100644
--- a/public/assets/my.js
+++ b/public/assets/my.js
@@ -1427,8 +1427,10 @@
}));
if ($('wcDisconnect')) $('wcDisconnect').addEventListener('click', busy($('wcDisconnect'), async () => {
try { await IAPWallet.disconnect(); } catch (e) {}
- $('wcDisconnectInfo').textContent = 'Disconnected. Tap Connect or Get test POL to pick a wallet again.';
- IAP.status('Wallet disconnected. You can connect a different wallet now.', 'ok');
+ $('wcDisconnectInfo').textContent = 'Disconnected. Reloading so you can pick a different wallet…';
+ IAP.status('Wallet disconnected. Reloading…', 'ok');
+ // reload to drop any in-memory WalletConnect state so the picker reappears
+ setTimeout(() => location.reload(), 700);
}));
$('activateBtn').addEventListener('click', busy($('activateBtn'), async () => {
const me = await (await fetch('/api/me')).json();
diff --git a/public/assets/wallet.js b/public/assets/wallet.js
index f93e2ff..446398a 100644
--- a/public/assets/wallet.js
+++ b/public/assets/wallet.js
@@ -197,7 +197,9 @@ window.IAPWallet = (function () {
async function disconnect() {
try { if (wcProvider && wcProvider.disconnect) await wcProvider.disconnect(); } catch (e) {}
wcProvider = null; CHOSEN = null; wcSdkPromise = null;
- try { Object.keys(localStorage).forEach(k => { if (/^wc@2|walletconnect|w3m|wcm_/i.test(k)) localStorage.removeItem(k); }); } catch (e) {}
+ // WalletConnect caches the last-used wallet + session in localStorage; clear
+ // it all so the next connect re-opens the picker instead of auto-reconnecting.
+ try { Object.keys(localStorage).forEach(k => { if (/wc@2|walletconnect|w3m|wcm|reown|ethereum_provider/i.test(k)) localStorage.removeItem(k); }); } catch (e) {}
}
return { connect, signIn, buy, activate, waitTx, disconnect };
})();
diff --git a/public/index.html b/public/index.html
index 7918f16..2bf08b7 100644
--- a/public/index.html
+++ b/public/index.html
@@ -439,7 +439,7 @@
-
+