diff --git a/apps/browser/src/popup/app.component.ts b/apps/browser/src/popup/app.component.ts index 1f4ddfc36ce..d9dc602a0cc 100644 --- a/apps/browser/src/popup/app.component.ts +++ b/apps/browser/src/popup/app.component.ts @@ -9,7 +9,7 @@ import { import { DomSanitizer } from "@angular/platform-browser"; import { NavigationEnd, Router, RouterOutlet } from "@angular/router"; import { IndividualConfig, ToastrService } from "ngx-toastr"; -import { Subject, takeUntil } from "rxjs"; +import { filter, concatMap, Subject, takeUntil } from "rxjs"; import Swal from "sweetalert2"; import { DialogServiceAbstraction, SimpleDialogOptions } from "@bitwarden/angular/services/dialog"; @@ -62,6 +62,16 @@ export class AppComponent implements OnInit, OnDestroy { this.activeUserId = userId; }); + this.stateService.activeAccountUnlocked$ + .pipe( + filter((unlocked) => unlocked), + concatMap(async () => { + await this.recordActivity(); + }), + takeUntil(this.destroy$) + ) + .subscribe(); + this.ngZone.runOutsideAngular(() => { window.onmousedown = () => this.recordActivity(); window.ontouchstart = () => this.recordActivity();