Closed dcxn closed 1 year ago
I have the same problem but with another library that is the one for stripe-js, but it happens to me every time I start my app, it opens safari to the url of js.stripe.com.
any help from anyone with this problem?
it is very easy to reproduce the problem, put the following in the index.html in the head
<script src = "https://js.stripe.com/v3/"> </script>
and compile for ios with cordova-ios@^6.0.0, when you open the app it immediately opens a safari window called that url https://js.stripe.com/v3/
I have a custom web view component, every time the page load completes, safari is opening with a new URL with ads form doubleclick, not very sure, where its picking up form, however app working fine without opening any thing on safari if i use ios@5.1
I am experiencing the same behaviour with the firebase page as the OP.
I have added all the urls to whitelist to avoid this issue, this was not required pre 6.0 release. one of our application is loading a webview, which loads js file form doubleclick.net, I have added doubleclick.net to whitelist to avoid opening js file in safari.
@bhimudev can you provide an exmaple of where these urls were whitelisted?
@bond-ludafit below are the urls i have whitelisted allow-navigation href="https://*.licdn.com/" allow-navigation href="https://.hotjar.com/" allow-navigation href="https://.pixlee.co/" allow-navigation href="https://.pixlee.com/" allow-navigation href="https://.doubleclick.com/" allow-navigation href="https://.doubleclick.net/" allow-navigation href="https://.doubleclick.com/*"
I have the same issue with ios app using stripe. The app is also getting rejected because of bad user experience even in testflight.
I can confirm that it is happening also with cordova-ios 6.1.1
No solution till now?
We've just merged a PR that could fix the issue you are describing. Could one of you test the current git master and see if the problem is solved? (cordova platform add https://github.com/apache/cordova-ios
)
I have tested it.. and can confirm that this bug has been fixed, it no longer opens an external url.
HI Timbru Yes, I can also confirm that this is fixed. But if someone wants to have communication then allow-navigation is must in ios-config for external communication such as if you are doing for stripe integration. I have tested for stripe and that is working fine.
Thanks, Timbru for your help and if possible check-in into the main branch in npm to release a new version because many people are facing this issue and are looking for fixes elsewhere.
Vicky Anand
We are still facing this issue in 6.1.1
.
We are still facing this issue in
6.1.1
.
Looks good in 6.2.0
Closing this as fixed in 6.2.0
Bug Report
Problem
After upgrading from
cordova-ios@5.1.1
tocordova-ios@^6.0.0
, apps that connect to a Firebase Realtime DB start opening long polling URL's externally on safari after reconnecting to the internet, moving the user away from the app into a meaningless URL page. Currently we can only attribute this to the platform changes starting with 6.0.0, since this behaviour is not present on 5.1.1.What is expected to happen?
Firebase long polling (and possibly other) requests performed on the background should not be randomly catched and opened externally on safari, confusing and moving the user away from the app.
What does actually happen?
When reconnecting, the app opens the system safari browser with a random meaningless URL for the user, such as
https://{x}.firebaseio.com/.lp?dframe=t&id={x}&pw={x}&ns={x}
Information
This can be reproduced on an ionic fresh starter app with cordova and minimal firebase configuration to load data from Firebase Realtime DB.
Currently, downgrading to
cordova-ios@5.1.1
seems to be a way to stop the behaviour. Also noticed the new feature Add preference for webview window handling which could be related to this, but issue is present already in version 6.0.0. Setting up theAllowNewWindows
preference doesn't produce any effect on this bug.Command or Code
Example of minimal cordova setup to replicate, used in a fresh ionic started app :
Environment, Platform, Device
Seen on real iPhone device with iOS 13.7.
Version information
Ionic ^5; Cordova ^10 CLI; cordova-ios@^6.0.0 platform; Xcode Version 11.7 (11E801a);
Checklist