1
0
mirror of https://github.com/bitwarden/browser.git synced 2025-02-19 01:51:27 +01:00
Commit Graph

2115 Commits

Author SHA1 Message Date
✨ Audrey ✨
f1c3c690a7
remove circular dependency from @bitwarden/generator-core (#12785) 2025-01-09 13:18:45 -05:00
Jared Snider
b9334629cf
Merge remote-tracking branch 'origin/main' into auth/pm-8113/2fa-comps-ui-refresh + merge conflig fix in web index.ts 2025-01-09 12:07:50 -05:00
Jared McCannon
3550a904dc
[PM-13764] - Update Collection Settings (#12734)
* Updating org when collection settings change.
2025-01-09 10:32:21 -06:00
Bernd Schoolmann
67a59b6072
[PM-15584] Fix autoprompt safari process reload (#12352)
* Move ownership of biometrics to key-management

* Move biometrics ipc ownership to km

* Move further files to km; split off preload / ipc to km

* Fix linting

* Fix linting

* Fix tests

* Extract biometric messaging service

* Fix tests

* Update .github/CODEOWNERS

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Update .github/CODEOWNERS

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Change ownership of native messaging to key-management

* Initial refactor

* Initial refactor

* Continued refactor

* Continued refactor

* Add message for when biometric unlock is not configured in desktop app

* Clean up lock component

* Clean up lock component html

* Fix build

* Fix status for windows and linux

* Continue refactor

* Refactor browser

* Fix unlock on extensions and add message enums

* Implement safari and fix setup

* Fix cli and web

* Make tests pass

* Add backward compatibility

* Fix version incompatibility

* Clean up auto-bio-prompt on desktop

* Fix biometric auto prompt on browser

* Fix tests

* Remove logging

* Add null in return type of unlockwithbiometricsforuser

* Move biometrics to libs/key-management

* Add README to capital whitelist

* Update package-lock.json

* Move km to key-management

* Move km to key-management

* Fix build for cli

* Import fixes

* Apply prettier fix

* Fix test

* Import fixes

* Import fixes

* Update libs/key-management/README.md

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Update libs/key-management/package.json

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Update lock file

* Change imports to top level km package

* Change import order

* Fix cli build

* Remove debug logging

* Fix user not showing in "notenabledinconnecteddesktopapp" helptext

* Document autoprompt and enable it on manual account switch

* Fix build

* Fix unlock on windows

* Rename duckduckgo message handler service

* Fix merge conflicts

* Fix codeowners

* Fix biometric message handler naming

* Update codeowners for renamed message handler service

* Fix cli build error

* Fix browser build errors

* Fix tests and update lock components

* Fix linking

* Fix build error

* Fix build error

* Fix build error

* Fix build error

* Fix logging message

* Fix conflicts

* Add jsdoc to biometric status enum

* Add jsdoc to biometric commands

* Remove unused initialization code

* Fix incorrectly checked setup-required status in desktop settings component

* Extract process reload when required

* Remvoe cryptoservice reference

* Remove commented out tests

* Improve tests

* Fix build

* Fix tests

* Fix biometric unlock

* Fix errors from prior merge

* Re-add tests

* Update lock component tests

* Add tests for process reload for biometric ipc unlock

* Fix autoprompt happening when it should not

* Fix lock v2

* Fix lint

* Update apps/browser/src/auth/popup/settings/account-security.component.ts

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

* Update apps/desktop/src/app/accounts/settings.component.ts

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

* Update apps/desktop/src/key-management/biometrics/main-biometrics.service.ts

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

* Update libs/key-management/src/biometrics/biometric.service.ts

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

* Update libs/key-management/src/biometrics/biometrics-status.ts

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

* Update apps/browser/src/background/nativeMessaging.background.ts

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

* Update apps/desktop/src/key-management/biometrics/main-biometrics.service.ts

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

* Cleanup

* Remove unavailabilityReason from UI

* Fix autoprompt safari process reload

* Apply changes according to feedback

* Adjust PR according to feedback

* Address feedback

* Fix account settings biometrics setting

* Fix build

* Cleanup

* Fix incorrect merge

* Allow disabling biometrics in browser while desktop app is disconnected

---------

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-01-09 13:01:49 +01:00
Jordan Aasen
a3e876eb8f
fixed icon width (#12721) 2025-01-08 16:19:51 -08:00
Thomas Avery
bb61b3df3a
[PM-15940] Add regen to SSO login (#12643)
* Add loginSuccessHandlerService to SSO login component

* Update regen service to handle SSO login
2025-01-08 16:41:02 -06:00
Shane Melton
d72dd2ea76
[PM-16098] Improved cipher decryption error handling (#12468)
* [PM-16098] Add decryptionFailure flag to CipherView

* [PM-16098] Add failedToDecryptCiphers$ observable to CipherService

* [PM-16098] Introduce decryption-failure-dialog.component

* [PM-16098] Disable cipher rows for the Web Vault

* [PM-16098] Show decryption error dialog on vault load or when attempting to view/edit a corrupted cipher

* [PM-16098] Browser - Show decryption error dialog on vault load or when attempting to view/edit a corrupted cipher

* [PM-16098] Desktop - Show decryption error dialog on vault load or when attempting to view a corrupted cipher. Remove edit/clone context menu options and footer actions.

* [PM-16098] Add CS link to decryption failure dialog

* [PM-16098] Return cipherViews and move filtering of isDeleted to consumers

* [PM-16098] Throw an error when retrieving cipher data for key rotation when a decryption failure is present

* [PM-16098] Properly filter out deleted, corrupted ciphers when showing dialog within the Vault

* [PM-16098] Show the decryption error dialog when attempting to view a cipher in trash and disable the restore option

* [PM-16098] Exclude failed to decrypt ciphers from getAllDecrypted method and cipherViews$ observable

* [PM-16098] Avoid re-sorting remainingCiphers$ as it was redundant

* [PM-16098] Update tests

* [PM-16098] Prevent opening view dialog in AC for corrupted ciphers

* [PM-16098] Remove withLatestFrom operator that was causing race conditions when navigating away from the individual vault

* [PM-16098] Ensure decryption error dialog is only shown once on Desktop when switching accounts
2025-01-08 08:42:46 -08:00
Tom
8bb080cf93
Removing testing tabs and the learn more link (#12481) 2025-01-08 16:09:05 +01:00
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
72121cda94
[PM-10741] Refactor biometrics interface & add dynamic status (#10973) 2025-01-08 10:46:00 +01:00
Jason Ng
5cb31f37e9
[PM-16824] update new device verification notice page one so learn more link opens in browser from desktop (#12731) 2025-01-07 15:10:42 -05:00
Alec Rippberger
f99a3c4162
feat(web): [PM-1214] add device management screen
Adds a device management tab under settings -> security that allows users to:
- View and manage their account's connected devices
- Remove/deactivate devices
- See device details like platform, last login, and trust status
- Sort and filter device list with virtual scrolling

Resolves PM-1214
2025-01-07 13:29:36 -06:00
cyprain-okeke
02556c1416
Changes to restart cancelled org (#12730) 2025-01-07 20:09:37 +01:00
Jonathan Prusik
966e8d3fb8
[PM-16667] Followup clarifying work (#12665)
* clean up readability

* fix ts-strict violations

* fix consistency with uncertain cases in isCardExpired
2025-01-07 13:48:18 -05:00
Jared Snider
2c620ea446
PM-8113 - TwoFactorAuthDuoComponent - update takeUntilDestroyed to pass in destroy context as you can't use takeUntilDestroyed in ngOnInit without it. 2025-01-07 13:22:04 -05:00
Oscar Hinton
9ca3d0653d
Fix strict typescript for Component Library stories (#12423)
Fixing some low hanging fruits for moving CL to strict typescript.

This primarily removes the types from args since TS infers them differently. We previously needed them since storybook would use any for args but now provides proper typings
2025-01-07 17:28:35 +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
Jared Snider
0416c54daa
Merge branch 'main' into auth/pm-8113/2fa-comps-ui-refresh 2025-01-06 18:58:00 -05:00
Jared Snider
1075d7a798
PM-16685 - Web - Fix locking (#12722) 2025-01-06 18:56:21 -05:00
Jared Snider
ecb34ebc7e
PM-8113 - TwoFactorAuthComp - (1) Add loading state (2) Add missing CheckboxModule import 2025-01-06 18:16:31 -05:00
Jared Snider
09f87c8c8f
Merge remote-tracking branch 'origin/main' into auth/pm-8113/2fa-comps-ui-refresh + merge conflict resolutions 2025-01-06 17:14:44 -05:00
Jonathan Prusik
15faf52f57
[PM-13115] Allow users to disable extension content script injections by domain (#11826)
* add disabledInteractionsUris state to the domain settings service

* add routes and ui for user disabledInteractionsUris state management

* use disabled URIs service state as a preemptive conditon to injecting content scripts

* move disabled domains navigation button from account security settings to autofill settings

* update disabled domain terminology to blocked domain terminology

* update copy

* handle blocked domains initializing with null value

* add dismissable banner to the vault view when the active autofill tab is on the blocked domains list

* add autofill blocked domain indicators to autofill suggestions section header

* add BlockBrowserInjectionsByDomain feature flag and put feature behind it

* update router config to new style

* update tests and cleanup

* use full-width-notice slot for domain script injection blocked banner

* convert thrown error on content script injection block to a warning and early return

* simplify and enspeeden state resolution for blockedInteractionsUris

* refactor feature flag state fetching and update tests

* document domain settings service

* remove vault component presentational updates
2025-01-06 17:10:34 -05:00
Jordan Aasen
ddc817689a
[PM-13365] - don't display totp capture when in popout (#12645)
* don't display totp capture when in popout

* add canCaptureTotp method

* dry up logic

* add unit tests

* fix failing tests

* add missing mock to cipher-form story
2025-01-06 13:52:42 -08:00
Jason Ng
5a46991e4e
[PM-16696] New Device Verification Notice Learn More (#12715)
* add learn more link to new device verification notification page one
2025-01-06 16:08:29 -05:00
Alec Rippberger
26f086368b
fix(auth): [PM-15987] improve email/master password entry back/forward navigation
- Fix back button behavior in Safari to reliably return to email entry screen
- Enable browser forward button after navigating back to email entry
- Move email validation to input event instead of blur
- Add continueClicked function to differentiate user clicks vs browser navigation
- Add email verification gate to SSO route
- Enhance master password validation logic
- Fix strict typing errors

Resolves PM-15987
2025-01-06 11:01:56 -08:00
Daniel James Smith
ec21e8db59
Add missing credit card number pipe (#12508)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-01-06 17:44:36 +01:00
Kyle Spearrin
05d373d070
turn off autocomplete for browser search input (#12679) 2025-01-03 14:51:54 -05:00
Victoria League
c07454342d
[PM-16675] Prevent scrollbar from appearing on each send item (#12666) 2025-01-03 09:41:18 -05:00
SmithThe4th
10c8a2101a
[PM-12049] Remove usage of ActiveUserState from folder service (#11880)
* Migrated folder service from using active user state to single user state

Added extra test cases for encrypted folder and decrypted folders

Updated derived state to use decrypt with key

* Update callers in the web

* Update callers in the browser

* Update callers in libs

* Update callers in cli

* Fixed test

* Fixed folder state test

* Fixed test

* removed duplicate activeUserId

* Added takewhile operator to only make calls when userId is present

* Simplified to accept a single user id instead of an observable

* Required userid to be passed from notification service

* [PM-15635] Folders not working on desktop (#12333)

* Added folders memory state definition

* added decrypted folders state

* Refactored service to remove derived state

* removed combinedstate and added clear decrypted folders to methods

* Fixed test

* Fixed issue with editing folder on the desktop app

* Fixed test

* Changed state name

* fixed ts strict issue

* fixed ts strict issue

* fixed ts strict issue

* removed unnecessasry null encrypteed folder check

* Handle null folderdata

* [PM-16197] "Items with No Folder" shows as a folder to edit name and delete (#12470)

* Force redcryption anytime encryption state changes

* Fixed text file

* revert changes

* create new object with nofolder instead of modifying exisiting object

* Fixed failing test

* switched to use memory-large-object

* Fixed ts sctrict issue

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
2025-01-02 17:16:33 -05:00
Nick Krantz
cf9bc7c455
Vault Strict Typing cleanup (#12512)
* remove strict types from `NewDeviceVerificationNotice`
- Add null default value for class properties
- Enforce that the userId is passed
- noticeState$ can return null

* remove strict types from `CopyCipherFieldService`
- refactor title to be a string rather than null

* remove strict types from `PasswordRepromptComponent`
- add guard to exit early on submit but also solves removing null/undefined from typing

* use bang to ensure required input

* remove strict types from `CopyCipherFieldDirective`
- add bang for required types
- add default values for null types

* add bang for constant variables in cipher form stories

* remove strict types from `DeleteAttachmentComponent`
- add bang for required types
- refactor title to be an empty string

* fix tests
2025-01-02 15:37:48 -06:00
Alex Morask
15cc4ff1eb
[PM-14461] Update organization state after subscription update (#12222)
* Update organization state after subscription update

* QA: Fix SM trial seat adjustment
2025-01-02 15:37:09 -05:00
Jonas Hendrickx
c724b0d974
[PM-13999] show estimated tax for taxable countries (#12245) 2025-01-02 20:28:04 +01:00
Jonathan Prusik
e47b5a15fd
[PM-16667] Fix flaky card expiry tests (#12659)
* fix improper date month subtraction

* fix mishandling of 0 month value
2025-01-02 14:09:57 -05:00
Jason Ng
75f75dc0f8
[PM-8214] adding tabIndex for screen reader (#12602)
* update new device components to use liveannouncer so users are notified of the pages header, and add tabindex to remind me later btn
2024-12-31 15:33:41 -05:00
cyprain-okeke
899b16966a
[PM-15814]Alert owners of reseller-managed orgs to renewal events (#12607)
* Changes for the reseller alert

* Resolve the null error

* Refactor the reseller service

* Fix the a failing test due to null date

* Fix the No overload matches error

* Resolve the null error

* Resolve the null error

* Resolve the null error

* Change the date format

* Remove unwanted comment

* Refactor changes

* Add the feature flag
2024-12-31 18:06:45 +01:00
Jason Ng
894dd2c896
[PM-16507] update new device verification notice state definition (#12608) 2024-12-30 19:24:31 -05:00
Victoria League
a95427eee0
[CL-524] Ignore flaky elements in Chromatic tests (#12561) 2024-12-30 16:42:53 -05:00
Victoria League
6539f06654
[CL-135] Fix import statement for standalone component (#12589) 2024-12-30 14:46:29 -05:00
Victoria League
1f4972fcb8
[PM-16102] Prevent item action height overflow (#12588) 2024-12-30 09:10:42 -05:00
Kyle Spearrin
f434334a88
[PM-16428] Option for primary click action to autofill on Vault view (#12557)
* add option for primary click action to autofill

* setting option string

* autofill setting for click items to autofill

* fix showQuickCopyActions

* apply setting
2024-12-27 08:51:17 -05:00
Victoria League
395258d63e
[PM-16102] Add min width on interactive badges (#12514) 2024-12-23 12:08:52 -05:00
Jared Snider
8dd4c51534
PM-8113 - TwoFactorAuthComp - add destroy ref to fix warnings. 2024-12-20 14:29:13 -05:00
Victoria League
64166a9354
[PM-16102] Increase clickable area for bit-item actions (#12450) 2024-12-20 14:03:50 -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
Nick Krantz
6ad35e0871
Vault Refactor: Clean up some strict types (#12357)
* update cipher-view to account for strict type checking

* update view-identity-sections to account for strict type checking

* update read-only-cipher-card to account for strict type checking

* remove unused card import

* remove unused card import

* update additional-options to account for strict type checking
2024-12-20 10:16:34 -06:00
Nick Krantz
b27a1a5337
[PM-12998] View Cipher: Color Password (#12354)
* show color password for visible passwords in vault view

- The password input will be visually hidden
- Adds tests for the login credentials component

* formatting
2024-12-20 09:44:36 -06:00
Andreas Coroiu
1d335bb164
[PM-16262] Make getEnvironment observable and use it in SdkService (#12501)
* feat: re-implement getEnvironment as an observable

* feat: deprecate `getEnvironment`

* fix: use correct environment function in SdkService

* fix: test
2024-12-20 15:20:23 +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
Jared Snider
5c49f6edb3
Merge remote-tracking branch 'origin/main' into auth/pm-8113/2fa-comps-ui-refresh + merge conflict fixes 2024-12-19 17:12:02 -05:00
Jared Snider
5e9249a8cb
PM-8113 - TwoFactorAuthDuoCompService - add client specific handling for launchDuoFrameless 2024-12-19 16:54:36 -05:00
Nick Krantz
e129e90faa
[PM-14347][PM-14348] New Device Verification Logic (#12451)
* add account created date to the account information

* set permanent dismissal flag when the user selects that they can access their email

* update the logic of device verification notice

* add service to cache the profile creation date to avoid calling the API multiple times

* update step one logic for new device verification + add tests

* update step two logic for new device verification + add tests
- remove remind me later link for permanent logic

* migrate 2FA check to use the profile property rather than hitting the API directly.

The API for 2FA providers is only available on web so it didn't work for browser & native.

* remove unneeded account related changes

- profile creation is used from other sources

* remove obsolete test

* store the profile id within the vault service

* remove unused map

* store the associated profile id so account for profile switching in the extension

* add comment for temporary service and ticket number to remove

* formatting

* move up logic for feature flags
2024-12-19 09:55:39 -06:00
Nick Krantz
0f3803ac91
[PM-11442] Emergency Cipher Viewing (#12054)
* force viewOnly to be true for emergency access

* add input to hide password history, applicable when the view is used from emergency view

* add extension refresh version of the emergency view dialog

* allow emergency access to view password history

- `ViewPasswordHistoryService` accepts a cipher id or CipherView. When a CipherView is included, the history component no longer has to fetch the cipher.

* remove unused comments

* Add fixme comment for removing non-extension refresh code

* refactor password history component to accept a full cipher view

- Remove the option to pass in only an id
2024-12-19 09:42:37 -06: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
Thomas Rittson
23212fb9ae
Fix: users can import in PM if they can create new collections (#12472) 2024-12-19 12:53:39 +01: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
Jared Snider
9905c6fa0e
PM-8113 - TwoFactorAuthDuoComponentService - define top level abstraction and each clients implementation of the duo2faResultListener 2024-12-18 17:20:59 -05:00
Jared Snider
1b660491ed
PM-8113 - TwoFactorAuthEmailComponentService - add docs 2024-12-18 17:19:39 -05:00
albertboyd5
ef8e8bfcbc
[PM-15571] Help link on import vault (#12448)
* [PM-15571] BW help Link on import vault page has wrong styling in dark mode

* Remove useless code
2024-12-18 14:17:50 -06:00
Victoria League
6eb30c98c4
Fix imports for standalone component stories (#12464) 2024-12-18 14:25:03 -05:00
cyprain-okeke
12b698b11d
organization status changed code changes (#12249)
* organization status changed code changes

* Remove the stop so a reconnect can be made
2024-12-18 16:31:16 +01:00
Oscar Hinton
5a582dfc6f
[CL-135] Migrate component library to standalone components (#12389)
* Migrate component library to standalone components

* Fix tests
2024-12-17 17:29:48 -05:00
rr-bw
ac13cf7ce6
feat(auth): [PM-15945] Add logout option to TDE approval page (#12445)
This PR adds a logout option to the TDE approval screen. A TDE user on this page cannot use the "Back" button or click the Bitwarden logo to navigate back to `/` because the user is currently authenticated, which means that navigating to the `/` route would activate the `redirectGuard` and simply route the user back to `/login-initiated`. So we must log the user out first before routing.

Feature Flags: `UnauthenticatedExtensionUIRefresh` ON
2024-12-17 12:48:37 -08:00
Daniel James Smith
e2e9a7c345
[PM-15483] PasswordXP-CSV-Importer: Add support for German and Dutch headers (#12216)
* Add tests to verify importing German and Dutch headers work

* Add method to translate the headers from (German/Dutch into English) while the CSV data is being parsed

* Report "importFormatError" when header translation did not work, instead of a generic undefined error (startsWith)

* Move passwordxp-csv-importer into a dedicated folder

* Introduce files with the language header translations

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-12-17 20:51:58 +01:00
renovate[bot]
e1447a90e3
[deps] Design System: Update ngx-toastr to v19 (#10594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Victoria League <vleague@bitwarden.com>
2024-12-17 10:08:19 -05:00
Jared Snider
7e0c113c49
PM-8113 - Move 2FA Duo to own comp folder. 2024-12-16 17:19:23 -05:00
Kyle Spearrin
a4db5279b7
[PM-16097] Separate copy buttons appearance setting (#12428)
---------

Co-authored-by: William Martin <contact@willmartian.com>
2024-12-16 16:10:32 -05:00
Jared Snider
9f8696f377
PM-8113 - Move TwoFactorAuthEmail content to own folder. 2024-12-16 15:42:39 -05:00
Jared Snider
d1d438bebe
PM-8113 - Refactor libs/auth/2fa into barrel files. 2024-12-16 15:34:45 -05:00
Jared Snider
3eef2597b6
PM-8113 - (1) Consolidate TwoFactorAuthEmail component into new service architecture (2) Move openPopoutIfApprovedForEmail2fa to new TwoFactorAuthEmailComponentService 2024-12-16 15:26:09 -05:00
Thomas Avery
971c157f56
[PM-12700] Add private key regeneration process (#11829)
* add user asymmetric key api service

* Add user asymmetric key regen service

* add feature flag

* Add LoginSuccessHandlerService

* add loginSuccessHandlerService to BaseLoginViaWebAuthnComponent

* Only run loginSuccessHandlerService if webAuthn is used for vault decryption.

* Updates for TS strict

* bump SDK version

* swap to combineLatest

* Update abstractions
2024-12-16 12:00:17 -06:00
Matt Gibson
6132df395c
Add strict to missed components tsconfig (#12429) 2024-12-16 16:33:01 +00:00
Alec Rippberger
edf90e62e7
fix(auth): [PM-15987] handle browser back button on login screen
Intercepts browser back button press on the login screen to properly 
transition back to email entry portion instead of unexpected navigation.

Resolves PM-15987
2024-12-16 09:22:15 -06:00
Brandon Treston
31be6a7c88
[PM-12273] use organization properties for access permissions (#12358)
* use organization properties for access permissions

* clean up refactor

* simplify logic

* refactor canAccessIntegrationEditor to have all the permission checks
2024-12-16 08:33:46 +10:00
Jared Snider
112f9d4592
PM-8113 - TwoFactorAuthComponent tests - updated to pass 2024-12-15 14:38:13 -05:00
Jared Snider
71fd85c907
PM-8113 - TwoFactorAuthComp - isTrustedDeviceEncEnabled - add undefined check for optional window close. + Add todo 2024-12-15 14:30:14 -05:00
Jared Snider
ace5f3b99c
PM-8113 - TwoFactorAuthComponent - add TODO 2024-12-15 14:25:17 -05:00
Jared Snider
8f19645b2e
PM-8113 - TwoFactorAuthComponent - refactor routes. 2024-12-15 14:24:35 -05:00
Jared Snider
a1f82e5bb8
PM-8113 - TwoFactorAuthComponent - remove now unused method 2024-12-15 14:21:59 -05:00
Jared Snider
38dc309ac5
PM-8113 - TwoFactorAuthComponent - finish refactoring out all callbacks 2024-12-15 14:21:16 -05:00
Jared Snider
e19f3ea04e
PM-8113 - TwoFactorAuthComponent - WIP on removing TDE callbacks 2024-12-15 14:09:51 -05:00
Jared Snider
12b5da1871
PM-8113 - TwoFactorAuthComponent - more clean up 2024-12-15 14:01:48 -05:00
Jared Snider
8fa330fe01
PM-8113 - TwoFactorAuthComponent - misc cleanup 2024-12-15 13:50:13 -05:00
Jared Snider
bbdb0c254d
PM-8113 - Implement new TwoFactorAuthComponentService .openPopoutIfApprovedForEmail2fa to replace extension specific init logic. 2024-12-15 13:40:54 -05:00
Jared Snider
3b524fc1d3
PM-8113 - TwoFactorAuthComponent - move linux popup width extension logic into ExtensionTwoFactorAuthComponentService 2024-12-14 16:34:47 -05:00
Jared Snider
42719e4f13
PM-8113 - TwoFactorAuthComponent - pull webauthn fallback response handling into primary init with checks based on client for if it should be processed. 2024-12-14 16:20:12 -05:00
Jared Snider
831328c83c
PM-8113 - TwoFactorAuthComponent - WIP on webauthn init. 2024-12-14 15:30:56 -05:00
Ike
407a571e31
fix: show toast for other 400 errors (#12409) 2024-12-13 16:10:07 -08:00
Shane Melton
9288ab839c
[PM-15824] Re-organize collection filter logic to only consider organization setting to edit all ciphers in AC (#12323) 2024-12-13 11:51:07 -08:00
Daniel Riera
6383048197
PM-5550 Implement on-page autofil for single line TOTP (#12058)
* PM-5550 initial commit -Initial render
-Edit tests
-Clean up styling
-New method to validate totpfields

* add refresh overlay

* localize and clean up

* - Clean up code
- Remove unnecessary data from buildtotpelement
- Add feature flag
- Add aria labels to buildtotpelement
- Add tests and update relevant snapshots

* Add and translate aria labels

* add aria labels

* implement feature flag

* address totp tests

* clean up totpfield function

* fix styling and tests, update snapshots

* Update apps/browser/src/_locales/en/messages.json

Formatting suggestion

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>

* Update apps/browser/src/_locales/en/messages.json

Formatting suggestion

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>

* remove group tag

* update snapshots

* adress feedback

---------

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
2024-12-13 12:37:16 -05:00
Thomas Rittson
19c5c8722a
[PM-14247] vNextCollectionService fixes (#12362)
* Fix interface to not take observables

* Filter out null orgKeys during transitional state
2024-12-13 14:05:40 +10: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
Jared Snider
30df06399a
PM-8113 - Refactor 2FA Guard logic out of ngOnInit and into own tested guard. Updated all routes. 2024-12-12 17:01:04 -05:00
Jared Snider
f28242afc1
PM-8113 - TwoFactorService Abstraction - refactor to use proper functions + mark methods as abstract properly + add null return to getProviders 2024-12-12 16:29:09 -05:00
rr-bw
8ec75613dc
fix(passkeys): [PM-13932] Fix passkey flow incorrect routing (#12363)
This PR fixes a bug in the LockComponent refresh that affected the setup/save and use passkey flows. The user was wrongly directly to the /vault after unlock instead of to /fido2 (the passkey screen).

Feature Flag: ExtensionRefresh ON
2024-12-12 13:10:54 -08:00
Jared Snider
0fa92b7b85
PM-8113 - TwoFactorAuth - implement browser specific SSO + 2FA logic 2024-12-12 14:49:45 -05:00
Tomi Belan
7a5f3b2dd4
Fix reporting of server-side errors in "bw sync". (#6855)
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
2024-12-12 13:01:03 -05: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
Jared Snider
c0fa016772
PM-8113 - TwoFactorAuthComponent - Add client type 2024-12-11 20:09:45 -05:00
Jared Snider
055276ba40
PM-8113 - TwoFactorAuthComponent - Add todo 2024-12-11 18:53:59 -05:00
Brandon Treston
b2ee27c02f
[PM-12443] Remove paging logic from base clients component and subclasses (#12250)
* remove ngx-infinite-scroll in provider clients components.

* cleanup, fix redirect

* cleanup

* remove function call during interpolation

* remove this in template

* add router guard, cleanup

* cleanup

* fix row height for virtual scroller
2024-12-11 09:53:52 -05:00
Andreas Coroiu
d4fcb5852a
fix: text-drag directive ts-strict error (#12346) 2024-12-11 12:20:32 +00:00
cd-bitwarden
83dc66dd56
[PM-14345] Enabling drag and drop for cipher fields (#12067)
* enabling drag and drop for cipher fields

* adding drag and drop to totp and fido

* removing code changes to wrong file

* undoing uneeded change

* Changes suggested by Shane

* fixes

* fixes

* moving export to the correct spot

---------

Co-authored-by: --global <>
2024-12-10 12:55:02 -05:00
✨ Audrey ✨
b2af12ab24
[PM-15872] fix username generation character limit (#12329) 2024-12-10 11:08:01 -05:00
Daniel James Smith
161a358c49
[PM-5214] [CLI] Add proxy support for file uploads (#7342)
* Add proxy support for file uploads

Instead of using node's native fetch we extend ApiService with NodeApiService to add support for proxies using `node-fetch`

* Fix constructors for FileUploadService in browser

* Fix dependency on ApiService within jslib-services.module

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-12-10 13:17:00 +01:00
Jared Snider
4a60ae2736
PM-8113 - TwoFactorAuthComponent - Add type for providerData 2024-12-09 19:48:37 -05:00
Jared Snider
7235b37b85
PM-8113 - TwoFactorAuthComp - Refactor out unused button action text and move checks for continue button visibility into component 2024-12-09 19:44:06 -05:00
Jared Snider
e846d09066
PM-8113 - TwoFactorAuth - Remove unused service dep 2024-12-09 19:32:54 -05:00
Jared Snider
3aa96b8d41
PM-8113 - TwoFactorAuthComp - more refactors 2024-12-09 19:28:07 -05:00
Jared Snider
a5cf61b597
PM-8113 - TwoFactorAuthComp - More refactoring 2024-12-09 19:20:21 -05:00
Jared Snider
9bee399811
PM-8113 - TwoFactorAuthComponent - refactor default success route handling 2024-12-09 19:12:25 -05:00
Jared Snider
d9c05e845c
PM-8113 - TwoFactorAuthComp Tests - clean up tests for removed callbacks. 2024-12-09 19:05:26 -05:00
Jared Snider
3b154faae3
PM-8113 - TwoFactorAuth - (1) more refactoring (2) removed onSuccessfulLoginNavigate (3) after successful login we always loginEmailService.clearValues() 2024-12-09 18:10:20 -05:00
Jared Snider
e70c126148
PM-8113 - TwoFactorAuthComp - More naming refactors 2024-12-09 17:56:42 -05:00
Jared Snider
15bff43ba8
PM-8113 - TwoFactorAuthComp - Refactor init a bit. 2024-12-09 17:55:41 -05:00
Jared Snider
0caf9d8196
PM-8113 - 2FA Auth - update deps to private as inheritance will no longer be used. 2024-12-09 17:40:10 -05:00
Jared Snider
5989239096
PM-8113 - 2FA Auth Comp - Progress on removing onSuccessfulLogin callback 2024-12-09 17:33:40 -05:00
Jared Snider
e1f558c4a0
PM-8113 - Fix TwoFactorAuthExpiredComp imports + TwoFactorAuthComponent imports on other clients. 2024-12-09 16:03:12 -05:00
Jared Snider
8d8f59565b
PM-8113 - Fix 2FA Auth Comp tests by adding new service deps. 2024-12-09 15:58:35 -05:00
Jared Snider
c28c8cbbc3
PM-8113 - Export TwoFactorAuth from libs/auth 2024-12-09 15:48:48 -05:00
Jared Snider
df427178a0
PM-8113 - Bring across 2FA session timeout to new 2FA orchestrator comp 2024-12-09 15:35:54 -05:00
Jared Snider
c9ced8a62d
Merge remote-tracking branch 'origin/main' into auth/pm-8113/2fa-comps-ui-refresh + merge confliction resolution 2024-12-09 15:29:47 -05:00
Victoria League
4daba832a2
[CL-351] Prevent tw-group styling conflicts by namespacing (#12261) 2024-12-09 15:13:42 -05: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
Victoria League
0906c503e1
[CL-522] Reduce font size for checkbox and radio labels (#12251) 2024-12-09 14:10:14 -05:00
Nick Krantz
b5ce2167eb
update styles of the password history to use bitLink & button (#12246) 2024-12-09 09:04:16 -06:00
Alec Rippberger
69800d01ab
revert: [PR-13659] remove 2FA timeout logging and fix attempts
This reverts two previous commits:
- PM-13659 - 2FA Timeout Log All the things (#12275)
- Auth/PM-13659 - 2FA Timeout - Attempted Fix (#12263)
2024-12-06 13:42:32 -06:00
Jared Snider
9fcc4f0543
PM-13659 - 2FA Timeout Log All the things (#12275) 2024-12-06 12:43:17 -05: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
Jared Snider
8d68a2dd58
Auth/PM-13659 - 2FA Timeout - Attempted Fix (#12263)
fix(auth): attempt to resolve 2FA session timeout issue
2024-12-05 20:22:13 -05:00
Vijay Oommen
d6e1fe70ca
PM-15091 Remove client side featureflag.AccessIntelligence and use DB feature flag (#12247)
* PM-15091 remove featureflag.AccessIntelligence

* removed unwanted lines of code

* fixed merge conflict
2024-12-05 17:24:51 +00:00
Brandon Treston
c11f429ddb
[PM-12273] Admin Console Integration Page (#11883)
* Integration page initial implementation

* replace placeholder integrations

* fix linting and tests

* fix locales

* update locale

* Change logos, add link to SCIM page

* refactor to standalone components, add integration filtering pipe

* refactor modules and imports. Remove hyperlink text from integration card template

* refactor i18n usage to be more generic

* Add storybooks

* fix tests

* minify svgs, include spec files in TS config, fix stories

* Update apps/web/src/locales/en/messages.json

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* fix imports, add static dir for stories

* Add darkmode svgs for integrations

* hide nav link for non enterprise orgs

* add router guard

* change rxjs selector

* Remove tailwind class causing style issues

---------

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2024-12-05 10:09:40 -05:00
Jared Snider
0b3cd49331
PM-8113 - TwoFactorAuth - Deprecate browser implementation of two-factor-auth and move all logic into single component - WIP 2024-12-04 19:19:41 -05:00
Jared Snider
f838694b88
PM-8113 - TwoFactorAuth - add TODO to ensure I don't miss web on success logic 2024-12-04 19:07:43 -05:00
Jared Snider
fd9b0cf19c
PM-8113 - TwoFactorAuth - progress on consolidation 2024-12-04 18:59:23 -05:00
SmithThe4th
45db17627e
[PM-15535] User with Edit* permission can permanently delete item from more actions menu on extension (#12234)
* Added conditional to check if a cipher can be delete by user

* Added change detection on push

* Added directive to check if user can delete a cipher

* Added directive to check if user can delete a cipher

* Replaced check with directive

* removed takeUntilDestroyed
2024-12-04 11:57:03 -05:00
Daniel James Smith
98702d9f50
Fix the new send dropdown showing premium when it should not (#12242)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-12-04 09:59:06 -05:00
Jonas Hendrickx
b25dc6300c
Revert "[PM-13999] Show estimated tax for taxable countries (#12145)" (#12244)
This reverts commit 1dce7f5ba0.
2024-12-04 14:40:57 +00: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
Jonas Hendrickx
1dce7f5ba0
[PM-13999] Show estimated tax for taxable countries (#12145) 2024-12-04 11:45:44 +01:00
Thomas Rittson
853db233d9
Remove AddPolicyDefinitions feature flag (#12172) 2024-12-04 11:50:39 +10:00
Shane Melton
a6c905cc1a
[PM-15533] Remove isNotClone parameter from updateWithServer method (#12233) 2024-12-03 15:43:09 -08:00
Jared Snider
7167861afe
PM-8113 - Add new child-components folder to help differentiate between top level page component and child components 2024-12-03 16:30:09 -05:00
Jared Snider
430cff6ef8
PM-8113 - Move all new two-factor-auth components into libs/auth instead of libs/angular/src/auth 2024-12-03 16:13:39 -05:00
Jared Snider
bca8fae81e
Merge remote-tracking branch 'origin/main' into auth/pm-8113/2fa-comps-ui-refresh 2024-12-03 15:43:21 -05:00
Jared Snider
84d817e936
PM-8113 - TwoFactorAuthComp HTML - remove captcha 2024-12-03 15:15:29 -05:00
Jared Snider
21af124dc2
PM-8113 - TwoFactorAuth tests - remove captcha 2024-12-03 15:10:08 -05:00
Jared Snider
fd8923a187
PM-8113 - LoginStrategySvc - add todo for deprecation of captcha response 2024-12-03 15:02:57 -05:00
Jared Snider
2ac5348480
PM-8113 - 2FA Auth Comp - deprecate captcha 2024-12-03 15:02:34 -05:00