1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-12-11 14:48:46 +01:00
bitwarden-browser/apps/desktop
Andreas Coroiu f16bfa4cd2
[PM-9035] desktop build logic to provide credentials to os on sync (#10181)
* feat: scaffold desktop_objc

* feat: rename fido2 to autofill

* feat: scaffold electron autofill

* feat: auto call hello world on init

* feat: scaffold call to basic objc function

* feat: simple log that checks if autofill is enabled

* feat: adding some availability guards

* feat: scaffold services and allow calls from inspector

* feat: create custom type for returning strings across rust/objc boundary

* chore: clean up comments

* feat: enable ARC

* feat: add util function `c_string_to_nsstring`

* chore: refactor and rename to `run_command`

* feat: add try-catch around command execution

* feat: properly implement command calling

Add static typing. Add proper error handling.

* feat: add autoreleasepool to avoid memory leaks

* chore: change objc names to camelCase

* fix: error returning

* feat: extract some helper functions into utils class

* feat: scaffold status command

* feat: implement status command

* feat: implement password credential mapping

* wip: implement sync command

This crashes because we are not properly handling the fact that `saveCredentialIdentities` uses callbacks, resulting in a race condition where we try to access a variable (result) that has already gotten dealloc'd.

* feat: first version of callback

* feat: make run_command async

* feat: functioning callback returns

* chore: refactor to make objc code easier to read and use

* feat: refactor everything to use new callback return method

* feat: re-implement status command with callback

* fix: warning about CommandContext not being FFI-safe

* feat: implement sync command using callbacks

* feat: implement manual password credential sync

* feat: add auto syncing

* docs: add todo

* feat: add support for passkeys

* chore: move desktop autofill service to init service

* feat: auto-add all .m files to builder

* fix: native build on unix and windows

* fix: unused compiler warnings

* fix: napi type exports

* feat: add corresponding dist command

* feat: comment signing profile until we fix signing

* fix: build breaking on non-macOS platforms

* chore: cargo lock update

* chore: revert accidental version change

* feat: put sync behind feature flag

* chore: put files in autofill folder

* fix: obj-c code not recompiling on changes

* feat: add `namespace` to commands

* fix: linting complaining about flag

* feat: add autofill as owner of their objc code

* chore: make autofill owner of run_command in core crate

* fix: re-add napi annotation

* fix: remove dev bypass
2024-12-06 16:31:30 +01:00
..
.vscode Multi root workspace tweaks (#2858) 2022-06-13 21:39:36 -05:00
config [PM-11290] Enable SDK (#11378) 2024-10-07 13:56:02 +02:00
desktop_native [PM-9035] desktop build logic to provide credentials to os on sync (#10181) 2024-12-06 16:31:30 +01:00
macos [PM-9035] desktop build logic to provide credentials to os on sync (#10181) 2024-12-06 16:31:30 +01:00
native-messaging-test-runner [deps] Platform: Update @types/node to v22.9.3 (#12127) 2024-11-25 11:21:29 -05:00
resources revert: recent changes to build-desktop.yml and entitlements (#11991) 2024-11-14 11:42:10 +01:00
scripts [PM-9035] desktop build logic to provide credentials to os on sync (#10181) 2024-12-06 16:31:30 +01:00
src [PM-9035] desktop build logic to provide credentials to os on sync (#10181) 2024-12-06 16:31:30 +01:00
stores Update all instances of copyright with 2023 to 2024 (#7396) 2023-12-29 15:28:14 +00:00
.eslintrc.json [EC-184] Desktop cleanup (#2553) 2022-05-05 19:03:56 +02:00
.gitignore [PM-9022] scaffold the extension and build pipeline (#9948) 2024-11-13 15:54:35 +01:00
crowdin.yml Fix Crowdin Pull workflow (#2667) 2022-05-10 10:20:32 -04:00
electron-builder.json [PM-14252] Switch to oo7 and drop libsecret (#11900) 2024-12-04 17:03:34 +01:00
installer.nsh Add NSIS custom installer script for UAC fix on Windows (#2856) 2022-06-08 08:47:10 -04:00
jest.config.js [PM-5537] Biometric State Service (#7761) 2024-02-05 13:02:28 -05:00
package.json [PM-9035] desktop build logic to provide credentials to os on sync (#10181) 2024-12-06 16:31:30 +01:00
postcss.config.js [PM-2237] Add tailwind to desktop & browser (#5326) 2023-07-14 15:03:42 -04:00
README.md Update urls to match the contributing docs (#4192) 2022-12-06 11:20:27 +01:00
sign.js [deps] Autofill: Update prettier to v3 (#7014) 2023-11-29 16:15:20 -05:00
tailwind.config.js Auth/PM-7324 - Registration with Email Verification - Registration Start Component Implementation (#9573) 2024-06-14 11:40:56 -04:00
test.setup.ts [SG-397] Configure jest for Desktop and add simple tests (#3467) 2022-09-15 12:31:15 -04:00
tsconfig.json [CL-425] - add tools card component (#11375) 2024-10-11 23:00:45 +02:00
tsconfig.renderer.json Add support for migrated jslib (#2826) 2022-06-03 18:01:07 +02:00
tsconfig.spec.json [SG-397] Configure jest for Desktop and add simple tests (#3467) 2022-09-15 12:31:15 -04:00
webpack.main.js Switch to rustcrypto argon2 on desktop (#11753) 2024-12-04 11:54:55 +00:00
webpack.preload.js Remove clean-webpack-plugin (#8240) 2024-03-12 18:02:47 +01:00
webpack.renderer.js [PM-11766] Introduce SDK client (#10974) 2024-10-07 13:20:50 +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

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.