1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-07-07 12:25:46 +02:00
The browser extension vault (Chrome, Firefox, Opera, Edge, Safari, & more).
Go to file
Matt Gibson 7fbfce953d
[PS-1854] Split services between background and visualizations (#4075)
* Elevate Map <-> Record JSON helpers to Utils

* Build Account from a StateService provided AccountDeserializer

* Allow Manifest V2 usage of session sync

Expands use of SessionSyncer to all Subject types. Correctly handles
replay buffer for each type to ignore the flood of data upon
subscription to each Subject type.

* Create browser-synced Policy Service

* Move BrowserFolderService

* Libs account serialization improvements

* Serialize Browser Accounts

* Separate StateService in background/visualizations

Visualizer state services share storages with background page, which
nicely emulates mv3 synchronization through session/local storage. There
should not be multithreading issues since all of these services are
still running through a single thread, we just now have multiple places
we are reading/writing data from.

Smaller improvements
* Rename browser's state service to BrowserStateService
* Remove unused WithPrototype decorator :celebrate:
* Removed conversion on withPrototypeForArrayMembers. It's reasonable to
think that if the type is maintained, it doesn't need conversion.

Eventually, we should be able to remove the withPrototypeForArrayMembers
decorator as well, but that will require a bit more work on
(de)serialization of the Accounts.data property.

* Make Record <-> Map idempotent

Should we get in a situation where we _think_ an object has been
jsonified, but hasn't been, we need to correctly deal with the object
received to create our target.

* Check all requirements while duck typing

* Name client services after the client

* Use union type to limit initialize options

* Fixup usages of `initializeAs`

* Add OrganizationService to synced services

Co-Authored-By: Daniel James Smith <djsmith85@users.noreply.github.com>

* Add Settings service to synced services

Co-Authored-By: Daniel James Smith <djsmith85@users.noreply.github.com>

* Add missing BrowserStateService

* Fix factories to use browser-specific service overides

* Fix org-service registration in services.module

* Revert "Add missing BrowserStateService"

This reverts commit 81cf384e87.

* Fix session syncer tests

* Fix synced item metadata tests

* Early return null json objects

* Prefer abstract service dependencies

* Prefer minimal browser service overrides

* [SG-632] - Change forwarded providers radio buttons list to dropdown (#4045)

* SG-632 - Changed forwarded providers list of radio buttons to dropdown

* SG-632 - Added role attributes to improve accessibility.

* SG-632 - Added sorting to array and empty option

* SG-632 - Fix styling to match standards.

* rename cipehrs component to vault items component (#4081)

* Update the version hash for the QA Web build artifact to follow SemVer syntax (#4102)

* Remove extra call to toJSON() (#4101)

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith@web.de>
Co-authored-by: Carlos Gonçalves <carlosmaccam@gmail.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Joseph Flinn <58369717+joseph-flinn@users.noreply.github.com>
Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
2022-11-23 16:26:57 -06:00
.github Update the version hash for the QA Web build artifact to follow SemVer syntax (#4102) 2022-11-22 06:29:59 -08:00
.husky Make husky hook executable (#2900) 2022-06-14 07:26:50 +02:00
.storybook Disable Angular Usage Analytics & Storybook Telemetry (#3903) 2022-10-27 12:22:33 -04:00
.vscode Add eslint-plugin-rxjs & rxjs-angular (#3373) 2022-08-26 18:09:28 +02:00
apps [PS-1854] Split services between background and visualizations (#4075) 2022-11-23 16:26:57 -06:00
bitwarden_license [EC-449] Event log user for SCIM events (#3643) 2022-11-09 12:13:37 +00:00
libs [PS-1854] Split services between background and visualizations (#4075) 2022-11-23 16:26:57 -06:00
.editorconfig Add support for migrated jslib (#2826) 2022-06-03 18:01:07 +02:00
.eslintignore Tell eslint & prettier to ignore storybook-static (#3946) 2022-11-02 11:07:34 +01:00
.eslintrc.json [EC-522] Improve handling of rxjs subjects (#3772) 2022-11-01 11:25:46 +01:00
.git-blame-ignore-revs Add support for migrated jslib (#2826) 2022-06-03 18:01:07 +02:00
.gitattributes Apply Prettier (#2238) 2021-12-21 15:43:35 +01:00
.gitignore Minor workspace tweaks (#3636) 2022-09-29 08:01:49 +10:00
.nvmrc [EC-184] Desktop cleanup (#2553) 2022-05-05 19:03:56 +02:00
.prettierignore Tell eslint & prettier to ignore storybook-static (#3946) 2022-11-02 11:07:34 +01:00
.prettierrc.json [EC-183] Move eslint and prettier to project root (#2536) 2022-05-03 21:45:37 +02:00
angular.json Disable Angular Usage Analytics & Storybook Telemetry (#3903) 2022-10-27 12:22:33 -04:00
clients.code-workspace Minor workspace tweaks (#3636) 2022-09-29 08:01:49 +10:00
CONTRIBUTING.md Update README and CONTRIBUTING to point to contributing.bitwarden.com (#2771) 2022-06-13 17:34:07 +10:00
jest.config.js [SG-397] Configure jest for Desktop and add simple tests (#3467) 2022-09-15 12:31:15 -04:00
LICENSE_BITWARDEN.txt Update LICENSE_BITWARDEN.txt (#3505) 2022-09-13 09:04:36 -04:00
LICENSE_GPL.txt Prepare bitwarden_license directory (#2663) 2022-05-09 17:50:15 +02:00
LICENSE.txt Prepare bitwarden_license directory (#2663) 2022-05-09 17:50:15 +02:00
package-lock.json [SM-327] Electron hard reset (#3988) 2022-11-10 15:06:08 +01:00
package.json [SM-327] Electron hard reset (#3988) 2022-11-10 15:06:08 +01:00
README.md Fix GitHub build badges (#3363) 2022-08-23 19:04:15 +02:00
SECURITY.md Revise language on SECURITY.md 2022-03-15 15:39:14 -04:00
tailwind.config.js [SM-108] Refactor Reports - Add storybook stories (#3204) 2022-08-03 21:40:04 +02:00
tsconfig.eslint.json Add eslint-plugin-rxjs & rxjs-angular (#3373) 2022-08-26 18:09:28 +02:00
tsconfig.json [EC-272] Web workers using EncryptionService (#3532) 2022-10-28 07:38:54 +10:00

Bitwarden

Github Workflow browser build on master Github Workflow CLI build on master Github Workflow desktop build on master Github Workflow web build on master gitter chat


Bitwarden Client Applications

This repository houses all Bitwarden client applications except the Mobile application.

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

We're Hiring!

Interested in contributing in a big way? Consider joining our team! We're hiring for many positions. Please take a look at our Careers page to see what opportunities are currently open as well as what it's like to work at Bitwarden.

Contribute

Code contributions are welcome! Please commit any pull requests against the master branch. Learn more about how to contribute by reading the Contributing Guidelines. Check out the Contributing Documentation for how to get started with your first contribution.

Security audits and feedback are welcome. Please open an issue or email us privately if the report is sensitive in nature. You can read our security policy in the SECURITY.md file.

Migrate PRs from old repositories

We recently migrated from individual client repositories. And some PRs were unfortunately left behind in the old repositories. Luckily it's fairly straightforward to sync them up again. Please follow all the instructions below in order to avoid most merge conflicts.

Desktop

# Merge master
git merge master

# Merge branch mono-repo-prep
git merge 28bc4113b9bbae4dba2b5af14d460764fce79acf

# Verify files are placed in apps/desktop

# Add remote
git remote add clients git@github.com:bitwarden/clients.git

# Merge against clients master
git fetch clients
git merge clients/master

# Push to clients or your own fork

CLI

# Merge master
git merge master

# Merge branch mono-repo-prep
git merge 980429f4bdcb178d8d92d8202cbdacfaa45c917e

# Verify files are placed in apps/cli

# Add remote
git remote add clients git@github.com:bitwarden/clients.git

# Merge against clients master
git fetch clients
git merge clients/master

# Push to clients or your own fork

Web

# Merge master
git merge master

# Merge branch mono-repo-prep
git merge 02fe7159034b04d763a61fcf0200869e3209fa33

# Verify files are placed in apps/web

# Add remote
git remote add clients git@github.com:bitwarden/clients.git

# Merge against clients master
git fetch clients
git merge clients/master

# Push to clients or your own fork

Jslib

# Merge master
git merge master

# Merge branch mono-repo
git merge d7492e3cf320410e74ebd0e0675ab994e64bd01a

# Verify files are placed in libs

# Add remote
git remote add clients git@github.com:bitwarden/clients.git

# Merge against clients master
git fetch clients
git merge clients/master

# Push to clients or your own fork