diff --git a/apps/browser/src/auth/popup/login-decryption-options/extension-login-decryption-options.service.ts b/apps/browser/src/auth/popup/login-decryption-options/extension-login-decryption-options.service.ts index ea529e277e..3e591e08ac 100644 --- a/apps/browser/src/auth/popup/login-decryption-options/extension-login-decryption-options.service.ts +++ b/apps/browser/src/auth/popup/login-decryption-options/extension-login-decryption-options.service.ts @@ -24,6 +24,8 @@ export class ExtensionLoginDecryptionOptionsService // start listening for "switchAccountFinish" or "doneLoggingOut" const messagePromise = firstValueFrom(postLogoutMessageListener$); + // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling. + // eslint-disable-next-line @typescript-eslint/no-floating-promises super.logOut(); // wait for messages diff --git a/bitwarden_license/bit-web/src/app/admin-console/providers/manage/accept-provider.component.ts b/bitwarden_license/bit-web/src/app/admin-console/providers/manage/accept-provider.component.ts index 7bfac8f4b3..7a90403b0b 100644 --- a/bitwarden_license/bit-web/src/app/admin-console/providers/manage/accept-provider.component.ts +++ b/bitwarden_license/bit-web/src/app/admin-console/providers/manage/accept-provider.component.ts @@ -54,6 +54,8 @@ export class AcceptProviderComponent extends BaseAcceptComponent { this.i18nService.t("providerInviteAcceptedDesc"), { timeout: 10000 }, ); + // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling. + // eslint-disable-next-line @typescript-eslint/no-floating-promises this.router.navigate(["/vault"]); } diff --git a/bitwarden_license/bit-web/src/app/admin-console/providers/setup/setup-provider.component.ts b/bitwarden_license/bit-web/src/app/admin-console/providers/setup/setup-provider.component.ts index 473380ff28..8d87b82bb8 100644 --- a/bitwarden_license/bit-web/src/app/admin-console/providers/setup/setup-provider.component.ts +++ b/bitwarden_license/bit-web/src/app/admin-console/providers/setup/setup-provider.component.ts @@ -17,6 +17,8 @@ export class SetupProviderComponent extends BaseAcceptComponent { requiredParameters = ["providerId", "email", "token"]; async authedHandler(qParams: Params) { + // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling. + // eslint-disable-next-line @typescript-eslint/no-floating-promises this.router.navigate(["/providers/setup"], { queryParams: qParams }); } @@ -25,6 +27,8 @@ export class SetupProviderComponent extends BaseAcceptComponent { } login() { + // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling. + // eslint-disable-next-line @typescript-eslint/no-floating-promises this.router.navigate(["/login"], { queryParams: { email: this.email } }); } } diff --git a/libs/auth/src/angular/login-approval/login-approval.component.ts b/libs/auth/src/angular/login-approval/login-approval.component.ts index e54e15f11f..285bdd0ddf 100644 --- a/libs/auth/src/angular/login-approval/login-approval.component.ts +++ b/libs/auth/src/angular/login-approval/login-approval.component.ts @@ -100,6 +100,8 @@ export class LoginApprovalComponent implements OnInit, OnDestroy { this.updateTimeText(); }, RequestTimeUpdate); + // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling. + // eslint-disable-next-line @typescript-eslint/no-floating-promises this.loginApprovalComponentService.showLoginRequestedAlertIfWindowNotVisible(this.email); this.loading = false; diff --git a/libs/auth/src/angular/new-device-verification/new-device-verification.component.ts b/libs/auth/src/angular/new-device-verification/new-device-verification.component.ts index 0d7ae4f035..a8aa3bd552 100644 --- a/libs/auth/src/angular/new-device-verification/new-device-verification.component.ts +++ b/libs/auth/src/angular/new-device-verification/new-device-verification.component.ts @@ -137,6 +137,8 @@ export class NewDeviceVerificationComponent implements OnInit, OnDestroy { return; } + // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling. + // eslint-disable-next-line @typescript-eslint/no-floating-promises this.loginSuccessHandlerService.run(authResult.userId); // If verification succeeds, navigate to vault diff --git a/libs/auth/src/angular/two-factor-auth/two-factor-auth.component.ts b/libs/auth/src/angular/two-factor-auth/two-factor-auth.component.ts index 034c5b82d1..315f8121cc 100644 --- a/libs/auth/src/angular/two-factor-auth/two-factor-auth.component.ts +++ b/libs/auth/src/angular/two-factor-auth/two-factor-auth.component.ts @@ -265,6 +265,8 @@ export class TwoFactorAuthComponent implements OnInit, OnDestroy { private listenForAuthnSessionTimeout() { this.loginStrategyService.authenticationSessionTimeout$ .pipe(takeUntilDestroyed(this.destroyRef)) + // TODO: Fix this! + // eslint-disable-next-line rxjs/no-async-subscribe .subscribe(async (expired) => { if (!expired) { return; diff --git a/libs/key-management/src/key.service.ts b/libs/key-management/src/key.service.ts index 4a48d00f56..e09cabcfae 100644 --- a/libs/key-management/src/key.service.ts +++ b/libs/key-management/src/key.service.ts @@ -256,6 +256,7 @@ export class DefaultKeyService implements KeyServiceAbstraction { } if (keySuffix === KeySuffixOptions.Pin && userId != null) { // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling. + // eslint-disable-next-line @typescript-eslint/no-floating-promises this.pinService.clearPinKeyEncryptedUserKeyEphemeral(userId); } } diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index a60a705318..34ee7e719c 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -1,47 +1,5 @@ { - "compilerOptions": { - "pretty": true, - "moduleResolution": "node", - "noImplicitAny": true, - "target": "ES6", - "module": "commonjs", - "lib": ["es5", "es6", "es7", "dom"], - "sourceMap": true, - "declaration": true, - "allowSyntheticDefaultImports": true, - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "declarationDir": "dist/types", - "outDir": "dist", - "baseUrl": ".", - "allowJs": true, - "paths": { - "@bitwarden/admin-console": ["./libs/admin-console/src"], - "@bitwarden/angular/*": ["./libs/angular/src/*"], - "@bitwarden/auth": ["./libs/auth/src"], - "@bitwarden/billing": ["./libs/billing/src"], - "@bitwarden/bit-common/*": ["./bitwarden_license/bit-common/src/*"], - "@bitwarden/common/*": ["./libs/common/src/*"], - "@bitwarden/components": ["./libs/components/src"], - "@bitwarden/dirt-card": [".libs/dirt/card/src"], - "@bitwarden/generator-components": ["./libs/tools/generator/components/src"], - "@bitwarden/generator-core": ["./libs/tools/generator/core/src"], - "@bitwarden/generator-history": ["./libs/tools/generator/extensions/history/src"], - "@bitwarden/generator-legacy": ["./libs/tools/generator/extensions/legacy/src"], - "@bitwarden/generator-navigation": ["./libs/tools/generator/extensions/navigation/src"], - "@bitwarden/importer-core": ["./libs/importer/src"], - "@bitwarden/importer-ui": ["./libs/importer/src/components"], - "@bitwarden/key-management": ["./libs/key-management/src"], - "@bitwarden/key-management-ui": ["./libs/key-management-ui/src/index,ts"], - "@bitwarden/node/*": ["./libs/node/src/*"], - "@bitwarden/platform": ["./libs/platform/src"], - "@bitwarden/send-ui": [".libs/tools/send/send-ui/src"], - "@bitwarden/ui-common": ["./libs/ui/common/src"], - "@bitwarden/vault-export-core": [".libs/tools/export/vault-export/vault-export-core/src"], - "@bitwarden/vault-export-ui": [".libs/tools/export/vault-export/vault-export-ui/src"], - "@bitwarden/vault": ["./libs/vault/src"] - } - }, + "extends": "./tsconfig.base", "files": [ ".storybook/main.ts", ".storybook/manager.js",