1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-22 11:45:59 +01:00
bitwarden-browser/apps/desktop
Robyn MacCallum 8c12ba20cb
[Feature] End User Vault Refresh (#2545)
* Initial org filter work

* update jslib

* Move filter to below cipher length check

* don't show vault filter in personal or org folder

* Use family icon for families org

* jslib and auth guard updates

* lint fixes

* rename GroupingsComponent to VaultFilterComponent

* fix no folder showing all items

* Add checks for PersonalOwnership policy

* update css class names

* lint fixes

* cleanup

* Some final cleanup

* import order lint fix

* remove unused import

* Use smaller icon for chevron

* Update src/popup/vault/organization-filter.component.ts

Co-authored-by: Addison Beck <addisonbeck1@gmail.com>

* Update src/popup/vault/organization-filter.component.ts

Co-authored-by: Addison Beck <addisonbeck1@gmail.com>

* fix lint error

* remove extra localizations

* rename orgFilter -> vaultSelect

* Rename orgFilterService to VaultSelectService

* lint fixes

* combine vault select service with vault filter service

* Use base vault filter service methods

* Use VaultFilter model and other small fixes

* lint fixes

* Final restructuring pass

* Update jslib and remove extra function

* Remove extra imports

* remove space

* Remove vaultFilterService from background services

* Update jslib to latest on feature branch

* merge fix

* update jslib

* [feat] Implement EUVR for desktop

Should contain only https://github.com/bitwarden/desktop/pull/1487, with merge resolutions and style fixes

* [fix] Delete unused GroupingsComponentTemplate

* [dep] Update jslib

Co-authored-by: Addison Beck <addisonbeck1@gmail.com>
2022-05-09 08:19:18 -04:00
..
.vscode Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
desktop_native Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
jslib@141ade3c38 [Feature] End User Vault Refresh (#2545) 2022-05-09 08:19:18 -04:00
resources Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
scripts Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
src [Feature] End User Vault Refresh (#2545) 2022-05-09 08:19:18 -04:00
stores Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
.eslintrc.json [EC-184] Desktop cleanup (#2553) 2022-05-05 19:03:56 +02:00
.gitignore Add instructions on how to migrate desktop PRs (#2636) 2022-05-05 21:59:17 +02:00
crowdin.yml Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
electron-builder.json Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
package-lock.json [EC-184] Desktop cleanup (#2553) 2022-05-05 19:03:56 +02:00
package.json [EC-184] Desktop cleanup (#2553) 2022-05-05 19:03:56 +02:00
README.md [EC-184] Desktop cleanup (#2553) 2022-05-05 19:03:56 +02:00
SECURITY.md Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
sign.js Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
tsconfig.json Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
tsconfig.renderer.json Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
webpack.main.js Move desktop into apps/desktop 2022-05-05 17:20:34 +02:00
webpack.renderer.js Move desktop into apps/desktop 2022-05-05 17:20:34 +02: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

Build/Run

Requirements

  • Node.js v16.13.1 (LTS) or greater
  • NPM v8
  • Windows:
    • To compile the native node modules used in the app you will need the Visual C++ toolset, available through the standard Visual Studio installer. You will also need to install the Microsoft Build Tools 2015 and Windows 10 SDK 17134 as additional dependencies in the Visual Studio installer.
  • Linux:
    • The following packages build-essential libsecret-1-dev libglib2.0-dev

Run the app

npm ci
npm run electron

Debug Native Messaging

Native Messaging (communication with the browser extension) works by having the browser start a lightweight proxy application baked into our desktop binary. To setup an environment which allows for easy debugging you will need to build the application for distribution, i.e. npm run dist:<platform>, start the dist version and enable desktop integration. This will write some manifests to disk, Consult the native manifests documentation for more details of the manifest format, and the exact locations for the different platforms. Note that disabling the desktop integration will delete the manifests, and the files will need to be updated again.

The generated manifests are pre-configured with the production ID for the browser extensions. In order to use them with the development builds, the browser extension ID of the development build needs to be added to the allowed_extensions section of the manifest. These IDs are generated by the browser, and can be found in the extension settings within the browser.

It will then be possible to run the desktop application as usual using npm run electron and communicate with the browser.