From 1f96bc906a966375321c919b2b97d66595237307 Mon Sep 17 00:00:00 2001 From: Felix Zhang Date: Fri, 11 Jul 2025 10:40:57 -0700 Subject: [PATCH] redirect instantly --- .../walletlink/relay/ui/WLMobileRelayUI.ts | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/wallet-sdk/src/sign/walletlink/relay/ui/WLMobileRelayUI.ts b/packages/wallet-sdk/src/sign/walletlink/relay/ui/WLMobileRelayUI.ts index 4846a4968c..82ede3cd98 100644 --- a/packages/wallet-sdk/src/sign/walletlink/relay/ui/WLMobileRelayUI.ts +++ b/packages/wallet-sdk/src/sign/walletlink/relay/ui/WLMobileRelayUI.ts @@ -1,7 +1,7 @@ +import { CBW_MOBILE_DEEPLINK_URL } from ':core/constants.js'; +import { RelayUI } from './RelayUI.js'; import { RedirectDialog } from './components/RedirectDialog/RedirectDialog.js'; import { getLocation } from './components/util.js'; -import { RelayUI } from './RelayUI.js'; -import { CBW_MOBILE_DEEPLINK_URL } from ':core/constants.js'; export class WLMobileRelayUI implements RelayUI { private readonly redirectDialog: RedirectDialog; @@ -35,16 +35,17 @@ export class WLMobileRelayUI implements RelayUI { } openCoinbaseWalletDeeplink(walletLinkUrl?: string): void { - this.redirectDialog.present({ - title: 'Redirecting to Coinbase Wallet...', - buttonText: 'Open', - onButtonClick: () => { - this.redirectToCoinbaseWallet(walletLinkUrl); - }, - }); + // redirect to coinbase wallet immediately to avoid Safari/Chrome popup(deeplink) blocking + this.redirectToCoinbaseWallet(walletLinkUrl); setTimeout(() => { - this.redirectToCoinbaseWallet(walletLinkUrl); + this.redirectDialog.present({ + title: 'Redirecting to Coinbase Wallet...', + buttonText: 'Open', + onButtonClick: () => { + this.redirectToCoinbaseWallet(walletLinkUrl); + }, + }); }, 99); }