24c240d0d4
* Allow for update logic in state update callbacks * Prefer reading updates to sending in stream * Inform state providers when they must deserialize * Update DefaultGlobalState to act more like DefaultUserState * Fully Implement AbstractStorageService * Add KeyDefinitionOptions * Address PR feedback * Prefer testing interactions for ports * Synced memory storage for browser * Fix port handling * Do not stringify port message data * Use messaging storage * Initialize new foreground memory storage services This will need to be rethought for short-lived background pages, but for now the background is the source of truth for memory storage * Use global state for account service * Use BrowserApi listener to avoid safari memory leaks * Fix build errors: debugging and missed impls * Prefer bound arrow functions * JSON Stringify Messages * Prefer `useClass` * Use noop services * extract storage observable to new interface This also reverts changes for the existing services to use foreground/background services. Those are now used only in state providers * Fix web DI * Prefer initializing observable in constructor * Do not use jsonify as equality operator * Remove port listener to avoid memory leaks * Fix logic and type issues --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> |
||
---|---|---|
.. | ||
.vscode | ||
config | ||
desktop_native | ||
native-messaging-test-runner | ||
resources | ||
scripts | ||
src | ||
stores | ||
.eslintrc.json | ||
.gitignore | ||
README.md | ||
crowdin.yml | ||
electron-builder.json | ||
installer.nsh | ||
jest.config.js | ||
package.json | ||
postcss.config.js | ||
sign.js | ||
tailwind.config.js | ||
test.setup.ts | ||
tsconfig.json | ||
tsconfig.renderer.json | ||
tsconfig.spec.json | ||
webpack.main.js | ||
webpack.preload.js | ||
webpack.renderer.js |
README.md
Bitwarden Desktop Application
The Bitwarden desktop app is written using Electron and Angular. The application installs on Windows, macOS, and Linux distributions.
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.