MOBILE-4602 iab: Fix links with pseudo protocols and schemes in iOS

main
Dani Palou 2024-08-06 14:59:21 +02:00
parent 8c96839480
commit 52d37c3940
1 changed files with 2 additions and 8 deletions

View File

@ -16,7 +16,6 @@ import { CoreSiteError } from '@classes/errors/siteerror';
import { CoreLoginHelper } from '@features/login/services/login-helper';
import { CoreUserAuthenticatedSupportConfig } from '@features/user/classes/support/authenticated-support-config';
import { CoreUserNullSupportConfig } from '@features/user/classes/support/null-support-config';
import { CorePlatform } from '@services/platform';
import { CoreSites } from '@services/sites';
import { CoreCustomURLSchemes } from '@services/urlschemes';
import { CoreDomUtils } from '@services/utils/dom';
@ -62,11 +61,6 @@ export default function(): void {
return;
}
if (!CorePlatform.isAndroid()) {
return;
}
// Check if the URL has a custom URL scheme. In Android they need to be opened manually.
if (!isExternalApp) {
lastInAppUrl = protocol ? `${protocol}://${url}` : url;
@ -76,8 +70,8 @@ export default function(): void {
// Open in browser should launch the right app if found and do nothing if not found.
CoreUtils.openInBrowser(url, { showBrowserWarning: false });
// At this point the InAppBrowser is showing a "Webpage not available" error message.
// Try to navigate to last loaded URL so this error message isn't found.
// At this point, URL schemes will stop working in IAB, and in Android the IAB is showing a "Webpage not available" error.
// Re-loading the page inside the existing IAB doesn't fix it, we need to re-load the whole IAB.
if (lastInAppUrl) {
CoreUtils.openInApp(lastInAppUrl);
} else {