* [bug] Move bulk of system lock checks into app.component
* [review] Extract shared system timeout logic
* [review] Correct an improper number
* [review] Opt for a more locally scoped system timeout helper than a dedicated enum
* Use different strategy classes for different types of login
* General refactor and cleanup of auth logic
* Create subclasses for different types of login credentials
* Create subclasses for different types of tokenRequests
* Create TwoFactorService, move code out of authService
* refactor base CLI commands to use new interface
* [bug] Extend GlobalState to supply correct default theme
The default theme for most clients is System, but web uses Light.
We need to extend GlobalState in web to reflect this.
* [chore] Update jslib
Some clients have unique global setting defaults (and unique global settings)
For example: the web vault defaults to light theme, but most clients with theme support default to system theme.
The current way we handle GlobalState is buried in jslib and not easily extendible in clients.
To fix this, we need to treat GlobalState as a generic in the StateService and StateMigration service and allow for its extension in those methods and anywhere GlobalState is inited.
* Add credit card logos to allow displaying icons based on brand
* Add light and dark card icons and select based on theme
* Change usage of icon scss to the one in jslib
* Fix typos in scss import code
* Pull in jslib
* Create new state models
* Create browser specific stateService
* Remove registration deprecated services, register stateService
* Replace usage of deprecated services (user, constants)
* Add missing properties to BrowserGroupingsComponentState
* Remove StorageService from initFactory
* Clear the correct state
* Add null check when restoring send-grouping state
* add remember email
* Initialize stateservice in services.module
* Fix 'lock now' not working
* Comment to remove setting defaults on install
* Pull jslib
* Remove setting defaults on install
* Bump jslib
* Pass the current userId to services when logging out
* Bump jslib
* Override vaultTimeout default on account addition
* Pull latest jslib
* Retrieve vaultTimeout from stateService
* Record activity per Account
* Add userId to logout and add fallback if not present
* Register AccountFactory
* Pass userId in messages
* Base changes for account switching di fixes (#2280)
* [bug] Null checks on Account init
* [bug] Use same stateService instance for all operations
We override the stateService in browser, but currently don't pull the background service into popup and allow jslib to create its own instance of the base StateService for jslib services.
This causes a split in in memory state between the three isntances that results in many errors, namely locking not working.
* [chore] Update jslib
* Pull in jslib
* Pull in jslib
* Pull in latest jslib to multiple stateservice inits
* Check vault states before executing processReload
* Adjust iterator
* Update native messaging to include the userId (#2290)
* Re-Add UserVerificationService
* Fix email not being remembered by base component
* Improve readability of reloadProcess
* Removed unneeded null check
* Fix constructor dependency (stateService)
* Added missing await
* Simplify dependency registration
* Fixed typos
* Reverted back to simple loop
* Use vaultTimeoutService to retrieve Timeout
Co-authored-by: Addison Beck <abeck@bitwarden.com>
Co-authored-by: Oscar Hinton <oscar@oscarhinton.com>
* Updated instructions to export a csv file from Keeper
* Add instructions to export a json file from Keeper
* Bump jslib to include Keeper json importer
* Revert change to README.md
* Pull in jslib