question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

bug: IonNav.canGoBack() sometimes throws exception: "Cannot read property 'apply' of undefined"

See original GitHub issue

Bug Report

Ionic version:

[x] 4.11.10

Current behavior:

I’m experiencing an exception when using local notifications in an ionic native application. The exception only happens sometimes and I was not able to come up with exact reproduction steps. I wanted to open this bug because maybe someone can help me to point to the right direction so I can come up with exact reproduction steps for this ionic bug.

Basically what happens is that the user receives a notification (while app is in foreground) and then he sends the app to background. After waiting for like 10-30mins he clicks on the notification (while the app is still in background; so not a cold start). By clicking on the notification we check whether we need to pop any existing view before showing the new one with await this.chatRoomNavService.nav.canGoBack(). This produces the following exception: vendor-es2015.js: Line 52957 : ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'apply' of undefined:

Screenshot 2020-03-06 at 09 37 27 (1)

Expected behavior:

No exception happens.

Steps to reproduce:

No clear reproduction steps available unfortunately. We were able to reproduce this bug mostly when app got sent to background for about 10-30mins & the phone screen got locked before clicking on the notification.

Related code:

In app.component:
```js
async ngOnInit() {
    await this.platform.ready();
    // Omitted code to simplify example

    this.localNotifications.on('click').subscribe(async (not: ILocalNotification) => {
        // Omitted code to simplify example
        this.chatService.chatInfoOpened.next(false);
    });
}

chat-room-nav.component:

ngOnInit() {
    this.chatService.chatInfoOpened.subscribe(async opened => {
        if (opened) {
            // Omitted code to simplify example
        } else {
            // Omitted code to simplify example
            if (await this.chatRoomNavService.nav.canGoBack()) {
                await this.chatRoomNavService.nav.pop();
            }
        }
    });
}

Other information:

Please note that the examples were significantly simplified so they are understandable.

Linking this issue to https://github.com/ionic-team/ionic/issues/20720 as they are related (both happens in the same scenario)

Ionic info:

Ionic:

   Ionic CLI                     : 6.2.0 (/Users/borntraegermarc/.nvm/versions/node/v12.13.0/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 4.11.10
   @angular-devkit/build-angular : 0.803.23
   @angular-devkit/schematics    : 8.3.23
   @angular/cli                  : 8.3.23
   @ionic/angular-toolkit        : 2.1.2

Cordova:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : android 8.1.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 24 other plugins)

Utility:

   cordova-res : not installed
   native-run  : 0.3.0

System:

   ios-sim : 8.0.2
   NodeJS  : v12.13.0 (/Users/borntraegermarc/.nvm/versions/node/v12.13.0/bin/node)
   npm     : 6.14.2
   OS      : macOS Catalina
   Xcode   : Xcode 10.3 Build version 10G8

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:7 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
BorntraegerMarccommented, Mar 31, 2020

As discussed in the other issue. This workaround solves the bug: https://github.com/ionic-team/ionic/issues/20720#issuecomment-606247668

1reaction
BorntraegerMarccommented, Mar 10, 2020

Thanks for your answer @liamdebeasi

Understood. So this confirms my suspicion that this is not a “straightforward” issue. Even for ionic experts 😃

Please give us time until end of the week to come up with a simple repo with reproduction steps.

Read more comments on GitHub >

github_iconTop Results From Across the Web

bug: IonNav.canGoBack() sometimes throws exception ...
canGoBack() produces sometimes Cannot read property 'apply' of undefined bug: IonNav.canGoBack() sometimes throws exception: "Cannot read ...
Read more >
"Cannot read property 'apply' of undefined" - Ionic Angular
IonNav.canGoBack() sometimes throws exception: "Cannot read property 'apply' of undefined" · Ionic Framework Ionic Angular.
Read more >
TypeError: Cannot read property 'canGoBack' of undefined
But every time the back button is pressed event-triggered but routerOutlet throws an undefined error when trying to access canGoBack() .
Read more >
Latest topics - Ionic Forum
IonNav.canGoBack() sometimes throws exception: "Cannot read property 'apply' of undefined". March 9, 2020, 1:04 am. Next How to select radio ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found