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

172 Commits

Author SHA1 Message Date
Colton Hurst
423b1cf1df Remove BlockInput (#15913)
* Remove block_input

* Add virtual key code comment
2025-08-06 11:08:48 -04:00
Colton Hurst
fd727ffc39 [PM-22790] Adds SendInput() Functionality to the Autotype Crate (#15751)
* [PM-22790] Adds SendInput() functionality to the autotype crate

* [PM-22790] Fixes unused variable linting errors

* [PM-22790] Updated autotype lib.rs comment
2025-07-28 16:26:48 -04:00
Maciej Zieniuk
167fa9a7ab [PM-18054] Chrome extension biometric unlock not functioning correctly with Windows Hello. (#14953)
* Chrome extension biometric unlock not functioning correctly with Windows Hello.

When unlocking via Windows Hello prompt, the popup have to be in the foreground. If it is not, even for short amount of time (few seconds), if later prompt confirmed, it won't return success when returning signed os key half.

* unit test coverage

* unit test coverage

* exclude test files from build

* use electron `setAlwaysOnTop` instead of toggle

* remove Windows os key half created with derive_key_material biometric function, that prompted Windows Hello.

Moves Windows hello prompt into getBiometricKey.
Witness key no longer needed.

* windows crate formatting

* remove biometric on app start for windows

* failing os biometrics windows unit tests

* cleanup of os biometrics windows unit tests

* increased coverage of os biometrics windows unit tests

* open Windows Hello prompt in the currently focused window, instead of always desktop app

* conflict resolution after merge, typescript lint issues, increased test coverage.

* backwards compatibility when require password on start was disabled

* biometric unlock cancellation and error handling

* biometric settings simplifications
2025-07-21 19:35:31 +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
Bernd Schoolmann
8250e40c6c [PM-22271] Switch to SDK argon2 implementation, and drop other impls (#15401)
* Switch to SDK argon2 implementation

* Cleanup and update to the latest sdk

* Update package lock

* Remove copy patch

* Fix builds

* Fix test build

* Remove error

* Fix tests

* Fix build

* Run prettier

* Remove argon2 references

* Regenerate index.d.ts for desktop_native napi

* Replace mocked crypto function service type
2025-07-15 11:53:58 +02:00
Daniel García
318040233c [PM-23159] Update arboard and enable exclude from history on Linux (#15393) 2025-07-10 19:17:13 +02:00
Bernd Schoolmann
e7d5cde105 [BEEEP/PM-22958] Update russh version, and add sessionbind information (#14602)
* Update russh version, and add sessionbind information

* Cargo fmt

* Clean up to fix lint

* Attempt to fix windows

* Use expect instead of unwrap

* Fix cargo toml
2025-07-09 16:52:47 +02:00
Daniel García
616ac9a3c8 Fix Clippy 1.88 warnings (#15396)
* Fix Clippy 1.88 warnings

* Fmt
2025-07-01 22:36:18 +02:00
Maciej Zieniuk
8fec95671d [PM-22090] Delete password on Windows desktop throws incorrect error (#15070)
* delete password on Windows desktop throws incorrect error

* delete password on Windows desktop throws incorrect error

* napi documentation improvements

* napi documentation update

* better logging verbosity

* desktop native clippy errors

* unit test coverage

* napi TS documentation JS language friendly

* fixing merge conflicts
2025-06-30 12:38:51 +02:00
renovate[bot]
fc9ce266ba [deps] Platform: Update Rust crate bindgen to v0.72.0 (#15287)
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-06-23 12:20:56 +02:00
Bernd Schoolmann
c7dcc32ea7 Remove test keys (#15205) 2025-06-16 14:43:11 +02:00
renovate[bot]
41830ae334 [deps] Platform: Update zbus to v5 (major) (#12312)
* [deps] Platform: Update zbus to v5

* adjust for api changes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: addisonbeck <github@addisonbeck.com>
2025-06-11 15:45:07 -04:00
renovate[bot]
aac4dc6df4 [deps] Platform: Update napi (#14721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
2025-06-09 16:20:13 -04:00
renovate[bot]
4bf1a3b670 [deps] Platform: Update Rust crate bytes to v1.10.1 (#14922)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 07:16:46 -07:00
Bernd Schoolmann
04ed114e0e [BEEEP/PM-8492] Add autostart for flatpak (#12016)
* Add autostart for flatpak via ashpd

* Fix clippy errors

* Cargo fmt

* Fix clippy
2025-05-26 00:30:52 +02:00
renovate[bot]
2e4b310137 [deps] Platform: Pin dependencies (#14446)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 11:04:35 +02:00
renovate[bot]
bc56bc8e37 [deps]: Lock file maintenance (#13866)
* [deps]: Lock file maintenance

* add override for parse5 version to 7.2.1 (7.3.0 has breaking ts changes)

* manual rebuild of package-lock

* fix test event listeners persistence

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2025-05-21 09:29:14 +02:00
Daniel García
a02c230e4d Pin rust toolchain (#14817)
* Pin rust toolchain

* Always install targets in build script

* Delete installed toolchains
2025-05-17 22:17:36 +02:00
Colton Hurst
c0ef307e99 PM-21174: Revert 8de42ca (#14735)
Merging at the request of QA
2025-05-16 15:16:22 -04:00
renovate[bot]
ad7c20febc [deps]: Update Rust crate thiserror to v2 (#13865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-15 13:53:17 -07:00
renovate[bot]
de03e3ef25 [deps]: Update Rust crate tokio to v1.45.0 (#14506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-15 13:22:54 -07:00
renovate[bot]
6e5a1f184e [deps] Platform: Update Rust crate widestring to v1.2.0 (#14488)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 09:30:51 -07:00
renovate[bot]
b611fdfb62 [deps] Platform: Update Rust crate windows-registry to v0.5.1 (#14489)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 08:52:14 -07:00
renovate[bot]
89b9ba21ca [deps] Platform: Update Rust crate arboard to v3.5.0 (#14484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 07:15:06 -07:00
renovate[bot]
1edca39fa2 [deps] Platform: Update Rust crate sysinfo to 0.35.0 (#14265)
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-05-09 17:49:07 +02:00
renovate[bot]
b56cfba5bf [deps] Platform: Update Rust crate rand to v0.9.1 (#13434)
* [deps] Platform: Update Rust crate rand to v0.9.1

* remedy new lint errors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: addisonbeck <github@addisonbeck.com>
2025-05-08 21:04:29 +02:00
renovate[bot]
e6bc43bc8f [deps] Platform: Update Rust crate oo7 to v0.4.3 (#14485)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-08 12:58:49 -04:00
Bernd Schoolmann
a1e975a6ae [BEEEP] Add zeroizing alloc to desktop_native (#14601)
* Add zeroizing alloc

* Cleanup

* Cleanup
2025-05-05 12:45:56 +02:00
renovate[bot]
751169d728 [deps] Platform: Update Rust crate libc to v0.2.172 (#14456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-29 10:03:38 -07:00
renovate[bot]
434852b9b9 [deps] Platform: Update Rust crate pin-project to v1.1.10 (#14458)
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-04-28 11:45:26 +02:00
renovate[bot]
5fc4e32b8f [deps] Platform: Update Rust crate typenum to v1.18.0 (#14486)
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-04-28 11:44:43 +02:00
Colton Hurst
24786a08df [PM-20451] Refactor Windows PA Types (#14366)
* PM-20451: Rename and organize Windows types

* PM-20451: Add comments
2025-04-25 14:42:11 -04:00
Daniel García
9d95f9af03 [PM-20597] Fix linux desktop_native script (#14428)
* Fix linux desktop_native build script

* Add linux variables

* Remove default

* Remove unused import

* Update apps/desktop/desktop_native/build.js

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2025-04-25 18:16:15 +02:00
Colton Hurst
83d7ea6aa3 [PM-20334] Remove Bindgen from Windows Plugin Authenticator (#14328)
* PM-20334: Draft work removing bindgen

* PM-20334: Remove comments and address clippy concerns

* PM-20334: Edit wpa readme and remove .hpp header file
2025-04-21 09:52:53 -04:00
Daniel García
86b0a6aa35 Support for logging from NAPI (#14335)
* Support for log to electron console from NAPI

* Fix test mock
2025-04-21 12:21:00 +02:00
renovate[bot]
8de42caf04 [deps] KM: Update Rust crate rsa to v0.9.8 (#12298)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2025-04-19 18:07:20 +02:00
aj-bw
c7259b4cb1 BRE-536/Add-ARM-targz-builds-for-desktop-and-cli (#14270)
* Test ARM64 build

* Remove sudo

* Change to public preview runner

* Change cache key for architectures

* Test

* Test

* Test

* remove x86 musl target - troubleshooting build error

* native module troubleshooting

* remove cross-platform for testing

* attempt to resolve cross-platform issue

* support more arm64 build types

* fix missed amd to arm update

* missing dependency during env setup

* lxd troubleshooting

* install lxd with snap instead

* electron-builder debug

* simplified script for testing

* testing

* 22.04 to 20.04

* try ubuntu 24.04 runner

* add dist script

* update build command

* troubleshoot 24.04 compatibility

* remove lxd before merging main

* add comment, bump arm runner down to 22.04

* revert to tar.gz support only for this PR

* testing cli arm builds

* fix build target designation

* adjust runner designation

* runner name typo

* not needed currently

* adjust build.js logic and call in workflow

* address styling feedback and unnecessary rust toolchain call

* simplify build cli os matrix

* revert x86 linux builds to cross-platform command for build.js

---------

Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
2025-04-17 08:21:24 -04:00
renovate[bot]
c16534e1e7 [deps]: Update Rust crate tokio to v1.43.1 [SECURITY] (#14170)
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-04-09 18:08:22 +02:00
Colton Hurst
a42868a76d [PM-19253] Add Experimental WebAuthN Functions (#13860)
* PM-9126: Initial scaffolding for com object registration

* PM-9126: Clean Up PACOMObject trait and impl

* PM-9126: Add unsafe tests

* PM-9126: Clean up registration PR with a working CoRegisterClassObject call

* PM-9126: Add AddAuthenticator fn call

* PM-9126: Load AddAuthenticator fn call dynamically

* PM-9126: Add AddAuthenticator experiments

* PR-9126: add brackets around guids

* PM-9126: clean up part 1

* PM-9126: Cleanup changes

* Only call the register function if on Windows

* PM-9126: Block two generated types that create issues for the i686-pc-windows-msvc target

* PM-9126: Refine bindings file

* PM-19253: Add experimental WebAuthN functions

* PM-9126: Address PR comments part 1

* PM-9126: Address PR comments part 2

* PM-9126: Return result in napi layer

* PM-9126: Propogate error from add authenticator call

* PM-9126: Change for version update
2025-04-04 10:10:18 -04:00
Colton Hurst
e23a353543 [PM-9126] COM Object Registration (#13278)
* PM-9126: Initial scaffolding for com object registration

* PM-9126: Clean Up PACOMObject trait and impl

* PM-9126: Add unsafe tests

* PM-9126: Clean up registration PR with a working CoRegisterClassObject call

* PM-9126: Add AddAuthenticator fn call

* PM-9126: Load AddAuthenticator fn call dynamically

* PM-9126: Add AddAuthenticator experiments

* PR-9126: add brackets around guids

* PM-9126: clean up part 1

* PM-9126: Cleanup changes

* Only call the register function if on Windows

* PM-9126: Block two generated types that create issues for the i686-pc-windows-msvc target

* PM-9126: Refine bindings file

* PM-9126: Address PR comments part 1

* PM-9126: Address PR comments part 2

* PM-9126: Return result in napi layer

* PM-9126: Propogate error from add authenticator call

* PM-9126: Change for version update
2025-04-03 17:11:04 -04:00
Colton Hurst
31e455ff35 [PM-19471] Update Rust windows crate to 0.61.1 (#13974)
* PM-19471: Update Rust windows crate to 0.61.1

* PM-19471: Add new crate to renovate.json5
2025-04-02 16:40:38 -04:00
Anders Åberg
8e455007c0 PM-19095: Wire passkey autofill to UI (#13051)
* Passkey stuff

Co-authored-by: Anders Åberg <github@andersaberg.com>

* Ugly hacks

* Work On Modal State Management

* Applying modalStyles

* modal

* Improved hide/show

* fixed promise

* File name

* fix prettier

* Protecting against null API's and undefined data

* Only show fake popup to devs

* cleanup mock code

* rename minmimal-app to modal-app

* Added comment

* Added comment

* removed old comment

* Avoided changing minimum size

* Add small comment

* Rename component

* adress feedback

* Fixed uppercase file

* Fixed build

* Added codeowners

* added void

* commentary

* feat: reset setting on app start

* Moved reset to be in main / process launch

* Add comment to create window

* Added a little bit of styling

* Use Messaging service to loadUrl

* Enable passkeysautofill

* Add logging

* halfbaked

* Integration working

* And now it works without extra delay

* Clean up

* add note about messaging

* lb

* removed console.logs

* Cleanup and adress review feedback

* This hides the swift UI

* pick credential, draft

* Remove logger

* a whole lot of wiring

* not working

* Improved wiring

* Cancel after 90s

* Introduced observable

* Launching bitwarden if its not running

* Passing position from native to electron

* Rename inModalMode to modalMode

* remove tap

* revert spaces

* added back isDev

* cleaned up a bit

* Cleanup swift file

* tweaked logging

* clean up

* Update apps/desktop/macos/autofill-extension/CredentialProviderViewController.swift

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Update apps/desktop/src/platform/main/autofill/native-autofill.main.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Update apps/desktop/src/platform/services/desktop-settings.service.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* adress position feedback

* Update apps/desktop/macos/autofill-extension/CredentialProviderViewController.swift

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Removed extra logging

* Adjusted error logging

* Use .error to log errors

* remove dead code

* Update desktop-autofill.service.ts

* use parseCredentialId instead of guidToRawFormat

* Update apps/desktop/src/autofill/services/desktop-autofill.service.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Change windowXy to a Record instead of [number,number]

* Update apps/desktop/src/autofill/services/desktop-fido2-user-interface.service.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Remove unsued dep and comment

* changed timeout to be spec recommended maxium, 10 minutes, for now.

* Correctly assume UP

* Removed extra cancelRequest in deinint

* Add timeout and UV to confirmChoseCipher

UV is performed by UI, not the service

* Improved docs regarding undefined cipherId

* cleanup: UP is no longer undefined

* Run completeError if ipc messages conversion failed

* don't throw, instead return undefined

* Disabled passkey provider

* Throw error if no activeUserId was found

* removed comment

* Fixed lint

* removed unsued service

* reset entitlement formatting

* Update entitlements.mas.plist

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: Colton Hurst <colton@coltonhurst.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
2025-03-24 07:50:11 -04:00
Todd Martin
6b36818e4a [PM-17232] Move all desktop native dependencies to workspace Cargo.toml (#13750)
* Moved all desktop native dependencies to workspace

* Excluded workspace Cargo.toml from code ownership

* Added all Cargo dependencies to Renovate config

* Fixed from test warnings.

* Updates to lockfile
2025-03-12 16:47:09 -04:00
Bernd Schoolmann
01f6fd7ee3 [PM-16227] Move import to sdk and enable it in browser/web (#12479)
* Move import to sdk and enable it in browser/web

* Add uncomitted files

* Update package lock

* Fix prettier formatting

* Fix build

* Rewrite import logic

* Update ssh import logic for cipher form component

* Fix build on browser

* Break early in retry logic

* Fix build

* Fix build

* Fix build errors

* Update paste icons and throw error on wrong import

* Fix tests

* Fix build for cli

* Undo change to jest config

* Undo change to feature flag enum

* Remove unneeded lifetime

* Fix browser build

* Refactor control flow

* Fix i18n key and improve import behavior

* Remove for loop limit

* Clean up tests

* Remove unused code

* Update libs/vault/src/cipher-form/components/sshkey-section/sshkey-section.component.ts

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>

* Move import logic to service and add tests

* Fix linting

* Remove erroneous includes

* Attempt to fix storybook

* Fix storybook, explicitly implement ssh-import-prompt service abstraction

* Fix eslint

* Update libs/importer/src/importers/bitwarden/bitwarden-json-importer.ts

Co-authored-by:  Audrey  <ajensen@bitwarden.com>

* Fix services module

* Remove ssh import sdk init code

* Add tests for errors

* Fix import

* Fix import

* Fix pkcs8 encrypted key not parsing

* Fix import button showing on web

---------

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by:  Audrey  <ajensen@bitwarden.com>
2025-03-10 18:41:47 +01:00
Zihad
0c61a44d33 [PM-18413] Fix SSH agent initial prompt issues (#13468)
* fix: set `needs_unlock` default value to true on unix

closes #13323

* fix: ssh prompt not appearing right after unlocking vault

---------

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Colton Hurst <colton@coltonhurst.com>
2025-03-03 14:05:18 -05:00
Bernd Schoolmann
cb028eadb5 [PM-15934] Add agent-forwarding detection and git signing detection parsers (#12371)
* Add agent-forwarding detection and git signing detection parsers

* Cleanup

* Pin russh version

* Run cargo fmt

* Fix build

* Update apps/desktop/desktop_native/core/src/ssh_agent/mod.rs

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

* Pass through entire namespace

* Move to bytes crate

* Fix clippy errors

* Fix clippy warning

* Run cargo fmt

* Fix build

* Add renovate for bytes

* Fix clippy warn

---------

Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2025-02-26 12:12:27 +01:00
renovate[bot]
c7315a0790 [deps]: Lock file maintenance (#13565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-25 15:48:39 -05:00
Bernd Schoolmann
d11321e28e Fix ssh agent on flatpak and mac app store (#13324) 2025-02-25 14:47:08 +01:00
Daniel García
8cf490a8c1 Extract common cargo info and edition 2024 fix (#13507) 2025-02-24 17:17:27 +01:00
tangowithfoxtrot
b86e587507 Fix falling back to data.json when keyring is available (#12760)
* fix: fallback to data.json on Linux

* fix: make keyring prompt more consistent for reads+writes, but less assertive when we delete credentials

* fix: explicitly ignore unused return value
2025-02-21 07:44:24 -08:00