From 036c142a8d030f451093039eb6b607fe4be7e049 Mon Sep 17 00:00:00 2001 From: gbubemismith Date: Wed, 23 Aug 2023 14:33:34 -0400 Subject: [PATCH] Fixed destroy subject inheritance issue on the login componenet --- apps/web/src/app/auth/login/login.component.ts | 13 ++++++------- libs/angular/src/auth/components/login.component.ts | 6 +++--- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/apps/web/src/app/auth/login/login.component.ts b/apps/web/src/app/auth/login/login.component.ts index 316b353c490..e3d0c35c981 100644 --- a/apps/web/src/app/auth/login/login.component.ts +++ b/apps/web/src/app/auth/login/login.component.ts @@ -1,7 +1,7 @@ -import { Component, NgZone, OnDestroy, OnInit } from "@angular/core"; +import { Component, NgZone, OnInit } from "@angular/core"; import { FormBuilder } from "@angular/forms"; import { ActivatedRoute, Router } from "@angular/router"; -import { Subject, takeUntil } from "rxjs"; +import { takeUntil } from "rxjs"; import { first } from "rxjs/operators"; import { LoginComponent as BaseLoginComponent } from "@bitwarden/angular/auth/components/login.component"; @@ -33,14 +33,13 @@ import { RouterService, StateService } from "../../core"; selector: "app-login", templateUrl: "login.component.html", }) -export class LoginComponent extends BaseLoginComponent implements OnInit, OnDestroy { +// eslint-disable-next-line rxjs-angular/prefer-takeuntil +export class LoginComponent extends BaseLoginComponent implements OnInit { showResetPasswordAutoEnrollWarning = false; enforcedPasswordPolicyOptions: MasterPasswordPolicyOptions; policies: ListResponse; showPasswordless = false; - private destroy$ = new Subject(); - constructor( devicesApiService: DevicesApiServiceAbstraction, appIdService: AppIdService, @@ -145,9 +144,9 @@ export class LoginComponent extends BaseLoginComponent implements OnInit, OnDest } } + // eslint-disable-next-line rxjs-angular/prefer-takeuntil ngOnDestroy(): void { - this.destroy$.next(); - this.destroy$.complete(); + super.ngOnDestroy(); } async goAfterLogIn() { diff --git a/libs/angular/src/auth/components/login.component.ts b/libs/angular/src/auth/components/login.component.ts index 226943cac19..815d794835f 100644 --- a/libs/angular/src/auth/components/login.component.ts +++ b/libs/angular/src/auth/components/login.component.ts @@ -1,4 +1,4 @@ -import { Directive, ElementRef, NgZone, OnInit, ViewChild } from "@angular/core"; +import { Directive, ElementRef, NgZone, OnDestroy, OnInit, ViewChild } from "@angular/core"; import { FormBuilder, Validators } from "@angular/forms"; import { ActivatedRoute, Router } from "@angular/router"; import { Subject } from "rxjs"; @@ -28,7 +28,7 @@ import { import { CaptchaProtectedComponent } from "./captcha-protected.component"; @Directive() -export class LoginComponent extends CaptchaProtectedComponent implements OnInit { +export class LoginComponent extends CaptchaProtectedComponent implements OnInit, OnDestroy { @ViewChild("masterPasswordInput", { static: true }) masterPasswordInput: ElementRef; showPassword = false; @@ -52,7 +52,7 @@ export class LoginComponent extends CaptchaProtectedComponent implements OnInit protected successRoute = "vault"; protected forcePasswordResetRoute = "update-temp-password"; - private destroy$ = new Subject(); + protected destroy$ = new Subject(); get loggedEmail() { return this.formGroup.value.email;