grbsk / ng-idle

Responding to idle users in AngularJS applications.
http://hackedbychinese.github.io/ng-idle
MIT License
564 stars 195 forks source link

Having issues with ng-idle/core onIdleEnd & Mat-Dialog #220

Open alobban opened 6 years ago

alobban commented 6 years ago

The scenario

when ever a user has gone idle, a dialog (popup) displays a countdown how long until the user is logged out of the system. If the user return prior to being logged out with mouse activity, the countdown will halt and the dialog will close/disappear.

Issue

However, in Angular 5, this feature was working fine until I upgraded to Angular 6. When ever the user returns prior to onTimeout, it fires the onIdleEnd but the dialog doesn't disappear on mouse activity. I created an Angular 6 app to replicate the issue. I am trying to determine if this is an Ng-Idle or an Angular issue.

Stackblitz with Ng-Idle Stackblitz showing Mat-Dialog closing after 10 second countdown Github

Has anyone come across this issue?

sannies commented 2 years ago

I might be late to the party but it seems to me that ng-idle kind of 'escaped the zone'. Forcing it back into zone helps:

      ngZone.run(() => {
        this.warnLogoutDialogRef.close();
      });