From 5148e25609198413cacb9f3a3b7ded908a5e02e0 Mon Sep 17 00:00:00 2001 From: enesozturk Date: Tue, 7 May 2024 14:22:08 +0300 Subject: [PATCH 1/8] refactor: add in-app browser check for mobile --- packages/core/src/utils/CoreHelperUtil.ts | 25 ++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/core/src/utils/CoreHelperUtil.ts b/packages/core/src/utils/CoreHelperUtil.ts index 1f6533a3b5..e29498aefc 100644 --- a/packages/core/src/utils/CoreHelperUtil.ts +++ b/packages/core/src/utils/CoreHelperUtil.ts @@ -3,11 +3,30 @@ import { ConstantsUtil } from './ConstantsUtil.js' import type { CaipAddress, LinkingRecord, CaipNetwork } from './TypeUtil.js' export const CoreHelperUtil = { - isMobile() { + isInAppBrowser() { + if (typeof window !== 'undefined') { + return Boolean(/WebKit|(wv)|MetaMaskMobile|Phantom|/u.test(navigator.userAgent)) + } + + return false + }, + + isMobileDevice() { if (typeof window !== 'undefined') { return Boolean( - window.matchMedia('(pointer:coarse)').matches || - /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent) + /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent) + ) + } + + return false + }, + + isMobile() { + if (typeof window !== 'undefined') { + return ( + this.isInAppBrowser() || + this.isMobileDevice() || + Boolean(window.matchMedia('(pointer:coarse)').matches) ) } From eaa3591469531b5a26f2216a9320c0d28d3163a3 Mon Sep 17 00:00:00 2001 From: enesozturk Date: Tue, 7 May 2024 15:44:09 +0300 Subject: [PATCH 2/8] fix: linter issues --- packages/core/src/utils/CoreHelperUtil.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/utils/CoreHelperUtil.ts b/packages/core/src/utils/CoreHelperUtil.ts index e29498aefc..c266af2ff5 100644 --- a/packages/core/src/utils/CoreHelperUtil.ts +++ b/packages/core/src/utils/CoreHelperUtil.ts @@ -5,7 +5,7 @@ import type { CaipAddress, LinkingRecord, CaipNetwork } from './TypeUtil.js' export const CoreHelperUtil = { isInAppBrowser() { if (typeof window !== 'undefined') { - return Boolean(/WebKit|(wv)|MetaMaskMobile|Phantom|/u.test(navigator.userAgent)) + return Boolean(/WebKit|wv|MetaMaskMobile|Phantom|/u.test(navigator.userAgent)) } return false From 2c12e9c88f4e05db7e2d8f2049bb8e4f7050cfca Mon Sep 17 00:00:00 2001 From: enesozturk Date: Tue, 7 May 2024 16:35:16 +0300 Subject: [PATCH 3/8] fix: regex --- packages/core/src/utils/CoreHelperUtil.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/utils/CoreHelperUtil.ts b/packages/core/src/utils/CoreHelperUtil.ts index c266af2ff5..1d68e1d767 100644 --- a/packages/core/src/utils/CoreHelperUtil.ts +++ b/packages/core/src/utils/CoreHelperUtil.ts @@ -5,7 +5,7 @@ import type { CaipAddress, LinkingRecord, CaipNetwork } from './TypeUtil.js' export const CoreHelperUtil = { isInAppBrowser() { if (typeof window !== 'undefined') { - return Boolean(/WebKit|wv|MetaMaskMobile|Phantom|/u.test(navigator.userAgent)) + return Boolean(/WebKit|wv|MetaMaskMobile|Phantom/u.test(navigator.userAgent)) } return false From 507d3b58021ae23bd72bc3e6cb1d434040b6c7eb Mon Sep 17 00:00:00 2001 From: enesozturk Date: Tue, 7 May 2024 16:43:30 +0300 Subject: [PATCH 4/8] chore: remove in-app browser check for mobile --- packages/core/src/utils/CoreHelperUtil.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/core/src/utils/CoreHelperUtil.ts b/packages/core/src/utils/CoreHelperUtil.ts index 1d68e1d767..de2103ebbf 100644 --- a/packages/core/src/utils/CoreHelperUtil.ts +++ b/packages/core/src/utils/CoreHelperUtil.ts @@ -23,11 +23,7 @@ export const CoreHelperUtil = { isMobile() { if (typeof window !== 'undefined') { - return ( - this.isInAppBrowser() || - this.isMobileDevice() || - Boolean(window.matchMedia('(pointer:coarse)').matches) - ) + return this.isMobileDevice() || Boolean(window.matchMedia('(pointer:coarse)').matches) } return false From f4907ab2cd6d9a0ff654decee66fd01fef403686 Mon Sep 17 00:00:00 2001 From: enesozturk Date: Tue, 7 May 2024 16:58:04 +0300 Subject: [PATCH 5/8] fix: add in app browser check --- packages/core/src/utils/CoreHelperUtil.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/core/src/utils/CoreHelperUtil.ts b/packages/core/src/utils/CoreHelperUtil.ts index de2103ebbf..1d68e1d767 100644 --- a/packages/core/src/utils/CoreHelperUtil.ts +++ b/packages/core/src/utils/CoreHelperUtil.ts @@ -23,7 +23,11 @@ export const CoreHelperUtil = { isMobile() { if (typeof window !== 'undefined') { - return this.isMobileDevice() || Boolean(window.matchMedia('(pointer:coarse)').matches) + return ( + this.isInAppBrowser() || + this.isMobileDevice() || + Boolean(window.matchMedia('(pointer:coarse)').matches) + ) } return false From 8ab41db2a3f1979b7091f77be63101983ef0b485 Mon Sep 17 00:00:00 2001 From: enesozturk Date: Wed, 8 May 2024 12:12:48 +0300 Subject: [PATCH 6/8] chore: move regex logics to same function --- packages/core/src/utils/CoreHelperUtil.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/core/src/utils/CoreHelperUtil.ts b/packages/core/src/utils/CoreHelperUtil.ts index 1d68e1d767..5107bca308 100644 --- a/packages/core/src/utils/CoreHelperUtil.ts +++ b/packages/core/src/utils/CoreHelperUtil.ts @@ -24,8 +24,13 @@ export const CoreHelperUtil = { isMobile() { if (typeof window !== 'undefined') { return ( - this.isInAppBrowser() || - this.isMobileDevice() || + // In app browser + Boolean(/WebKit|wv|MetaMaskMobile|Phantom/u.test(navigator.userAgent)) || + // Mobile device + Boolean( + /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent) + ) || + // Touch screen Boolean(window.matchMedia('(pointer:coarse)').matches) ) } From 2e7e34e88df868d1276efbc99ccfc50a9ac86049 Mon Sep 17 00:00:00 2001 From: enesozturk Date: Wed, 8 May 2024 12:22:10 +0300 Subject: [PATCH 7/8] refactor: revert changes --- packages/core/src/utils/CoreHelperUtil.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/core/src/utils/CoreHelperUtil.ts b/packages/core/src/utils/CoreHelperUtil.ts index 5107bca308..8db700bec4 100644 --- a/packages/core/src/utils/CoreHelperUtil.ts +++ b/packages/core/src/utils/CoreHelperUtil.ts @@ -4,17 +4,14 @@ import type { CaipAddress, LinkingRecord, CaipNetwork } from './TypeUtil.js' export const CoreHelperUtil = { isInAppBrowser() { - if (typeof window !== 'undefined') { - return Boolean(/WebKit|wv|MetaMaskMobile|Phantom/u.test(navigator.userAgent)) - } - return false }, isMobileDevice() { if (typeof window !== 'undefined') { return Boolean( - /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent) + window.matchMedia('(pointer:coarse)').matches || + /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent) ) } From 7d0256e55848aafaf57767abd4c9624ad4392af1 Mon Sep 17 00:00:00 2001 From: enesozturk Date: Wed, 8 May 2024 20:39:47 +0300 Subject: [PATCH 8/8] chore: update logic --- packages/core/src/utils/CoreHelperUtil.ts | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/packages/core/src/utils/CoreHelperUtil.ts b/packages/core/src/utils/CoreHelperUtil.ts index 8db700bec4..9dfb81988f 100644 --- a/packages/core/src/utils/CoreHelperUtil.ts +++ b/packages/core/src/utils/CoreHelperUtil.ts @@ -4,6 +4,10 @@ import type { CaipAddress, LinkingRecord, CaipNetwork } from './TypeUtil.js' export const CoreHelperUtil = { isInAppBrowser() { + if (typeof window !== 'undefined') { + return Boolean(/WebKit|wv|MetaMaskMobile|Phantom/u.test(navigator.userAgent)) + } + return false }, @@ -20,16 +24,7 @@ export const CoreHelperUtil = { isMobile() { if (typeof window !== 'undefined') { - return ( - // In app browser - Boolean(/WebKit|wv|MetaMaskMobile|Phantom/u.test(navigator.userAgent)) || - // Mobile device - Boolean( - /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent) - ) || - // Touch screen - Boolean(window.matchMedia('(pointer:coarse)').matches) - ) + return this.isInAppBrowser() || this.isMobileDevice() } return false