1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-02 08:40:08 +01:00
bitwarden-browser/apps/desktop
Matt Gibson c70a5aa024
[PM-6688] Use AccountService as account source (#8893)
* Use account service to track accounts and active account

* Remove state service active account Observables.

* Add email verified to account service

* Do not store account info on logged out accounts

* Add account activity tracking to account service

* Use last account activity from account service

* migrate or replicate account service data

* Add `AccountActivityService` that handles storing account last active data

* Move active and next active user to account service

* Remove authenticated accounts from state object

* Fold account activity into account service

* Fix builds

* Fix desktop app switch

* Fix logging out non active user

* Expand helper to handle new authenticated accounts location

* Prefer view observable to tons of async pipes

* Fix `npm run test:types`

* Correct user activity sorting test

* Be more precise about log out messaging

* Fix dev compare errors

All stored values are serializable, the next step wasn't necessary and was erroring on some types that lack `toString`.

* If the account in unlocked on load of lock component, navigate away from lock screen

* Handle no users case for auth service statuses

* Specify account to switch to

* Filter active account out of inactive accounts

* Prefer constructor init

* Improve comparator

* Use helper methods internally

* Fixup component tests

* Clarify name

* Ensure accounts object has only valid userIds

* Capitalize const values

* Prefer descriptive, single-responsibility guards

* Update libs/common/src/state-migrations/migrate.ts

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

* Fix merge

* Add user Id validation

activity for undefined was being set, which was resulting in requests for the auth status of `"undefined"` (string) userId, due to key enumeration. These changes stop that at both locations, as well as account add for good measure.

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2024-04-30 09:13:02 -04:00
..
.vscode
config [SM-1031] Remove SecretsManager & showDDG compile flags (#8610) 2024-04-08 17:46:24 +02:00
desktop_native [deps] Platform: Update Rust crate thiserror to v1.0.58 (#8187) 2024-04-09 09:53:46 +02:00
native-messaging-test-runner [deps] Auth: Update @types/node-ipc to v9.2.3 (#7248) 2024-04-23 15:21:25 -07:00
resources
scripts [deps] Autofill: Update prettier to v3 (#7014) 2023-11-29 16:15:20 -05:00
src [PM-6688] Use AccountService as account source (#8893) 2024-04-30 09:13:02 -04:00
stores Update all instances of copyright with 2023 to 2024 (#7396) 2023-12-29 15:28:14 +00:00
.eslintrc.json
.gitignore
crowdin.yml
electron-builder.json [PM-7349] Update snap description with new URL to help docs (#8703) 2024-04-23 09:18:49 -04:00
installer.nsh
jest.config.js [PM-5537] Biometric State Service (#7761) 2024-02-05 13:02:28 -05:00
package.json Bumped browser,cli,desktop,web version to (#8875) 2024-04-23 11:32:09 +00:00
postcss.config.js
README.md
sign.js [deps] Autofill: Update prettier to v3 (#7014) 2023-11-29 16:15:20 -05:00
tailwind.config.js
test.setup.ts
tsconfig.json [PM-6780][PM-6781] Create vault-export-ui package / Migrate export-scope-callout.component to CL (#8318) 2024-03-20 22:11:57 +00:00
tsconfig.renderer.json
tsconfig.spec.json
webpack.main.js Remove clean-webpack-plugin (#8240) 2024-03-12 18:02:47 +01:00
webpack.preload.js Remove clean-webpack-plugin (#8240) 2024-03-12 18:02:47 +01:00
webpack.renderer.js [PM-5979] Refactor EnvironmentService (#8040) 2024-03-21 09:09:44 -07:00

Github Workflow build on master Crowdin Join the chat at https://gitter.im/bitwarden/Lobby

Bitwarden Desktop Application

Platforms

The Bitwarden desktop app is written using Electron and Angular. The application installs on Windows, macOS, and Linux distributions.

Desktop Vault

Documentation

Please refer to the Desktop section of the Contributing Documentation for build instructions, recommended tooling, code style tips, and lots of other great information to get you started.