* [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>
* [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
* [bug] Pull serverUrl directly from stateService for the account switcher
Create a small extended Account model for handling the switchers server url, and pull environment urls from disk where they actually live
* [refactor] Add a message handler for switching accounts
* This allows for logic reuse between manually switching accounts and automatically switching accounts on login
* This commit also adds a loading spinner to app root while syncing after a switch
* [bug] Remove vertical scrollbar
* An old styling fix to add extra height and padding seems to be now creating an unecassary scroll bar. It is likely that since making more use of flexbox for our containers that this issue has been resolved without the manually added extra hight & padding
* [refactor] Turn down activity monitoring
Saving last activity is a disk call, and we currently do this a lot more than is necassary. For example:
* We track mousedown & click, which is redundant
* We track every mouse movement regardless of if an action is taken. This seems inappropriate for use in locking behavior.
* [bug] Address potential race condition when locking
Sometimes when swapping between an unlocked account and a locked account a race condition occurs that swaps the user but doesn't redirect to the lock screen
This commit just adds some awaits and restructures lock order of operations to be more in line with other message handlers
* [refactor] Change click event to mousedown event for the account switcher
This is simply a little snappier, and ensures we stay ahead of change detection and don't get stuck not properly interpreting the action
* [chore] Update jslib
* [chore] Linter fixes
* [chore] Linter fixes
* [chore] Update jslib
* [chore] Update jslib
* [refactor] Remove references to deprecated services
* [feature] Implement account switching
* [bug] Fix state handling for authentication dependent system menu items
* [bug] Enable the account switcher to fucntion properly when switching to a locked accounts
* [feature] Enable locking any account from the menu
* [bug] Ensure the avatar instance used in the account switcher updates on account change
* [style] Fix lint complaints
* [bug] Ensure the logout command callback can handle any user in state
* [style] Fix lint complaints
* rollup
* [style] Fix lint complaints
* [bug] Don't clean up state until everything else is done on logout
* [bug] Navigate to vault on a succesful account switch
* [bug] Init the state service on start
* [feature] Limit account switching to 5 account maximum
* [bug] Resolve app lock state with 5 logged out accounts
* [chore] Update account refrences to match recent jslib restructuring
* [bug] Add missing awaits
* [bug] Update app menu on logout
* [bug] Hide the switcher if there are no authed accounts
* [bug] Move authenticationStatus display information out of jslib
* [bug] Remove unused active style from scss
* [refactor] Rewrite the menu bar
* [style] Fix lint complaints
* [bug] Clean state of loggout out user after redirect
* [bug] Redirect on logout if not explicity provided a userId that isn't active
* [bug] Relocated several settings items to persistant storage
* [bug] Correct account switcher styles on all themes
* [chore] Include state migration service in services
* [bug] Swap to next account on logout
* [bug] Correct DI service
* [bug] fix loginGuard deps in services.module
* [chore] update jslib
* [bug] Remove badly merged scss
* [chore] update jslib
* [review] Code review cleanup
* [review] Code review cleanup
Co-authored-by: Hinton <oscar@oscarhinton.com>
* Initial work on windows hello support
* Hide login button if not enabled
* Add windows.security.credentials.ui dependency to desktop as well.
* Only enable biometric on windows.
* Add support for dynamic biometric text.
* Add untested darwin implementation
* Ensure we support biometric before showing login with windows hello / touchid.
* Ensure compatability with latest jslib
* Only require module on use.
* Add windows.security.credentials.ui to src/package.json.
* Update requirements
* Update consent messages for biometrics