diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 887e174..c22451e 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -14,7 +14,7 @@
"@fontsource-variable/sora": "^5.2.8",
"@noble/hashes": "^2.4.0",
"@qrlwallet/connect": "4.0.0",
- "@qrlwallet/connect-ui": "0.2.3",
+ "@qrlwallet/connect-ui": "0.3.0",
"@radix-ui/react-slot": "^1.1.2",
"@radix-ui/react-tabs": "^1.1.1",
"@theqrl/web3": "^1.0.3",
@@ -1017,9 +1017,9 @@
}
},
"node_modules/@qrlwallet/connect-ui": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@qrlwallet/connect-ui/-/connect-ui-0.2.3.tgz",
- "integrity": "sha512-/qL9mZNVkUzX2ka9VJ3EKlQpNFsqrOyEnmEPMDnZEzyE3bullHQFWagYcm7ABM39TiSm3dCJiUM03pYRAriCyA==",
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@qrlwallet/connect-ui/-/connect-ui-0.3.0.tgz",
+ "integrity": "sha512-kJdhjcRUyzfrMWAvMm4n6eVchyJ+VY8pqyqgIXlGEMfcAaTJpHIseIf/x/8axB0W0i+EFHA9HFySDFvjyFo3+A==",
"license": "MIT",
"dependencies": {
"qrcode": "^1.5.4"
diff --git a/frontend/package.json b/frontend/package.json
index 0848d72..ca0c306 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -21,7 +21,7 @@
"@fontsource-variable/sora": "^5.2.8",
"@noble/hashes": "^2.4.0",
"@qrlwallet/connect": "4.0.0",
- "@qrlwallet/connect-ui": "0.2.3",
+ "@qrlwallet/connect-ui": "0.3.0",
"@radix-ui/react-slot": "^1.1.2",
"@radix-ui/react-tabs": "^1.1.1",
"@theqrl/web3": "^1.0.3",
diff --git a/frontend/src/components/WalletPickerModal.tsx b/frontend/src/components/WalletPickerModal.tsx
index 359390f..16a0663 100644
--- a/frontend/src/components/WalletPickerModal.tsx
+++ b/frontend/src/components/WalletPickerModal.tsx
@@ -5,8 +5,12 @@ import { useStore } from "@/stores/store";
/**
* EIP-6963 wallet picker. Lists the QRL-capable wallets the store discovered
- * (the QRL browser extension and MyQRLWallet via the connect relay) and hands
- * a click back to the store to run the right connect path.
+ * and hands a click back to the store to run the right connect path.
+ *
+ * MyQRLWallet announces once per transport (browser extension and connect
+ * relay), so the store folds the pair into a single row. Clicking that row
+ * uses the extension when it is installed, and the "Use phone or desktop app"
+ * button under it always starts relay pairing.
*/
export const WalletPickerModal = observer(() => {
const { poolStore } = useStore();
@@ -42,29 +46,52 @@ export const WalletPickerModal = observer(() => {
mobile or desktop.