* [bug] Ensure accounts logging out in the background doesn't impact active account ui
The main issue here: inactive accounts with a logout timeout actually log out the active account" is fixed by pulling in jslib.
These changes are for some asthetic issues I noticed, where inactive accounts logging out still fires a switchAccount event, which causes a loading spinner to appear and a sync that redraws the vault.
* Only load if the account being logged out is the active account:
* Replaced any calls to `stateService.activeAccount.getValue` with references to `this.activeUserId`, since we subscribe to that in the component now.
* Only send a "switchAccount" method if the active user before a clean and after a clean don't match
* [bug] Ensure default vault timeout is set to On Restart
We dont override the StateMigrationService instance that is injected in desktop, so it is not aware of desktop defaults.
This results in fresh accounts having a "Never" timeout action insteads of "On Restart"
* Use the correct StateMigrationService instance
* update jslib
* [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
* [Icons] Update Font Sheet
* Added import statement for styles
* updated to clone icon
* Changed save to save changes icon
* Revert to using base bwi class
* Updated import order for bwi icon styles
* Converted new account switcher ui updates
* Bump jslib
* Fix occurances where bwi-eye-slash was used instead of btw-eye-slash-2
* Move settings cog to the left side
* Updated eye/eye-slash icon references
* Update jslib
* Update jslib
* Update fallback image for cipher icon
* Update jslib
Co-authored-by: Hinton <oscar@oscarhinton.com>
The DI refactor created a bad initlizer for SystemService that left out the reload callback.
This callback is null in prod, so I just set up a factory initlizer that used null for the callback value.
This fixes a bug causing clipboard clearing to not function, as platformUtilsService was not correctly injected.
* Design changes to settings menu
* Remove black border on settings headers
* Pull in jslib
* Only load account related settings when authed
* Hide account related settings when not authed
* Change settings titles
* Changes discussed with Danielle
With the account switching work a header was added to the desktop app that new acts as a home for the mac window controls.
Previously we needed a special home for these controls, but since moving them we are not just creating empty space.
Removing this class and the divs that use it corrects the behavior.
* [dep] Implement new StateService factory parameter from jslib
* [bug] Ensure setLastActive uses the correct userId
Sometimes, because of how often it fires, setLastActive can cause accounts to override each other. To make sure the correct userId is always used we now subscribe to activeUser in the appComponent and pass that value into any setLastActive calls.
* [bug] Show loader when logging out
When logging out of a large vault the application can appear to hang. This commit turns on the app component loader while logout is doing work.
* [bug] Stop tracking activity without an active user
* [style] Ran prettier
* [chore] Update jslib