1
0
mirror of https://github.com/bitwarden/browser.git synced 2025-02-12 00:41:29 +01:00
Commit Graph

1144 Commits

Author SHA1 Message Date
Bernd Schoolmann
bb2961f4ca
[PM-10413] ssh keygen on web and browser (#12176)
* Move desktop to sdk ssh-key generation

* Add ssh keygen support on web and browser

* Move ssh keygen on all clients behind feature flag

* Update package lock

* Fix linting

* Fix build

* Fix build

* Remove rand_chacha

* Move libc to linux-only target

* Remove async-streams dep

* Make generateSshKey private

* Remove async from generate ssh key

* Update cargo lock

* Fix sdk init for ssh key generation

* Update index.d.ts

* Fix build on browser

* Fix build

* Fix build by updating libc dependency
2025-01-08 16:01:23 +01:00
Oscar Hinton
3949aae8e3
[PM-16838] Fix bad imports for shared and platform code (#12743)
Imports containing /src/ are forbidden.
2025-01-08 14:29:26 +01:00
Bernd Schoolmann
244539cc38
[PM-16837] Fix agent only loading when featureflag is on during startup (#12742)
* Fix ssh generation and import not being available when agent feature-flag is disabled

* Fix agent only loading when featureflag is on during startup
2025-01-08 14:25:19 +01:00
Bernd Schoolmann
1b08335245
Fix ssh generation and import not being available when agent feature-flag is disabled (#12741) 2025-01-08 14:08:52 +01:00
Bernd Schoolmann
72121cda94
[PM-10741] Refactor biometrics interface & add dynamic status (#10973) 2025-01-08 10:46:00 +01:00
Thomas Avery
c0d3fe15d1
[PM-11528] Move Lock to KM ownership (#12407)
* update code owners

* Move lock component v2 to KM

* Add @bitwarden/key-management/angular to tsconfigs

* Move lock component service to KM

* Move lock component v1 to KM

* Update imports

* Move into @bitwarden/key-management

* Revert "Move into @bitwarden/key-management"

This reverts commit b7514fb8c2.

* Add to tsconfig.libs
2025-01-07 16:47:51 +01:00
Conner Turnbull
91d6963074
[PM-14366] Deprecated active user state from billing state service (#12273)
* Updated billing state provider to not rely on ActiveUserStateProvider

* Updated usages

* Resolved browser build

* Resolved web build

* Resolved CLI build

* resolved desktop build

* Update apps/cli/src/tools/send/commands/create.command.ts

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

* Move subscription visibility logic from component to service

* Resolved unit test failures. Using existing userIds where present

* Simplified activeUserId access

* Resolved typescript strict errors

* Resolved broken unit test

* Resolved ts strict error

---------

Co-authored-by:  Audrey  <ajensen@bitwarden.com>
2025-01-07 10:25:26 -05:00
renovate[bot]
003f5fdae9
[deps]: Lock file maintenance (#12709)
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-01-07 13:38:19 +01:00
Jordan Aasen
65699c7b8a
[PM-15999] - use new generator components in desktop app (#12639)
* use new generator components in desktop app

* add generator to export

* add TODO comment

* use app-specific component

* use vault-owned generator component

* use CipherFormGeneratorComponent

* rename to dialog component. reference ticket number in comment

* use static method for opening dialog
2025-01-06 10:40:00 -08:00
bw-ghapp[bot]
9f670c6820
Autosync the updated translations (#12673)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-01-06 15:34:03 +00:00
renovate[bot]
dac23db952
[deps] Platform: Update Rust crate napi-build to v2.1.4 (#12546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 15:15:32 -05:00
renovate[bot]
c69278e761
[deps] Platform: Update Rust crate uniffi to 0.28.3 (#12549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 14:28:44 -05:00
renovate[bot]
1e6471bb1d
[deps] Platform: Update Rust crate cc to 1.2.4 (#12297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 12:57:54 -05:00
renovate[bot]
5a3681655b
[deps] Platform: Update Rust crate libc to v0.2.169 (#12131)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 14:28:57 -05:00
renovate[bot]
aee0bdcd12
[deps] Platform: Update macOS/iOS bindings (#11947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 10:05:45 -05:00
renovate[bot]
1d33acbffc
[deps]: Lock file maintenance (#11953)
* [deps]: Lock file maintenance

* Regenerate package lock

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
2025-01-01 00:45:23 -05:00
Brant DeBow
e1778f4282
[PM-16530] [BRE-283] Changes to support hardening on the Mac desktop app (#12632)
* [DEVOPS-1424] Changes to support hardening on the Mac desktop app

* Remove unsigned memory exception

* Remove exceptions from the local (non-MAS) mac builds as well

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2024-12-31 15:16:31 -05:00
Bernd Schoolmann
03d0957814
Fix infinite password prompt loop on ssh-key import (#12569) 2024-12-31 14:56:23 +01:00
bw-ghapp[bot]
62b49df7d3
Autosync the updated translations (#12629)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-12-30 17:56:53 +00:00
Addison Beck
77a2b24dbc
Bump version to 2025.1.0 (#12622) 2024-12-30 11:03:51 -05:00
Github Actions
a1ca7eded5 Bumped client version(s) 2024-12-30 14:12:58 +00:00
Justin Baur
b3155d19dd
Hide Open At Login Option On Windows Store Installs (#12112) 2024-12-26 15:25:37 -05:00
renovate[bot]
35f4edddcf
[deps] Platform: Update @types/node to v22.10.2 (#12544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-24 09:41:40 -05:00
rr-bw
d209da4c94
feat(auth): [PM-9674] Remove Deprecated LockComponents (#12453)
This PR deletes the legacy lock components from the Angular clients and also removes feature flag control from the routing. The lock component will now be based entirely on the new, recently refreshed LockComponent in libs/auth/angular.
2024-12-20 10:23:03 -08:00
Bernd Schoolmann
2e6031eee9
Increase heap size for builds (#12483)
* Increase heap size for builds

* Add cross-env to cli

* Add cross-env to desktop

* Update apps/web/package.json

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

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2024-12-20 17:36:04 +01:00
Oscar Hinton
8caadacfbc
[PM-16217] Remove wasm timeout (#12476)
Remove the WASM timeout logic and supported$.
2024-12-20 13:54:52 +01:00
Daniel García
fff412665f
Run clippy and rustfmt on CI (#12388)
* Run clippy and rustfmt on CI

* Error on warnings and fix a couple of missed lints

* Move import inside function

* Fix unix lints

* Fix windows lints

* Missed some async tests

* Remove unneeded reference
2024-12-19 22:49:45 +01:00
Colton Hurst
997d40f65a
PM-16234: Move DesktopFido2UserInterfaceService and DesktopFido2UserInterfaceSession to autofill ownership (#12482) 2024-12-19 14:54:59 -05:00
Jason Ng
1d04a0a399
[PM-8214] New Device Verification Notice UI (#12360)
* starting

* setup first page for new device verification notice

* update designs for first page. rename components and files

* added second page for new device verification notice

* update notice page one with bit radio buttons. routing logic. user email

* updated routing for new device verification notice to show before vault based on flags, and can navigate back to vault after submission

* fix translations. added remind me later link and nav to page 2

* sync the design for mobile and web

* update routes in desktop

* updated styles for desktop

* moved new device verification notice guard

* update types for new device notice page one

* add null check to page one

* types

* types for page one, page two, service, and guard

* types

* update component and guard for null check

* add navigation to two step login btn and account email btn

* remove empty file

* update fill of icons to support light & dark modes

* add question mark to email access verification copy

* remove unused map

* use links for navigation elements
- an empty href is needed so the links are keyboard accessible

* remove clip path from exclamation svg

- No noticeable difference in the end result

* inline email message into markup

---------

Co-authored-by: Nick Krantz <nick@livefront.com>
2024-12-19 08:59:42 -06:00
Daniel García
51f6594d4b
[PM-9473] Add messaging for macOS passkey extension and desktop (#10768)
* Add messaging for macos passkey provider

* fix: credential id conversion

* Make build.sh executable

Co-authored-by: Colton Hurst <colton@coltonhurst.com>

* chore: add TODO

---------

Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: Colton Hurst <colton@coltonhurst.com>
2024-12-19 09:00:21 +01:00
albertboyd5
2bb807c5ce
Update Password history button label to Generator history (#12452) 2024-12-18 13:20:17 -06:00
Github Actions
1d874b447e Bumped Desktop client to 2024.12.2 2024-12-17 16:25:12 +00:00
bw-ghapp[bot]
6cea32839b
Autosync the updated translations (#12266)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2024-12-16 15:01:24 +01:00
Daniel James Smith
6933b3a211
Removed unused ctor param for SendApiService (#12330)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-12-12 20:05:21 -08:00
Alec Rippberger
0df7b53bb4
feat(sso): [PM-8114] implement SSO component UI refresh
Consolidates existing SSO components into a single unified component in
libs/auth, matching the new design system. This implementation:

- Creates a new shared SsoComponent with extracted business logic
- Adds feature flag support for unauth-ui-refresh
- Updates page styling including new icons and typography
- Preserves web client claimed domain logic
- Maintains backwards compatibility with legacy views

PM-8114

---------

Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Jared Snider <jsnider@bitwarden.com>
2024-12-12 10:28:30 -06:00
Github Actions
1b6b5d3110 Bumped Desktop client to 2024.12.1 2024-12-12 13:54:02 +00:00
Icelk
617469127a
ssh agent: fix first start when no .bitwarden-ssh-agent.sock exists (#12356)
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2024-12-12 13:45:37 +01:00
renovate[bot]
cecf1f2506
[deps] Platform: Update electron to v33 - abandoned (#11580)
* [deps] Platform: Update electron to v33

* fix: remove event from minimize

* chore: update electron version in `electron-builder.json`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2024-12-12 10:26:05 +01:00
Bernd Schoolmann
92a620dd9c
[BEEEP/PM-10534] Add snap biometric support (#12187)
* Add snap biometric support

* Fix linting

* Remove unused message

* Disable snap browser integration again
2024-12-11 16:10:06 +01:00
Bernd Schoolmann
e8d8a816dd
[PM-14988] Use peercred / GetNamedPipeClientProcessId to gather info about process connecting to ssh agent (#12065)
* Fix double prompt when unlocking by ssh request

* Add peercred for unix

* Enable apple-app-store feature

* Add generic parameter

* Update

* Add procinfo for windows

* Show connecting app in ui

* Use struct instead of tuple

* Use atomics instead of mutex

* Fix windows build

* Use is_running function

* Cleanup named pipe listener

* Cleanups

* Cargo fmt

* Replace "" with none

* Rebuild index.d.ts

* Fix is running check
2024-12-11 12:53:00 +01:00
Matt Gibson
9c1e2ebd67
Typescript-strict-plugin (#12235)
* Use typescript-strict-plugin to iteratively turn on strict

* Add strict testing to pipeline

Can be executed locally through either `npm run test:types` for full type checking including spec files, or `npx tsc-strict` for only tsconfig.json included files.

* turn on strict for scripts directory

* Use plugin for all tsconfigs in monorepo

vscode is capable of executing tsc with plugins, but uses the most relevant tsconfig to do so. If the plugin is not a part of that config, it is skipped and developers get no feedback of strict compile time issues. These updates remedy that at the cost of slightly more complex removal of the plugin when the time comes.

* remove plugin from configs that extend one that already has it

* Update workspace settings to honor strict plugin

* Apply strict-plugin to native message test runner

* Update vscode workspace to use root tsc version

* `./node_modules/.bin/update-strict-comments` 🤖

This is a one-time operation. All future files should adhere to strict type checking.

* Add fixme to `ts-strict-ignore` comments

* `update-strict-comments` 🤖

repeated for new merge files
2024-12-09 20:58:50 +01:00
renovate[bot]
b344722601
[deps] Platform: Update @types/node to v22.10.1 (#12305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 10:22:22 -05:00
renovate[bot]
8c446b4720
[deps] Platform: Update Rust crate anyhow to v1.0.94 (#12296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-12-09 15:42:42 +01:00
Bernd Schoolmann
3bfe5e4a65
[PM-13099] Enable browserintegration on dmg builds on adding an env variable (#11359)
* Enable browserintegration on dmg builds on adding an env variable

* Fix crash

* Cleanup
2024-12-09 11:09:57 +01:00
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
Bernd Schoolmann
816bf70dc0
Disable ssh agent for organization items (#12240) 2024-12-05 11:53:30 +01:00
Bernd Schoolmann
811b97cef5
[PM-15541] Hide ssh key filter behind feature flag (#12239)
* Hide ssh key filter behind feature flag

* Hide ssh keys in web client by featureflag

* Fix build
2024-12-04 17:04:08 +01:00
Bernd Schoolmann
80a898bd8c
[PM-14252] Switch to oo7 and drop libsecret (#11900)
* Switch to oo7 and drop libsecret

* Fix tests

* Fix windows

* Fix windows

* Fix windows

* Fix windows

* Add migration

* Update apps/desktop/desktop_native/core/src/password/unix.rs

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

* Remove libsecret in ci

* Move allow async to trait level

* Fix comment

* Pin oo7 dependency

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-12-04 17:03:34 +01:00
Bernd Schoolmann
864e6759fd
Switch to rustcrypto argon2 on desktop (#11753)
* Switch to rustcrypto argon2 on desktop

* Make argon2 use zeroize

* Remove argon2 native modules from electron-builder config

* Clean rust implementation of argon2

* Update cargo.lock

* Update apps/desktop/desktop_native/napi/src/lib.rs

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

* Add tests

* Clean up test

* Remove argon2 external from webpack main

* Fix build

* Fix argon2 module causing a startup crash

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2024-12-04 11:54:55 +00:00
Alec Rippberger
c073e91f17
feat(auth): [PM-13659] implement 2FA timeout handling across clients
Add timeout state management for two-factor authentication flows in web, desktop,
and browser extension clients. Includes:

- New timeout screen component with 5-minute session limit
- Updated UI elements and styling
- Comprehensive test coverage

Refs: PM-13659
2024-12-03 13:55:40 -06:00