Assign ownership to many of the remaining libs/common files.
Criteria for ownership:
* Files used by a single team, is now owned by that team.
* Files related to a domain owned by a team is now owned by that team.
* Where ownership is unclear the "lowest level" service takes ownership.
* Define account service observable responsibilities
* Establish account service observables and update methods
* Update Account Service observables from state service
This is a temporary stop-gap to avoid needing to reroute all account
activity and status changes through the account service. That can be
done as part of the breakup of state service.
* Add matchers for Observable emissions
* Fix null active account
* Test account service
* Transition account status to account info
* Remove unused matchers
* Remove duplicate class
* Replay active account for late subscriptions
* Add factories for background services
* Fix state service for web
* Allow for optional messaging
This is a temporary hack until the flow of account status can be
reversed from state -> account to account -> state. The foreground
account service will still logout, it's just the background one cannot
send messages
* Fix add account logic
* Do not throw on recoverable errors
It's possible that duplicate entries exist in `activeAccounts` exist
in the wild. If we throw on adding a duplicate account this will cause
applications to be unusable until duplicates are removed it is not
necessary to throw since this is recoverable. with some potential loss
in current account status
* Add documentation to abstraction
* Update libs/common/spec/utils.ts
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Fix justin's comment :fist-shake:
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* WIP: safer state migrations
Co-authored-by: Justin Baur <justindbaur@users.noreply.github.com>
* Add min version check and remove old migrations
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Add rollback and version checking
* Add state version move migration
* Expand tests and improve typing for Migrations
* Remove StateMigration Service
* Rewrite version 5 and 6 migrations
* Add all but initial migration to supported migrations
* Handle stateVersion location in migrator update versions
* Move to unique migrations directory
* Disallow imports outside of state-migrations
* Lint and test fixes
* Do not run migrations if we cannot determine state
* Fix desktop background StateService build
* Document Migration builder class
* Add debug logging to migrations
* Comment on migrator overrides
* Use specific property names
* `npm run prettier` 🤖
* Insert new migration
* Set stateVersion when creating new globals object
* PR comments
* Fix migrate imports
* Move migration building into `migrate` function
* Export current version from migration definitions
* Move file version concerns to migrator
* Update migrate spec to reflect new version requirements
* Fix import paths
* Prefer unique state data
* Remove unnecessary async
* Prefer to not use `any`
---------
Co-authored-by: Justin Baur <justindbaur@users.noreply.github.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Rename service-factory folder
* Move cryptographic service factories
* Move crypto models
* Move crypto services
* Move domain base class
* Platform code owners
* Move desktop log services
* Move log files
* Establish component library ownership
* Move background listeners
* Move background background
* Move localization to Platform
* Move browser alarms to Platform
* Move browser state to Platform
* Move CLI state to Platform
* Move Desktop native concerns to Platform
* Move flag and misc to Platform
* Lint fixes
* Move electron state to platform
* Move web state to Platform
* Move lib state to Platform
* Fix broken tests
* Rename interface to idiomatic TS
* `npm run prettier` 🤖
* Resolve review feedback
* Set platform as owners of web core and shared
* Expand moved services
* Fix test types
---------
Co-authored-by: Hinton <hinton@users.noreply.github.com>
* Remove default landing on masterpassword page
* Remove rememberEmail state service value that isn't needed
* Remove last occurence of setRememberEmail
* Remove alwaysRememberEmail functionality
* Remove always remember email from browser and add option to
* Add extra spacing around remember email check
* [SG-884] Fix Remember Email functionality for Login with SSO (#4238)
* Add saveEmailSettings method to LoginService
* Add StateService as a dependency to LoginService
* Update login components to utilize new login service method for saving rememberedEmail