ionic-team / ionic-plugin-deeplinks

Handle deeplinks into your Ionic/Cordova apps from Universal Links, App Links, and Custom URL schemes. For those using Ionic 2, there are some nice goodies that make life easier.
Other
333 stars 217 forks source link

No match breaks deep links #78

Open mklilley opened 7 years ago

mklilley commented 7 years ago

I am using Ionic 1.3.1, Cordova 6.1.1 and ionic native as described here and here

When there is a match, then everything works as expected. However when no match is found the error callback fires and something goes wrong inside ionic.native and the app then stops processing deep links. I see the following in the console when i use Chrome dev tools to do remote debug (sorry im not able to provide code links for the cordova parts)

Warning Unable to clear the previous observable watch for Deeplinks route (anonymous) @ ionic.native.js:7381 tryCatcher @ ionic.native.js:9500 Subscription.unsubscribe @ ionic.native.js:9271 tryCatcher @ ionic.native.js:9500 Subscription.unsubscribe @ ionic.native.js:9283 Subscriber.unsubscribe @ ionic.native.js:9092 SafeSubscriber._unsubscribe @ ionic.native.js:9215 tryCatcher @ ionic.native.js:9500 Subscription.unsubscribe @ ionic.native.js:9271 Subscriber.unsubscribe @ ionic.native.js:9092 SafeSubscriber.error @ ionic.native.js:9155 Subscriber._error @ ionic.native.js:9098 Subscriber.error @ ionic.native.js:9072 (anonymous) @ deeplink.js:68 innerCB @ deeplink.js:205 callbackFromNative @ cordova.js:293 processMessage @ cordova.js:1081 processMessages @ cordova.js:1104 pollOnce @ cordova.js:973 pollOnceFromOnlineEvent @ cordova.js:960

TypeError: Cannot read property 'call' of undefined at Subscription._unsubscribe (ionic.native.js:7378) at Subscription.tryCatcher (ionic.native.js:9500) at Subscription.unsubscribe (ionic.native.js:9271) at Subscription.tryCatcher (ionic.native.js:9500) at Subscriber.Subscription.unsubscribe (ionic.native.js:9283) at Subscriber.unsubscribe (ionic.native.js:9092) at SafeSubscriber._unsubscribe (ionic.native.js:9215) at SafeSubscriber.tryCatcher (ionic.native.js:9500) at SafeSubscriber.Subscription.unsubscribe (ionic.native.js:9271) at SafeSubscriber.Subscriber.unsubscribe (ionic.native.js:9092)

After digging into the code a bit I have two questions, 1) why when there is no match does the app unsubscribe from deeplinks, 2) Should deeplinks.js have a clearFunction method, since this is where the error seems to be coming from.

Thanks in advance, very grateful to have this plugin.

Matt

dmitriv2 commented 5 years ago

Duplicate of #77