From fb65b48059a892cb44f00b30334389b71d7f6f63 Mon Sep 17 00:00:00 2001 From: Dave Alden Date: Mon, 3 Feb 2025 12:58:52 +0000 Subject: [PATCH] bugfix: reliably detect Capacitor/Cordova environment using global namespaces since user agent string matching is fragile and no longer works on modern iPad since iPadOS 13 changed the UA string to look like desktop macOS --- packages/auth-compat/src/platform.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/auth-compat/src/platform.ts b/packages/auth-compat/src/platform.ts index f1ac4e797b1..4fea464a169 100644 --- a/packages/auth-compat/src/platform.ts +++ b/packages/auth-compat/src/platform.ts @@ -54,7 +54,10 @@ export function _isAndroidOrIosCordovaScheme(ua: string = getUA()): boolean { (_getCurrentScheme() === 'file:' || _getCurrentScheme() === 'ionic:' || _getCurrentScheme() === 'capacitor:') && - ua.toLowerCase().match(/iphone|ipad|ipod|android/) + ( + ua.toLowerCase().match(/iphone|ipad|ipod|android/) || + typeof (window as any).Capacitor !== 'undefined' || typeof (window as any).cordova !== 'undefined' + ) ); }