1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-29 22:53:44 +00:00
Commit Graph

174 Commits

Author SHA1 Message Date
renovate[bot]
33d909b0bb [deps] Platform: Update Rust crate rand to v0.9.2 (#17550)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 14:28:40 +01:00
renovate[bot]
cdeacf2a77 [deps]: Update Rust crate ashpd to v0.12.0 (#16420)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-12-10 17:14:12 +00:00
renovate[bot]
3c6b6eaa56 [deps] Platform: Update Rust crate anyhow to v1.0.100 (#17546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 10:51:02 -06:00
renovate[bot]
0439f60a3b [deps] Platform: Update Rust crate oo7 to v0.5.0 (#16416)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 10:22:35 -06:00
renovate[bot]
852248d5fa [deps] Platform: Update napi to v3 (major) (#16053)
* [deps] Platform: Update napi to v3

* fix: upgrade required dependencies

* fix: deprecated syntax in package.json

* fix: TS code after napi changes

* fix: lint

* fix: floating promise

* fix: libsqlite musl compilation

* feat: remove support for musl

* fix: sorting lint

* fix: logging not working

* fix: pre-emptive fix for passkey autofill

* fix: rust lint

* fix: package-lock

* fix: linux type error

* fix: windows type error

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
2025-12-10 09:43:51 -05:00
renovate[bot]
892f5548d2 [deps] Platform: Update Rust crate bytes to v1.11.0 (#17618)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 15:14:18 +01:00
renovate[bot]
151c2d97f0 [deps]: Update Rust crate tokio to v1.48.0 (#15700)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 14:13:24 +00:00
renovate[bot]
0301e9d1d7 [deps]: Update Rust crate tokio-util to v0.7.17 (#17575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 07:57:58 -06:00
renovate[bot]
22338632be [deps] Platform: Update Rust crate zbus to v5.12.0 (#17035)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 20:57:23 +00:00
renovate[bot]
717cf93cc8 [deps]: Update Rust crate cc to v1.2.49 (#17893)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 20:53:30 +00:00
renovate[bot]
d95dd709b1 [deps]: Update Rust crate thiserror to v2.0.17 (#17574)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 14:44:13 -06:00
renovate[bot]
488a786b86 [deps]: Update Rust crate glob to v0.3.3 (#17573)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 14:35:03 -06:00
renovate[bot]
e03e5f1b2b [deps] Platform: Update Rust crate homedir to v0.3.6 (#17548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-12-09 20:14:00 +00:00
renovate[bot]
c84ebc97da [deps]: Update Rust crate cc to v1.2.48 (#17746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-12-09 20:05:57 +00:00
renovate[bot]
ee582b2ebe [deps] Platform: Update Rust crate sysinfo to v0.37.2 (#15699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-12-09 16:07:01 +00:00
renovate[bot]
b54230ba32 [deps] Platform: Update Rust crate security-framework to v3.5.1 (#17551)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 12:19:19 +00:00
renovate[bot]
ce7521b972 [deps] Platform: Update Rust crate libc to v0.2.178 (#17879)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 06:05:05 -06:00
renovate[bot]
79d518fcf7 [deps]: Update Rust crate mockall to v0.14.0 (#17747)
* [deps]: Update Rust crate mockall to v0.14.0

* fix test cases global expectations

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: neuronull <9162534+neuronull@users.noreply.github.com>
2025-12-01 11:47:32 -07:00
renovate[bot]
d7dcdf2f03 [deps] Tools: Update Rust crate clap to v4.5.53 (#17702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 09:50:15 -06:00
renovate[bot]
3a4eec38a1 [deps] Platform: Update Rust crate arboard to v3.6.1 (#17547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-11-24 15:38:40 +00:00
renovate[bot]
e9f67f4fd6 [deps]: Update Rust crate cc to v1.2.46 (#17571)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2025-11-21 13:57:31 +01:00
renovate[bot]
87e49c174c [deps] Platform: Update Rust crate libc to v0.2.177 (#17549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2025-11-21 13:56:54 +01:00
renovate[bot]
f6eb0f642e [deps]: Update Rust crate clap to v4.5.51 (#17572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 11:52:51 +01:00
renovate[bot]
678e5193ca [deps]: Update Rust crate async-trait to v0.1.89 (#17570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 11:32:36 +01:00
neuronull
db16c201b8 Align Desktop Native's Rust CI checks with SDK (#17261)
* clean crate deps

* update lint workflow

* add rustfmt.toml

* apply rust fmt

* missed one

* fix lint of lint lol

* more deps platform fixes

* fix macos_provider

* some more deps clean

* more cleanup

* add --all-targets

* remove another unused dep

* generate index.d.ts

* fix whitespace

* fix split comment in biometric

* formatting comment in biometric_v2

* apply fmt
2025-11-19 15:07:57 +00:00
renovate[bot]
9c2da604b1 [deps] Platform: Update Rust crate typenum to v1.19.0 (#16845)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2025-11-13 18:37:18 +01:00
Oscar Hinton
78d1eb9bed Replace dbg_log with tracing::debug (#17251)
We already configure tracing to only be enabled in debug so there is no need to wrap it with a macro
2025-11-06 15:48:19 +01:00
Dmitry Yakimenko
5c2215401c [PM-27786] Chrome application bound encryption v3 support (#17205)
* Update cargo.lock on windows

* Move ABE key decoding to helper.exe

* Safe slice operations (no panics)

* Refactor CNG code a bit

* Refactor CNG code a bit more

* Update README to match the new flow

* DRY up v1 and v2 decryption

* Remove all the crates and windows features that are not needed

* helper.exe split into a bunch of files

* Refator mod windows

* Minor cleanup

---------

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2025-11-06 10:20:23 +01:00
neuronull
9803cc98b4 Desktop Native remove log deps (#17135) 2025-11-04 07:35:34 -07:00
neuronull
2b1dbb935f Desktop native disallow log crate macros (#17163) 2025-11-03 07:36:40 -07:00
Oscar Hinton
4c1eba2086 [PM-27583] Add icon to chromium import helper (#17126)
Adds an icon to the windows binary.

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-10-31 10:10:22 +01:00
Dmitry Yakimenko
dcf8c1d83b [PM-25855][PM-24948][PM-24947] Chromium import functionality with application bound encryption on Windows (#16429)
Adds application bound encryption in order to support chrome imports on windows.

---------

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: adudek-bw <adudek@bitwarden.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-10-30 13:18:30 +01:00
Oscar Hinton
42377a1533 [PM-27341] Chrome importer refactors (#16720)
Various refactors to the chrome importer
2025-10-27 17:24:50 +01:00
renovate[bot]
e8db35907d [deps] Platform: Update Rust crate windows-registry to v0.6.1 (#16419)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-27 10:59:16 +01:00
neuronull
2c13236550 Add desktop autotype unittests for windows (#16710)
* Add desktop autotype unittests for windows

* lint

* fix TODO comment

* feedback coltonhurst: rename trait
2025-10-23 12:42:48 -04:00
Bernd Schoolmann
7f86f2d0ac [PM-26340] Implement encrypted memory store (#16659)
* Extract windows biometrics v2 changes

Co-authored-by: Bernd Schoolmann <mail@quexten.com>

* Address some code review feedback

* cargo fmt

* rely on zeroizing allocator

* Handle TDE edge cases

* Update windows default

* Make windows rust code async and fix restoring focus freezes

* fix formatting

* cleanup native logging

* Add unit test coverage

* Add missing logic to edge case for PIN disable.

* Address code review feedback

* fix test

* code review changes

* fix clippy warning

* Swap to unimplemented on each method

* Implement encrypted memory store

* Make dpapi secure key container pub(super)

* Add comments on sync and send

* Clean up comments

* Clean up

* Fix build

* Add logging and update codeowners

* Run cargo fmt

* Clean up doc

* fix unit tests

* Update apps/desktop/desktop_native/core/src/secure_memory/secure_key/mod.rs

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Handle tampering with re-key and log

* Add docs

* Fix windows build

* Prevent rust flycheck log from being commited to git

* Undo feature flag change

* Add env var override and docs

* Add deps to km owership

---------

Co-authored-by: Thomas Avery <tavery@bitwarden.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-10-23 14:04:25 +02:00
neuronull
8370f43aae [BEEEP] Add println clippy lints for desktop_native. (#16761)
* [BEEEP] Add println clippy lints for `desktop_native`.

* remaining stray printlns
2025-10-21 07:38:39 -06:00
Thomas Avery
f65e5d52c2 [PM-25373] Windows native biometric rewrite (#16432)
* Extract windows biometrics v2 changes

Co-authored-by: Bernd Schoolmann <mail@quexten.com>

* Handle TDE edge cases

* Make windows rust code async and fix restoring focus freezes

* Add unit test coverage

---------

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2025-10-20 14:47:15 -05:00
neuronull
44ce303181 [BEEEP] Use tracing in macOS provider (#16729)
* [BEEEP] Use tracing in macOS provider

* set log level filter to INFO

* only call global subscribe once
2025-10-20 08:20:15 -06:00
neuronull
9c0aaf3cab [BEEEP] Use tracing in desktop_proxy (#16758) 2025-10-17 11:36:30 -06:00
adudek-bw
7015663c38 [PM-25521] Move importer metadata to native code (#16695)
* Add importer metadata to native code

* Impl napi code in ts

* Impl napi code in ts

* Fix clippy

* Fix clippy

* remove ts util tests

* Check for installed browsers

* PR fixes

* test fix

* fix clippy

* fix tests

* Bug fix

* clippy fix

* Correct tests

* fix clippy

* fix clippy

* Correct tests

* Correct tests

* [PM-25521] Wire up loading metadata on desktop (#16813)

* Initial commit

* Fix issues regarding now unused feature flag

* Fixed ts-strict issues

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: adudek-bw <adudek@bitwarden.com>

* Remove logic to skip Brave as that now happens via the native code

* Define default capabilities which can be overwritten by specifc client/platform

* Fix DI issues

* Do not overwrite existing importers, just add new ones or update existing ones

* feat: [PM-25521] return metadata directly (not as JSON) (#16882)

* feat: return metadata directly (not as JSON)

* Fix broken builds

Move getMetaData into chromium_importer
Remove chromium_importer_metadata and any related service
Parse object from native instead of json

* Run cargo fmt

* Fix cargo dependency sort order

* Use exposed type from NAPI instead of redefining it.

* Run cargo fmt

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>

* Only enable chromium loader for installed and supported browsers

---------

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
2025-10-17 15:46:10 +02:00
Bernd Schoolmann
a7242a1186 [BEEEP|PM-25164] Prevent memory dumping on renderer on Linux (#16136)
* Implement libmemory_security

* Cleanup and add script

* Remove duplicate build for flatpak

* Rename to process isolation

* Move to desktop native

* Undo changes in gitignore

* Remove after-pack changes

* Run cargo fmt

* Sort deps

* Attempt to fix windows build

* Update apps/desktop/desktop_native/process_isolation/Cargo.toml

Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>

* Revert "Remove after-pack changes"

This reverts commit c441025587.

* Fix lib process isolation not being included in build

* Fix build

* Attempt to fix build

* Attempt to fix build

* Undo

* Fix library not being included

---------

Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2025-10-13 15:06:41 +02:00
neuronull
c2fbd3eb7e More robust error handling for desktop autotype windows implementation (#16501)
* Desktop autotype windows error handling

* create a subdir

* extract window handle to separate file

* remove println in case tracing doesn't make it in

* touchups

* reduce scope of unsafe call

* use tracing

* Fix comparison on GetLastError result

* Remove the WindowHandle wrapper and save it for the unit testing PR

* restore apps/browser/src/platform/system-notifications/browser-system-notification.service.ts

* use the human readable message for GetLastError debug

* don't call GetLastError outside of error path

* add some more debug statements

* feedback coltonhorst: nits, fix false positive when len zero, re-add handle validation

* lint

* feedback coltonhurst: add comments and update var names
2025-09-30 22:22:30 +00:00
adudek-bw
f66413e653 Upgrade rusqlite to 0.37.0 (#16530) 2025-09-25 16:54:57 +02:00
neuronull
3f14fdc62d [BEEEP][PM-255518] Use tracing for improved observability (#16321)
* [BEEEP][PM-255518] Use tracing for improved observability

* feedback dani-garcia: use DefaultVisitor

* set default log level

* convert printlns in objc crate

* convert printlns in autotype crate

* convert printlns in autostart crate

* convert printlns in core/password crate

* convert printlns in core/biometric crate

* convert printlns in napi crate

* convert log usage in macos provider crate

* convert existing log macros to tracing

* fix the cargo.toml sort lint errors

* Revert "fix the cargo.toml sort lint errors"

This reverts commit fd149ab697.

* fix the sort lint using correct cargo sort version

* feedback coltonhurst: more comments/clarity on behavior

* revert changes to ssh_agent
2025-09-22 09:56:23 -06:00
renovate[bot]
fb2fe703a2 [deps] Platform: Update Rust crate zbus to v5.11.0 (#15289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 14:11:08 +02:00
renovate[bot]
7b248fb481 [deps] Platform: Update macOS/iOS bindings (#12971)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 14:10:47 +02:00
Bernd Schoolmann
ea1c3252e8 [BEEEP | PM-25358] Add process isolation on windows and mac desktop main process (#16156)
* Prevent memory dumping and debugger on windows and mac main process

* Fix clippy

* Only isolate process when isdev is false

* Clean up

* Add backticks around link
2025-09-04 21:40:25 +02:00
Daniel James Smith
66f5700a75 [PM-24748][PM-24072] Chromium importer (#16100)
* Add importer dummy lib, add cargo deps for win/mac

* Add Chromium importer source from bitwarden/password-access

* Mod crypto is no more

* Expose some Chromium importer functions via NAPI, replace home with home_dir crate

* Add Chromium importer to the main <-> renderer IPC, export all functions from Rust

* Add password and notes fields to the imported logins

* Fix windows to use homedir instead of home

* Return success/failure results

* Import from account logins and join

* Linux v10 support

* Use mod util on Windows

* Use mod util on macOS

* Refactor to move shared code into chromium.rs

* Fix windows

* Fix Linux as well

* Linux v11 support for Chrome/Gnome, everything is async now

* Support multiple browsers on Linux v11

* Move oo7 to Linux

* Fix Windows

* Fix macOS

* Add support for Brave browser in Linux configuration

* Add support for Opera browser in Linux configuration

* Fix Edge and add Arc on macOS

* Add Opera on macOS

* Add support for Vivaldi browser in macOS configuration

* Add support for Chromium browser in macOS configuration

* Fix Edge on Windows

* Add Opera on Windows

* Add Vivaldi on windows

* Add Chromium to supported browsers on Windows

* stub out UI options for chromium direct import

* call IPC funcs from import-desktop

* add notes to chrome csv importer

* remove (csv) from import tool names and format item names as hostnames

* Add ABE/v20 encryption support

* ABE/v20 architecture description

* Add a build step to produce admin.exe and service.exe

* Add Windows v20/ABE configuration functionality to specify the full path to the admin.exe and service.exe. Use ipc.platform.chromiumImporter.configureWindowsCryptoService to configure the Chromium importer on Windows.

* rename ARCHITECTURE.md to README.md

* aligns with guidance from architecture re: in-repository documentation.
* also fixes a failing lint.

* cargo fmt

* cargo clippy fix

* Declare feature flag for using chromium importer

* Linter fix after executing npm run prettier

* Use feature flag to guard the use of the chromium importer

* Added temporary logging to further debug, why the Angular change detection isn't working as expected

* introduce importer metadata; host metadata from service; includes tests

* fix cli build

* Register autotype module in lib.rs
introduce by a bad merge

* Fix web build

* Fix issue with loaders being undefined and the feature flag turned off

* Add missing Chromium support when selecting chromecsv

* debugging

* remove chromium support from chromecsv metadata

* fix default loader selection

* [PM-24753] cargo lib file (#16090)

* Add new modules

* Fix chromium importer

* Fix compile bugs for toolchain

* remove importer folder

* remove IPC code

* undo setting change

* clippy fixes

* cargo fmt

* clippy fixes

* clippy fixes

* clippy fixes

* clippy fixes

* lint fix

* fix release build

* Add files in CODEOWNERS

* Create tools owned preload.ts

* Move chromium-importer.service under tools-ownership

* Fix typeError
When accessing the Chromium direct import options the file button is hidden, so trying to access it's values will fail

* Fix tools owned preload

* Remove dead code and redundant truncation

* Remove configureWindowsCryptoService function/methods

* Clean up cargo files

* Fix unused async

* Update apps/desktop/desktop_native/bitwarden_chromium_importer/Cargo.toml

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Fix napi deps

* fix lints

* format

* fix linux lint

* fix windows lints

* format

* fix missing `?`

* fix a different missing `?`

---------

Co-authored-by: Dmitry Yakimenko <detunized@gmail.com>
Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by:  Audrey  <ajensen@bitwarden.com>
Co-authored-by:  Audrey  <audrey@audreyality.com>
Co-authored-by: adudek-bw <adudek@bitwarden.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2025-09-04 11:21:57 +02:00
Colton Hurst
8811ec41ab [PM-22788] Add Autotype Crate and Windowing Functions (#15317)
* [PM-22783] Add initial feature flag and settings toggle for autotype MVP

* [PM-22783] Undo Cargo.lock changes

* [PM-22783] Disable console.log block

* [PM-22783] Lint fix

* [PM-22783] Small updates

* [PM-22783] Build fix

* [PM-22783] Use combineLatest in updating the desktop autotype service

* [PM-22783] Check if the user is on Windows

* [PM-22783] Undo access selector html change, linting keeps removing this

* [PM-22783] Fix failing test

* [PM-22788] Add initial desktop native autotype crate based on spike ticket investigation

* [PM-22788] cargo fmt

* [PM-22783] Update autotypeEnabled to be stored in service

* [PM-22783] Add todo comments

* [PM-22783] Add SlimConfigService and MainDesktopAutotypeService

* [PM-22783] Small fixes

* [PM-22788] Add get_foreground_window_title() and cleanup

* [PM-22788] Add comment

* [PM-22788] Lint and cross platform build fixes

* [PM-22788] Update windows.rs in autotype_internal

* [PM-22788] Update windows.rs and dummy.rs in autotype_internal

* [PM-22788] cargo fmt

* [PM-22788] Edit napi result types

* [PM-22788] Edit napi result types again

* [PM-22788] Add autofill as a codeowner of the desktop_native/autotype directory

* [PM-22788] Refactor autotype code

* [PM-22788] Move autotype dependency out of windows only due to abstraction change

* [PM-22788] Fix lint errors

* [PM-22788] Updates based on PR comments

* [PM-22788] cargo fmt
2025-07-18 10:30:19 -04:00