Commit Graph

86 Commits

Author SHA1 Message Date
Oscar Hinton 3aa52a5537
Add eslint (#1369) 2022-02-24 20:50:19 +01:00
Addison Beck 1e80c4335f
[bug] Resolve several regression issues (#1302)
* [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
2022-02-09 12:42:16 -05:00
Thomas Rittson 762e3f8198
Update client for authService refactor (#1239) 2022-02-08 09:26:53 +10:00
Addison Beck 2b22a39d45
[chore] Update jslib (#1277)
* [chore] Update jslib

* [bug] Correct value for system theme dropdown key

* [chore] Update jslib
2022-01-31 18:00:37 -05:00
Oscar Hinton 7d46e5c145
Add explicit init to native messaging service (#1262) 2022-01-24 16:10:32 +01:00
Addison Beck ef48ba1ae2
[bug] Correct DI setup for SystemService (#1257)
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.
2022-01-22 15:24:12 -05:00
Addison Beck b796fe094f
[Bug] [Account Switching] Improve State Management Performance (#1237)
* [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
2022-01-19 11:00:28 -05:00
Addison Beck 653ff8f45f
[Bug] VaultTimeout incorrectly defaults to "Never" (#1230)
* [Bug] VaultTimeout incorrectly defaults to "Never"

The default desktop vault timeout value is "On Restart", but there is no default set for this in the state service and account model.
This commit extends the StateService and Account model to consider the special vault timeout default requirements needed for desktop.

* [style] Lint fixes

* [chore] Update jslib
2022-01-12 11:37:23 -05:00
Oscar Hinton 521feae535
Apply Prettier (#1202) 2021-12-20 15:47:17 +01:00
Addison Beck 0b306ca1a7
[Account Switching] [Feature] Add the ability to maintain state for up to 5 accounts at once (#1079)
* [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>
2021-12-15 17:32:00 -05:00
Oscar Hinton 04cfdb246d
BEEEP: Refactor services DI (#1175) 2021-12-06 12:03:02 +01:00
Thomas Rittson 3d8fd3cbce
Update jslib and service dependencies (#1160)
* Update service deps

* Update jslib
2021-11-16 21:01:23 +10:00
Thomas Rittson afb30d5e0b
[Key Connector] Add support for key connector and OTP (#1135)
Co-authored-by: Hinton <oscar@oscarhinton.com>
2021-11-09 19:00:01 +01:00
Thomas Rittson f2a5fe4429
[Linked fields] Add Linked Field as custom field type (#1091)
* Add linked fields

* Update to use Field.linkedId

* Add missing deps

* Update jslib
2021-11-04 08:02:41 +10:00
Oscar Hinton 6f69486c36
Remove empty catch blocks and remove allow-empty-catch tslint rule (#1117) 2021-10-21 11:10:36 +02:00
Thomas Rittson 15e8e5fec9
Use theme enum and platformUtilsService helpers (#1094)
* Use new theme enum and platformUtilsService helper

* Use theme enum

* Update jslib

* Fix linting
2021-10-05 06:30:09 +10:00
Oscar Hinton aa19e678f7
Vault Timeout Policy (#1052) 2021-09-15 20:02:46 +02:00
Oscar Hinton 2ba8925b81
Add password show/hide to reprompt (#959) 2021-08-27 15:30:44 +02:00
Oscar Hinton 20561fff87
Add support for helpers in environment service (#1002)
* Add support for helpers in environment service

* Add environment service to register component

* Bump jslib
2021-07-23 17:15:32 -04:00
Matt Gibson bd0fb024c1
Always get key from storage to ensure biometric prompt. (#952)
* Always get key from storage to ensure biometric prompt.

* Update jslib

* Update jslib
2021-06-15 13:40:34 -05:00
Oscar Hinton 296340a5be
Add jslib as a "real" dependency (#941)
* Add jslib as a "real" dependency

* Move more packages to jslib

* Remove some unesessary dev dependencies.

* Add back missing preinstall

* Revert jslib bump

* Fix jslib containing wrong types/node.

* Bump jslib

* Remove unessesary alias

* Remove dummy module
2021-06-07 19:26:36 +02:00
Thomas Rittson 6edd600006 Move theme update logic to services.module.ts 2021-06-02 07:28:21 +10:00
Tom Rittson b00df0112e Let all OS' use system theme on startup 2021-05-31 14:34:59 +10:00
Thomas Rittson 68096c1f12 update service deps 2021-05-13 10:53:38 +10:00
Oscar Hinton 42564285d9
Password reprompt (#838)
* Add support for password reprompt
2021-05-04 21:32:03 +02:00
Thomas Rittson d7e1fda17d Fix linting 2021-04-22 07:56:19 +10:00
Thomas Rittson 62ccf420a2 Add guards to lock and login routes 2021-04-22 07:56:19 +10:00
Oscar Hinton 6acfba4b40
Remove dead code (#839)
* Remove last remnants of old analytics code
2021-04-14 23:43:22 +02:00
Oscar Hinton eebd4fc9d9
Remove electron remote (#830)
* Remove calls to remote
2021-04-07 20:25:15 +02:00
Matt Gibson 99f8fdb4e9 Use file upload service for file uploads 2021-03-29 08:24:00 -05:00
addison 500f6264a6 updated service params 2021-03-26 15:06:48 -04:00
Oscar Hinton 5d953fd2fc
Update electron to 11.1.1 (#642) 2021-01-27 22:50:18 +01:00
Hinton e639fa6674 Make fingerprint validation optional, update readme with debug info for native messaging 2020-12-18 15:47:48 +01:00
Hinton d20aaeb0e5 Display error message when biometric is disabled in the desktop 2020-12-16 17:25:30 +01:00
Matt Gibson e7d4886a4f Use logService for console messages 2020-12-11 10:42:00 -06:00
Hinton ed0acdead2 Restore focus when displaying sync confirm 2020-11-30 14:58:52 +01:00
Hinton 77715443d9 Merge branch 'master' of https://github.com/bitwarden/desktop into feature/browser-communication 2020-11-19 18:49:40 +01:00
Kyle Spearrin a18a35fa0b
support for sr lang. resolve sendService deps (#593) 2020-11-18 16:13:05 -05:00
Hinton 9ff0f204d8 Add connected/disconnected calls in proxy application 2020-10-21 15:56:27 +02:00
Hinton 2ac6148821 Show fingerprint message 2020-10-19 16:50:33 +02:00
Hinton 74b51c9a6c wip 2020-10-16 17:09:17 +02:00
Hinton d83e2bc117 Use proper logging, fix linting errors. 2020-10-12 21:34:41 +02:00
Hinton 51b749b1dc Split native messaging into renderer and background service. Encrypt messages and verify timestamp 2020-10-12 21:18:28 +02:00
Chad Scharf ce0568992a
Update jslib (#537) 2020-09-15 11:00:05 -04:00
Kyle Spearrin 0ba2589461
merge sso feature branch (#523)
* Update jslib (101c568 -> 14b01f2) (#506)

* Update jslib (14b01f2 -> 1513b25) (#510)

* [jslib] Update (1513b25 -> 7c3a9d6) (#516)

* update jslib (1513b25 -> 7c3a9d6)

* Updated call to constructor super

* [SSO] Added SSO flows & functionality (#513)

* update jslib

* bump version

* Added sso button (wip)

* Added sso & change password // Added modules/routes // Added strings for localization

* Added password strength comp // reverted login route

* Updated sso component to send client id // added routing for sso // added crypto function to services module provider list

* Added deep linking

* First round of UI updates // Added sso browser launching // Added missing strings

* Updated UI and added missing strings

* Removed extra change password style

* Let constructor for WindowMain handle default width/height

* Prepared for jslib update

* Update jslib (1513b25 -> 7c3a9d6)

* Update login super

* Added params for launchSsoBrowser function

* Update jslib (7c3a9d6 -> 4203937)

* Added missing strings, removed unnecessary class param

* Upgrade TypeScript (#517)

* Updated password score // Update styles

* Removed password-strength component files

* Cleaned up module class // Fixed UL/LI formatting issues

* Use exisiting loading string // removed new string

* Update jslib (4203937 -> 9957125)

* Updated class to perform new submit actions

* Upgrade Angular (#520)

* di resolution for CryptoFunctionServiceAbstraction

* Update jslib (9957125 -> 5d874d0) (#521)

* Updated change password flow to match web

* Updated callout style

Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com>
Co-authored-by: Oscar Hinton <hinton.oscar@gmail.com>

Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com>
Co-authored-by: Oscar Hinton <hinton.oscar@gmail.com>
2020-08-21 09:50:36 -04:00
Kyle Spearrin 3f75413552 di resolution for CryptoFunctionServiceAbstraction 2020-08-19 10:03:14 -04:00
Oscar Hinton 26b023a3cb
Biometric support (#470)
* 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
2020-07-23 13:32:36 -04:00
Vincent Salucci 93e7e9d261
Update jslib (28e3fff -> 72e3893) (#427)
* Update jslib (28e3fff -> 72e3893)

* Update lock description

* Update vaultTimeoutService init

Co-authored-by: Vincent Salucci <vsalucci@bitwarden.com>
2020-04-06 13:00:10 -05:00
Vincent Salucci c1113852a4
[Auto-Logout] Implement Vault Timeout Options (#424)
* Update jslib (31a2574 -> 28e3fff)

* Initial commit of vault timeout implentation

Co-authored-by: Vincent Salucci <vsalucci@bitwarden.com>
2020-04-01 10:18:36 -05:00
Vincent Salucci 828d5ea911
Enforce password generator policy options in the UI (#393) 2020-02-27 12:13:55 -06:00