mirror of
https://github.com/bitwarden/browser
synced 2026-02-04 02:33:33 +00:00
Move the LogProvider and SemanticLogger to @bitwarden/logging
This commit is contained in:
@@ -8,7 +8,6 @@ import { JslibModule } from "@bitwarden/angular/jslib.module";
|
||||
import { Account, AccountService } from "@bitwarden/common/auth/abstractions/account.service";
|
||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
||||
import {
|
||||
SemanticLogger,
|
||||
disabledSemanticLoggerProvider,
|
||||
ifEnabledSemanticLoggerProvider,
|
||||
} from "@bitwarden/common/tools/log";
|
||||
@@ -19,6 +18,7 @@ import {
|
||||
EmptyCredentialHistoryComponent,
|
||||
} from "@bitwarden/generator-components";
|
||||
import { GeneratorHistoryService } from "@bitwarden/generator-history";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { PopOutComponent } from "../../../platform/popup/components/pop-out.component";
|
||||
import { PopupFooterComponent } from "../../../platform/popup/layout/popup-footer.component";
|
||||
|
||||
4
apps/desktop/desktop_native/Cargo.lock
generated
4
apps/desktop/desktop_native/Cargo.lock
generated
@@ -2897,9 +2897,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "security-framework"
|
||||
version = "3.4.0"
|
||||
version = "3.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60b369d18893388b345804dc0007963c99b7d665ae71d275812d828c6f089640"
|
||||
checksum = "cc198e42d9b7510827939c9a15f5062a0c913f3371d765977e586d2fe6c16f4a"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"core-foundation",
|
||||
|
||||
@@ -6,11 +6,11 @@ import { firstValueFrom, NEVER } from "rxjs";
|
||||
import { ErrorResponse } from "@bitwarden/common/models/response/error.response";
|
||||
import { StateProvider } from "@bitwarden/common/platform/state";
|
||||
import { mockAccountServiceWith, FakeStateProvider } from "@bitwarden/common/spec";
|
||||
import { SemanticLogger } from "@bitwarden/common/tools/log";
|
||||
import { SystemServiceProvider } from "@bitwarden/common/tools/providers";
|
||||
import { SendApiService } from "@bitwarden/common/tools/send/services/send-api.service.abstraction";
|
||||
import { UserId } from "@bitwarden/common/types/guid";
|
||||
import { SYSTEM_SERVICE_PROVIDER } from "@bitwarden/generator-components";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { DefaultSendAccessService } from "./default-send-access-service";
|
||||
import { SEND_RESPONSE_KEY, SEND_CONTEXT_KEY } from "./send-access-memory";
|
||||
|
||||
@@ -4,11 +4,11 @@ import { map, of, from, catchError, timeout } from "rxjs";
|
||||
|
||||
import { ErrorResponse } from "@bitwarden/common/models/response/error.response";
|
||||
import { StateProvider } from "@bitwarden/common/platform/state";
|
||||
import { SemanticLogger } from "@bitwarden/common/tools/log";
|
||||
import { SystemServiceProvider } from "@bitwarden/common/tools/providers";
|
||||
import { SendAccessRequest } from "@bitwarden/common/tools/send/models/request/send-access.request";
|
||||
import { SendApiService } from "@bitwarden/common/tools/send/services/send-api.service.abstraction";
|
||||
import { SYSTEM_SERVICE_PROVIDER } from "@bitwarden/generator-components";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { SEND_RESPONSE_KEY, SEND_CONTEXT_KEY } from "./send-access-memory";
|
||||
import { SendAccessService } from "./send-access-service.abstraction";
|
||||
|
||||
@@ -2,9 +2,9 @@ import { TestBed } from "@angular/core/testing";
|
||||
import { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from "@angular/router";
|
||||
import { firstValueFrom, Observable, of } from "rxjs";
|
||||
|
||||
import { SemanticLogger } from "@bitwarden/common/tools/log";
|
||||
import { SystemServiceProvider } from "@bitwarden/common/tools/providers";
|
||||
import { SYSTEM_SERVICE_PROVIDER } from "@bitwarden/generator-components";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { SendAccessService } from "./send-access-service.abstraction";
|
||||
import { trySendAccess } from "./try-send-access.guard";
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { shareReplay } from "rxjs";
|
||||
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { Account } from "../../auth/abstractions/account.service";
|
||||
import { BoundDependency } from "../dependencies";
|
||||
import { SemanticLogger } from "../log";
|
||||
import { UserStateSubject } from "../state/user-state-subject";
|
||||
import { UserStateSubjectDependencyProvider } from "../state/user-state-subject-dependency-provider";
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { Jsonify } from "type-fest";
|
||||
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { LogService } from "../../platform/abstractions/log.service";
|
||||
import { LogLevelType } from "../../platform/enums";
|
||||
|
||||
import { SemanticLogger } from "./semantic-logger.abstraction";
|
||||
|
||||
/** Sends semantic logs to the console.
|
||||
* @remarks the behavior of this logger is based on `LogService`; it
|
||||
* replaces dynamic messages (`%s`) with a JSON-formatted semantic log.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Jsonify } from "type-fest";
|
||||
|
||||
import { deepFreeze } from "../util";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { SemanticLogger } from "./semantic-logger.abstraction";
|
||||
import { deepFreeze } from "../util";
|
||||
|
||||
/** All disabled loggers emitted by this module are `===` to this logger. */
|
||||
export const DISABLED_LOGGER: SemanticLogger = deepFreeze({
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { Jsonify } from "type-fest";
|
||||
|
||||
import { SemanticLogger, LogProvider } from "@bitwarden/logging";
|
||||
|
||||
import { LogService } from "../../platform/abstractions/log.service";
|
||||
|
||||
import { DefaultSemanticLogger } from "./default-semantic-logger";
|
||||
import { DISABLED_LOGGER } from "./disabled-logger";
|
||||
import { SemanticLogger } from "./semantic-logger.abstraction";
|
||||
import { LogProvider } from "./types";
|
||||
import { warnLoggingEnabled } from "./util";
|
||||
|
||||
/** Instantiates a semantic logger that emits nothing when a message
|
||||
|
||||
@@ -1,4 +1,2 @@
|
||||
export * from "./factory";
|
||||
export * from "./disabled-logger";
|
||||
export { LogProvider } from "./types";
|
||||
export { SemanticLogger } from "./semantic-logger.abstraction";
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
import { Jsonify } from "type-fest";
|
||||
|
||||
import { SemanticLogger } from "./semantic-logger.abstraction";
|
||||
|
||||
/** Creates a semantic logger.
|
||||
* @param context all logs emitted by the logger are extended with
|
||||
* these fields.
|
||||
* @remarks The `message`, `level`, `provider`, and `content` fields
|
||||
* are reserved for use by the semantic logging system.
|
||||
*/
|
||||
export type LogProvider = <Context extends object>(context: Jsonify<Context>) => SemanticLogger;
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LogService } from "@bitwarden/logging";
|
||||
import { LogService, LogProvider } from "@bitwarden/logging";
|
||||
import { BitwardenClient } from "@bitwarden/sdk-internal";
|
||||
import { StateProvider } from "@bitwarden/state";
|
||||
|
||||
@@ -9,7 +9,7 @@ import { PlatformUtilsService } from "../platform/abstractions/platform-utils.se
|
||||
import { LegacyEncryptorProvider } from "./cryptography/legacy-encryptor-provider";
|
||||
import { ExtensionRegistry } from "./extension/extension-registry.abstraction";
|
||||
import { ExtensionService } from "./extension/extension.service";
|
||||
import { disabledSemanticLoggerProvider, enableLogForTypes, LogProvider } from "./log";
|
||||
import { disabledSemanticLoggerProvider, enableLogForTypes } from "./log";
|
||||
|
||||
/** Provides access to commonly-used cross-cutting services. */
|
||||
export type SystemServiceProvider = {
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { Jsonify } from "type-fest";
|
||||
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { StateProvider } from "../../platform/state";
|
||||
import { LegacyEncryptorProvider } from "../cryptography/legacy-encryptor-provider";
|
||||
import { SemanticLogger } from "../log";
|
||||
|
||||
/** Aggregates user state subject dependencies */
|
||||
export abstract class UserStateSubjectDependencyProvider {
|
||||
|
||||
@@ -29,11 +29,12 @@ import {
|
||||
switchMap,
|
||||
} from "rxjs";
|
||||
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { Account } from "../../auth/abstractions/account.service";
|
||||
import { EncString } from "../../key-management/crypto/models/enc-string";
|
||||
import { SingleUserState, UserKeyDefinition } from "../../platform/state";
|
||||
import { UserEncryptor } from "../cryptography/user-encryptor.abstraction";
|
||||
import { SemanticLogger } from "../log";
|
||||
import { anyComplete, pin, ready, withLatestReady } from "../rx";
|
||||
import { Constraints, SubjectConstraints, WithConstraints } from "../types";
|
||||
|
||||
|
||||
@@ -63,10 +63,18 @@ describe("ImportService", () => {
|
||||
const environment = mock<PlatformUtilsService>();
|
||||
environment.getClientType.mockReturnValue(ClientType.Desktop);
|
||||
|
||||
systemServiceProvider = mock<SystemServiceProvider>({
|
||||
configService,
|
||||
environment,
|
||||
log: jest.fn().mockReturnValue({ debug: jest.fn() }),
|
||||
systemServiceProvider = mock<SystemServiceProvider>();
|
||||
Object.defineProperty(systemServiceProvider, "configService", {
|
||||
get: () => configService,
|
||||
configurable: true,
|
||||
});
|
||||
Object.defineProperty(systemServiceProvider, "environment", {
|
||||
get: () => environment,
|
||||
configurable: true,
|
||||
});
|
||||
Object.defineProperty(systemServiceProvider, "log", {
|
||||
get: () => jest.fn().mockReturnValue({ debug: jest.fn() }),
|
||||
configurable: true,
|
||||
});
|
||||
|
||||
importService = new ImportService(
|
||||
@@ -285,10 +293,18 @@ describe("ImportService", () => {
|
||||
const environment = mock<PlatformUtilsService>();
|
||||
environment.getClientType.mockReturnValue(ClientType.Desktop);
|
||||
|
||||
systemServiceProvider = mock<SystemServiceProvider>({
|
||||
configService,
|
||||
environment,
|
||||
log: jest.fn().mockReturnValue(mockLogger),
|
||||
systemServiceProvider = mock<SystemServiceProvider>();
|
||||
Object.defineProperty(systemServiceProvider, "configService", {
|
||||
get: () => configService,
|
||||
configurable: true,
|
||||
});
|
||||
Object.defineProperty(systemServiceProvider, "environment", {
|
||||
get: () => environment,
|
||||
configurable: true,
|
||||
});
|
||||
Object.defineProperty(systemServiceProvider, "log", {
|
||||
get: () => jest.fn().mockReturnValue(mockLogger),
|
||||
configurable: true,
|
||||
});
|
||||
|
||||
// Recreate the service with the updated mocks for logging tests
|
||||
|
||||
@@ -20,7 +20,6 @@ import { KvpRequest } from "@bitwarden/common/models/request/kvp.request";
|
||||
import { ErrorResponse } from "@bitwarden/common/models/response/error.response";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import { Utils } from "@bitwarden/common/platform/misc/utils";
|
||||
import { SemanticLogger } from "@bitwarden/common/tools/log";
|
||||
import { SystemServiceProvider } from "@bitwarden/common/tools/providers";
|
||||
import { OrganizationId } from "@bitwarden/common/types/guid";
|
||||
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
|
||||
@@ -32,6 +31,7 @@ import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
|
||||
import { FolderView } from "@bitwarden/common/vault/models/view/folder.view";
|
||||
import { RestrictedItemTypesService } from "@bitwarden/common/vault/services/restricted-item-types.service";
|
||||
import { KeyService } from "@bitwarden/key-management";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import {
|
||||
AscendoCsvImporter,
|
||||
|
||||
@@ -1,3 +1,16 @@
|
||||
import { Jsonify } from "type-fest";
|
||||
|
||||
import { SemanticLogger } from "./semantic-logger.abstraction";
|
||||
|
||||
export { LogService } from "./log.service";
|
||||
export { LogLevel } from "./log-level";
|
||||
export { ConsoleLogService } from "./console-log.service";
|
||||
export { SemanticLogger } from "./semantic-logger.abstraction";
|
||||
|
||||
/** Creates a semantic logger.
|
||||
* @param context all logs emitted by the logger are extended with
|
||||
* these fields.
|
||||
* @remarks The `message`, `level`, `provider`, and `content` fields
|
||||
* are reserved for use by the semantic logging system.
|
||||
*/
|
||||
export type LogProvider = <Context extends object>(context: Jsonify<Context>) => SemanticLogger;
|
||||
|
||||
@@ -16,13 +16,13 @@ import { JslibModule } from "@bitwarden/angular/jslib.module";
|
||||
import { Account, AccountService } from "@bitwarden/common/auth/abstractions/account.service";
|
||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
||||
import {
|
||||
SemanticLogger,
|
||||
disabledSemanticLoggerProvider,
|
||||
ifEnabledSemanticLoggerProvider,
|
||||
} from "@bitwarden/common/tools/log";
|
||||
import { UserId } from "@bitwarden/common/types/guid";
|
||||
import { ButtonModule, DialogModule, DialogService } from "@bitwarden/components";
|
||||
import { GeneratorHistoryService } from "@bitwarden/generator-history";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { CredentialGeneratorHistoryComponent as CredentialGeneratorHistoryToolsComponent } from "./credential-generator-history.component";
|
||||
import { EmptyCredentialHistoryComponent } from "./empty-credential-history.component";
|
||||
|
||||
@@ -9,7 +9,6 @@ import { Account } from "@bitwarden/common/auth/abstractions/account.service";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
||||
import {
|
||||
SemanticLogger,
|
||||
disabledSemanticLoggerProvider,
|
||||
ifEnabledSemanticLoggerProvider,
|
||||
} from "@bitwarden/common/tools/log";
|
||||
@@ -22,6 +21,7 @@ import {
|
||||
} from "@bitwarden/components";
|
||||
import { AlgorithmsByType, CredentialGeneratorService } from "@bitwarden/generator-core";
|
||||
import { GeneratedCredential, GeneratorHistoryService } from "@bitwarden/generator-history";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { GeneratorModule } from "./generator.module";
|
||||
import { translate } from "./util";
|
||||
|
||||
@@ -32,7 +32,6 @@ import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.servic
|
||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
||||
import { VendorId } from "@bitwarden/common/tools/extension";
|
||||
import {
|
||||
SemanticLogger,
|
||||
disabledSemanticLoggerProvider,
|
||||
ifEnabledSemanticLoggerProvider,
|
||||
} from "@bitwarden/common/tools/log";
|
||||
@@ -55,6 +54,7 @@ import {
|
||||
Type,
|
||||
} from "@bitwarden/generator-core";
|
||||
import { GeneratorHistoryService } from "@bitwarden/generator-history";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { translate } from "./util";
|
||||
|
||||
|
||||
@@ -22,11 +22,7 @@ import { DefaultFields, DefaultSites, Extension } from "@bitwarden/common/tools/
|
||||
import { RuntimeExtensionRegistry } from "@bitwarden/common/tools/extension/runtime-extension-registry";
|
||||
import { VendorExtensions, Vendors } from "@bitwarden/common/tools/extension/vendor";
|
||||
import { RestClient } from "@bitwarden/common/tools/integration/rpc";
|
||||
import {
|
||||
LogProvider,
|
||||
disabledSemanticLoggerProvider,
|
||||
enableLogForTypes,
|
||||
} from "@bitwarden/common/tools/log";
|
||||
import { disabledSemanticLoggerProvider, enableLogForTypes } from "@bitwarden/common/tools/log";
|
||||
import { SystemServiceProvider } from "@bitwarden/common/tools/providers";
|
||||
import { UserStateSubjectDependencyProvider } from "@bitwarden/common/tools/state/user-state-subject-dependency-provider";
|
||||
import {
|
||||
@@ -38,6 +34,7 @@ import {
|
||||
DefaultCredentialGeneratorService,
|
||||
} from "@bitwarden/generator-core";
|
||||
import { KeyService } from "@bitwarden/key-management";
|
||||
import { LogProvider } from "@bitwarden/logging";
|
||||
|
||||
export const RANDOMIZER = new SafeInjectionToken<Randomizer>("Randomizer");
|
||||
const GENERATOR_SERVICE_PROVIDER = new SafeInjectionToken<providers.CredentialGeneratorProviders>(
|
||||
|
||||
@@ -16,7 +16,6 @@ import { Account } from "@bitwarden/common/auth/abstractions/account.service";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
||||
import {
|
||||
SemanticLogger,
|
||||
disabledSemanticLoggerProvider,
|
||||
ifEnabledSemanticLoggerProvider,
|
||||
} from "@bitwarden/common/tools/log";
|
||||
@@ -25,6 +24,7 @@ import {
|
||||
PassphraseGenerationOptions,
|
||||
BuiltIn,
|
||||
} from "@bitwarden/generator-core";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
const Controls = Object.freeze({
|
||||
numWords: "numWords",
|
||||
|
||||
@@ -28,7 +28,6 @@ import { Account, AccountService } from "@bitwarden/common/auth/abstractions/acc
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
||||
import {
|
||||
SemanticLogger,
|
||||
disabledSemanticLoggerProvider,
|
||||
ifEnabledSemanticLoggerProvider,
|
||||
} from "@bitwarden/common/tools/log";
|
||||
@@ -49,6 +48,7 @@ import {
|
||||
Profile,
|
||||
} from "@bitwarden/generator-core";
|
||||
import { GeneratorHistoryService } from "@bitwarden/generator-history";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { toAlgorithmInfo, translate } from "./util";
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.servic
|
||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
||||
import { VendorId } from "@bitwarden/common/tools/extension";
|
||||
import {
|
||||
SemanticLogger,
|
||||
disabledSemanticLoggerProvider,
|
||||
ifEnabledSemanticLoggerProvider,
|
||||
} from "@bitwarden/common/tools/log";
|
||||
@@ -55,6 +54,7 @@ import {
|
||||
Algorithm,
|
||||
} from "@bitwarden/generator-core";
|
||||
import { GeneratorHistoryService } from "@bitwarden/generator-history";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { toAlgorithmInfo, translate } from "./util";
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { SemanticLogger } from "@bitwarden/common/tools/log";
|
||||
import { UserStateSubjectDependencyProvider } from "@bitwarden/common/tools/state/user-state-subject-dependency-provider";
|
||||
import { Constraints, StateConstraints } from "@bitwarden/common/tools/types";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { CredentialAlgorithm, CredentialType } from "../metadata";
|
||||
import { CredentialPreference } from "../types";
|
||||
|
||||
@@ -4,11 +4,11 @@ import { PolicyType } from "@bitwarden/common/admin-console/enums";
|
||||
import { Account } from "@bitwarden/common/auth/abstractions/account.service";
|
||||
import { BoundDependency } from "@bitwarden/common/tools/dependencies";
|
||||
import { ExtensionSite } from "@bitwarden/common/tools/extension";
|
||||
import { SemanticLogger } from "@bitwarden/common/tools/log";
|
||||
import { SystemServiceProvider } from "@bitwarden/common/tools/providers";
|
||||
import { anyComplete, memoizedMap, pin } from "@bitwarden/common/tools/rx";
|
||||
import { UserStateSubject } from "@bitwarden/common/tools/state/user-state-subject";
|
||||
import { UserStateSubjectDependencyProvider } from "@bitwarden/common/tools/state/user-state-subject-dependency-provider";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import {
|
||||
GeneratorMetadata,
|
||||
|
||||
@@ -12,10 +12,10 @@ import {
|
||||
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
|
||||
import { Account } from "@bitwarden/common/auth/abstractions/account.service";
|
||||
import { BoundDependency } from "@bitwarden/common/tools/dependencies";
|
||||
import { SemanticLogger } from "@bitwarden/common/tools/log";
|
||||
import { anyComplete } from "@bitwarden/common/tools/rx";
|
||||
import { UserStateSubject } from "@bitwarden/common/tools/state/user-state-subject";
|
||||
import { UserStateSubjectDependencyProvider } from "@bitwarden/common/tools/state/user-state-subject-dependency-provider";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { ProfileContext, CoreProfileMetadata, ProfileMetadata } from "../metadata";
|
||||
import { GeneratorConstraints } from "../types/generator-constraints";
|
||||
|
||||
@@ -5,8 +5,9 @@ import { ConsoleLogService } from "@bitwarden/common/platform/services/console-l
|
||||
import { Site, VendorId } from "@bitwarden/common/tools/extension";
|
||||
import { Bitwarden } from "@bitwarden/common/tools/extension/vendor/bitwarden";
|
||||
import { Vendor } from "@bitwarden/common/tools/extension/vendor/data";
|
||||
import { SemanticLogger, ifEnabledSemanticLoggerProvider } from "@bitwarden/common/tools/log";
|
||||
import { ifEnabledSemanticLoggerProvider } from "@bitwarden/common/tools/log";
|
||||
import { UserId } from "@bitwarden/common/types/guid";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { awaitAsync } from "../../../../../common/spec";
|
||||
import {
|
||||
|
||||
@@ -18,10 +18,10 @@ import {
|
||||
import { Account } from "@bitwarden/common/auth/abstractions/account.service";
|
||||
import { BoundDependency, OnDependency } from "@bitwarden/common/tools/dependencies";
|
||||
import { VendorId } from "@bitwarden/common/tools/extension";
|
||||
import { SemanticLogger } from "@bitwarden/common/tools/log";
|
||||
import { SystemServiceProvider } from "@bitwarden/common/tools/providers";
|
||||
import { anyComplete, memoizedMap } from "@bitwarden/common/tools/rx";
|
||||
import { UserStateSubject } from "@bitwarden/common/tools/state/user-state-subject";
|
||||
import { SemanticLogger } from "@bitwarden/logging";
|
||||
|
||||
import { CredentialGeneratorService } from "../abstractions";
|
||||
import {
|
||||
|
||||
Reference in New Issue
Block a user