1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-10 05:13:29 +00:00
Commit Graph

309 Commits

Author SHA1 Message Date
Nick Krantz
952b84a011 add missing label/title for importing SSH Key (#15516) 2025-07-10 09:46:18 -05:00
Jason Ng
3da58e1752 [PM-23352] fix extra large spacing in height of intro carousel (#15512) 2025-07-08 10:51:02 -04:00
Jason Ng
c7fc9b88fc [PM-23197] update cipherService to return decCiphers (#15433)
* update cipherService to return decCiphers, update input to use signal, refactor observable, update spec
2025-07-03 17:35:50 -04:00
Daniel Riera
0311d0aaab [PM-22391] display simple dialog when advanced matching strategy selected for login ciphers (#15260)
* PM-22391 WIP

* update autofill base desc

* fill cog when match uri open

* switch to button, populate dialog when option selected

* default strategy hint

* update match hint string and dialog behavior

* clean up naming for callbacks and variables

* revert global setting hint — this will be addressed separately

* add tests

* update copy and remove repeated copy to use quoted string

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

Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>

* add translation to web and desktop, make continue and cancel required

---------

Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
2025-07-03 10:41:20 -04:00
Nick Krantz
ab4af7deed [PM-22179] Redirect user to /setup-extension (#15375)
* add end user feature flag

* add initial setup extension component and route

* redirect users from registration completion to the setup extension page

* add `hideIcon` to anon layout for web
- matches implementation on the browser.

* integrate with anon layout for extension wrapper

* add initial loading state

* conditionally redirect the user upon initialization

* redirect the user to the vault if the extension is installed

* add initial copy for setup-extension page

* add confirmation dialog for skipping the extension installation

* add success state for setup extension page

* only show loggedin toast when end user activation is not enabled.

* add image alt

* lower threshold for polling extension

* close the dialog when linking to the vault

* update party colors

* use the platform specific registration service to to only forward the web registrations to `/setup-extension`

* call `super` rather than `/vault` directly, it could change in the future
2025-07-03 06:14:25 -05:00
Nick Krantz
24ac3b3a07 [PM-23226] ToTp updating on Desktop (#15435)
* update `totpInfo$` observable when the cipher changes

* mark cipher as required and remove ignore statements

* adds totp countdown tests
2025-07-02 15:26:47 -05:00
Jordan Aasen
369c1edaf7 [PM-22376] - [Vault] [Clients] Update cipher form component to default to My Items collections (#15356)
* fix tests

* remove unused code

* fix storybook

* fix storybook

* cleanup

* move observable to function. update tests

* fix type error

* move call to getDefaultCollectionId

* fix test
2025-07-02 08:54:42 -07:00
Nick Krantz
700f54357c [PM-20041] Marking Task as complete (#14980)
* When saving a cipher, mark any associated security tasks as complete

* fix test error from encryption refactor

* hide security tasks that are associated with deleted ciphers (#15247)

* account for deleted ciphers for atRiskPasswordDescriptions
2025-06-27 16:04:51 -05:00
Jordan Aasen
7403b38f39 [CL-715] - [Defect] SSH key Private Key field visibility should toggle to hidden when switching items to view in desktop (#15224)
* fix sshKey visibility

* add missing ngIf

* use two-way binding over explicit key
2025-06-25 11:45:42 -07:00
Brandon Treston
1c237a3753 [PM-20633] rename personal ownership (#15228)
* sensible renames

* renames

* clean up comments
2025-06-24 09:31:40 -04:00
Jordan Aasen
5fa153e743 [PM-20643] - [Vault] [Desktop] Front End Changes to Enforce "Remove card item type policy" (#15176)
* add restricted item types to legacy vault components

* filter out restricted item types from new menu item in desktop

* use CIPHER_MENU_ITEMS

* use CIPHER_MENU_ITEMS. move restricted cipher service to common

* use move restricted item types service to libs. re-use cipher menu items

* add shareReplay. change variable name

* move restricted filter to search service. remove unecessary import

* add reusable service method

* clean up spec

* add optional chain

* remove duplicate import

* move isCipherViewRestricted to service module

* fix logic

* fix logic

* remove extra space

---------

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
2025-06-18 12:13:38 -07:00
Jordan Aasen
1175da3845 [PM-20642] - [Vault] [Web App] Front End Changes to Enforce "Remove card item type policy" (#15097)
* add restricted item types service and apply it to filter web cipher

* code cleanup. add shareReplay

* account for multiple orgs when restricting item types

* restrict item types for specific orgs

* clean up logic. use policiesByType$

* track by item.type

* clean up filtering. prefer observable. do not exempt owners for restricted item types

* simplify in vault-filter. move item filter logic to vault. fix tests

* don't return early in filter-function
2025-06-11 09:30:12 -07:00
Brandon Treston
50cee3cd9a [PM-22099] expose default collection in clients collection service (#15122)
* Add types

* rename types

* fix types

* fix model and tests
2025-06-11 11:39:47 -04:00
Nick Krantz
729d5d3134 [PM-21546] Migrate from enum to constant object (#14975)
* add generic `union-of-values` helper

* migrate `GeneratorDialogAction` to a constant

* migrate `VaultState` to a constant

* migrate `AtRiskCarouselDialogResult` to a constant

* migrate `CredentialGeneratorDialogAction` to a constant

* migrate `FolderAddEditDialogResult` to a constant

* migrate `ViewCipherDialogResult` to a constant

* migrate `VisibleVaultBanner` to a constant

* migrate `VaultFilterLabel` to a constant

* migrate `WebVaultGeneratorDialogResult` to a constant

* migrate `BulkDeleteDialogResult` to a constant

* migrate `BulkMoveDialogResult` to a constant

* migrate `AddEditCipherDialogResult` to a constant

* migrate `VaultItemDialogResult` to a constant

* migrate `BrowserPromptState` to a constant

* migrate `NudgeType` to a constant

* migrate `SecurityTaskStatus` to a constant

* migrate `CipherRepromptType` to a constant

* migrate `SecureNoteType` to a constant

* migrate `FieldType` to a constant

* migrate `LinkedIdType` to a constant

* migrate `CollectionAssignmentResult` to a constant

* migrate `AddEditFolderDialogResult` to a constant

* migrate `AttachmentDialogResult` to a constant

* fix CipherType in delete organization dialog

* fix `in` statement in VaultFilter

* Fix build errors across enum updates

* fix two more CipherType castings

* update CipherResponse `CipherType`

* define type for `fieldType` parameter

* refine how `cipherTypeNames` is generated and add utility function for grabbing cipher type name

* use `CipherType` rather than `number`

* add stricter typing for `FieldType`

* add fixme for `CipherType` to be ADR-0025 compliant

* remove error throw for `toCipherTypeName` and instead update typing to have `| undefined`

* add helpers for CipherType conversions

* prefer `undefined`
2025-06-05 08:45:52 -05:00
Addison Beck
26caeb3083 Implement and extend tsconfig.base across projects (#14554)
* Implement and extend tsconfig.base across projects

* fixup! Merge remote-tracking branch 'origin/main' into rename-tsconfig

* fix: import tsconfig.base from components

* fix: skip typechecking node modules

* fixing tests

* fix the tests for real

* undo accidentally change
2025-06-02 20:38:17 +00:00
Oscar Hinton
f3ff1e98ec Remove standalone true from vault (#15040)
Remove standalone: true from every instance since it's the default as of Angular 19.
2025-06-02 13:22:57 -07:00
Oscar Hinton
2fbc4c1578 [CL-525] Upgrade angular to v19 (#14815)
Upgrade Angular to v19 using the update guide.

- Add `standalone: false` to any missed component in stories or tests.
- Update jest.config to follow the new best practices.
2025-06-02 13:13:31 -04:00
Matt Gibson
9f9cb0d13d Add-userid-to-encryption-methods (#14844)
* Get userId from response if available

This is a small improvement for the Auth team which avoids inspection of the access token, sometimes.

* Initialize sdk clients with a userId

* return both Cipher and encryptedFor when encrypting a cipher

Update cipher api requests to include encryptedFor attribute

* Prefer named types with documentation

* Update sdk to latest

* Fixup types

* Fixup tests

* Revert getting userId from identity token response

---------

Co-authored-by: Shane <smelton@bitwarden.com>
2025-05-30 10:50:54 -07:00
Addison Beck
0e0be0a3de ignore one eslint error (#14896) 2025-05-23 09:07:32 -04:00
Addison Beck
56a3b14583 Introduce eslint errors for risky/circular imports (#14804)
* first draft at an idea dependency graph

* ignore existing errors

* remove conflicting rule regarding internal platform logic in libs

* review: allow components to import from platform
2025-05-23 08:01:25 -04:00
Nick Krantz
f52e4e27a0 [PM-12770] Assign to Collections Hint (#14529)
* allow use of common spec in lib/vault tests

* pass readonly collections to the assign collection component

- The assign to collections component filters them out already.
-They're also needed to display copy within the component

* add hint to assign to collections component when there are read only collections assigned to a cipher already

* add readonly hint to desktop

* only show collection hint for collections that are assigned to the provided ciphers

* consider admin/owner edit everything permission when assigning to collections

* fix icon in test
2025-05-22 11:09:33 -05:00
Jason Ng
fd10a26df9 [PM-18804] generator nudges (#14705)
* added generator spotlight to credential generator component

* moved generator spotlight to browser component and add as slot in libs. update copy for send

* added an aria label for the generator nudge body content

* new copy and styles for browser send will be behind feature flag

* update featureflag call to observable in send-v2

* changed how nudge text is made in credential generator

* added new observable to vault nudges to return specific boolean. Update naming of vault types. update observable calls in credential-generator and send-v2

* update send-v2 and credential generator to use new renamed nudges

* update to create nudge generator spotlight component. using this inside the credential generator for nudge spotlight

* fix imports for Nudge related code

* add libs/angular to storybook

---------

Co-authored-by: Nick Krantz <nick@livefront.com>
2025-05-21 12:46:02 -05:00
Nick Krantz
1c4d851046 [PM-21005] Clear Add/Edit form cache when browser loses focus (#14634) 2025-05-21 08:00:49 -05:00
Jordan Aasen
4474aa8c96 [PM-21569] - sshkey view - replace bit-card with read-only-cipher-card (#14811)
* use replace bit-card with read-only-cipher-card

* remove unnecessary class
2025-05-20 12:00:07 -07:00
Nick Krantz
83c4438efe Refactor: Move NudgesService to libs/angular/vault (#14843)
* move NudgesService to libs/angular/vault to avoid circular dependencies

* remove fix for spotlight component in storybook
2025-05-19 15:21:14 -05:00
Oscar Hinton
c8629b92d3 [CL-694] Remove unused imports (#14795)
* Remove unused imports

* Remove more unused imports
2025-05-16 17:11:18 +02:00
Jordan Aasen
e35882afc8 fix margin in identity component (#14809) 2025-05-15 14:56:20 -07:00
Jason Ng
ee4c3cfd94 [PM-21663] nudge service name refactor (#14789)
* update names of vault nudge service and their corresponding files, convert components using showNudge$ to instead target spotlight and badges directly with new observables. Core logic for dismiss remains the same
2025-05-15 15:10:38 -04:00
Jordan Aasen
b30faeb62b [PM-21554] - Creating a new item while editing edits the item (#14770)
* fix adding new cipher while editing a cipher

* don't set updatedCipherView if the cached cipher has an id and the new one doesn't

* fix cipher form config
2025-05-15 10:09:51 -07:00
SmithThe4th
ad3121f535 [PM-12423] Migrate Cipher Decryption to Use SDK (#14206)
* Created mappings for client domain object to SDK

* Add abstract decrypt observable

* Added todo for future consideration

* Added implementation to cipher service

* Added adapter and unit tests

* Created cipher encryption abstraction and service

* Register cipher encryption service

* Added tests for the cipher encryption service

* changed signature

* Updated feature flag name

* added new function to be used for decrypting ciphers

* Added new encryptedKey field

* added new function to be used for decrypting ciphers

* Manually set fields

* Added encrypted key in attachment view

* Fixed test

* Updated references to use decrypt with feature flag

* Added dependency

* updated package.json

* lint fix

* fixed tests

* Fixed small mapping issues

* Fixed test

* Added function to decrypt fido2 key value

* Added function to decrypt fido2 key value and updated test

* updated to use sdk function without prociding the key

* updated localdata sdk type change

* decrypt attachment content using sdk

* Fixed dependency issues

* updated package.json

* Refactored service to handle getting decrypted buffer using the legacy and sdk implementations

* updated services and component to use refactored version

* Updated decryptCiphersWithSdk to use decryptManyLegacy for batch decryption, ensuring the SDK is only called once per batch

* Fixed merge conflicts

* Fixed merge conflicts

* Fixed merge conflicts

* Fixed lint issues

* Moved getDecryptedAttachmentBuffer to cipher service

* Moved getDecryptedAttachmentBuffer to cipher service

* ensure CipherView properties are null instead of undefined

* Fixed test

* ensure AttachmentView properties are null instead of undefined

* Linked ticket in comment

* removed unused orgKey
2025-05-14 07:30:01 -07:00
Jordan Aasen
7de6befbf4 replace bit-section with section for all shared cipher form and views (#14710) 2025-05-13 16:26:36 -07:00
Jason Ng
d68574fc40 [PM-21395] Vault Nudges Bugs (#14737)
* updates to empty vault and has items nudges
2025-05-13 16:49:41 -04:00
Patrick-Pimentel-Bitwarden
0b0397c3f0 fix(enums-eslint): Enum Rule for ESLint (#14650)
* fix(enums-eslint): Enum Rule for ESLint - Added enums in the warnings for eslint.

* fix(enums-eslint): Enum Rule for ESLint - Updated to error in both places for enums.

* fix(enums-eslint): Enum Rule for ESLint - Added new eslint plugin for warning on enums.

* fix(enums-eslint): Enum Rule for ESLint - Changed based on suggestion.

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

* refactor(browser-platform-utils): Remove Deprecation and Fix Code - Changed usages of firefox to private and moved the usages to the preferred public method and removed the deprecations.

* fix(enums-eslint): Enum Rule for ESLint - Updated to error and added disable rules for all other places.

* fix(enums-eslint): Enum Rule for ESLint - Undid other changes by accident
2025-05-13 10:07:38 -04:00
Todd Martin
eed18c9294 chore(view-cache): [PM-21154] Move view-cache its own feature package and adjust imports
* Moved view-cache services to directory

* Fixed DI for browser extension.

* Fixed tests.
2025-05-12 14:26:52 -04:00
Jordan Aasen
2282a74abd [PM-21021] - fix toggled hidden field state for custom fields view (#14595)
* fix toggled hidden field state for custom fields view

* fix hidden field toggle for cards and login details
2025-05-09 18:09:26 -07:00
Jordan Aasen
e538425e7a [PM-21343] - add download bitwarden to list of nudges for settings badge (#14682)
* add download bitwarden to list of nudges for settings badge

* update tests
2025-05-09 12:07:14 -07:00
Jordan Aasen
a7efd2158e [PM-18802] - Autofill Settings Nudges and Settings Badge (#14439)
* autofill nudge

* remove undismiss logic

* revert change to popup view cache service

* move browser autofill logic to platform. cleanup

* fix test

* adjustments to autofill nudges

* add missing provider

* updates to autofill nudges

* fix date logic

* change autofillBrowserSettingsService isBrowserAutofillSettingOverridden to function

* fix up browser autofill overridden settings logic

* remove check for privacy in isBrowserAutofillSettingOverridden
2025-05-09 08:52:54 -07:00
Daniel James Smith
26ecf3191c Fix angular performance issue on color-password.component (#14560)
* Fix performance issue, by using track $index instead of character as it can contain duplicate characters

* Migrate component to use Angular signal inputs

* Make file ts-strict compliant

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-05-08 17:19:09 -04:00
Jordan Aasen
fc1ebcfb58 various fixes to desktop cipher form (#14576) 2025-05-08 13:25:16 -07:00
Brandon Treston
f9edf048e3 [PM-19383] admins unable to download attachments (#14652)
* add admin support for downloading attachments

* fix delete and upload

* fix delete admin to return a response

* fix upload

* add missing param

* use getCipherAdmin

* fix cli

* fix QA bugs

* null check

* fix test

* cleanup

* add null check

* change comment
2025-05-08 09:49:15 -04:00
Vicki League
8ecb32f30f [CL-333] Icon Refresh Feature Branch (#14298)
* [CL-571] Update icons to new fileset and metaphors (#14163)

* [CL-518] Convert icons docs to stories (#14299)

* [CL-574] Update inline autofill icons (#14379)

---------

Co-authored-by: William Martin <contact@willmartian.com>
2025-05-07 17:07:14 -04:00
Jason Ng
daaf81ec36 [PM-21060] Refactor Has Nudges Service (#14653)
* refactor has nudges service to be its own Observable inside the vault nudges service.
2025-05-07 13:12:46 -04:00
Daniel James Smith
574891d617 [PM-16132][16249] Custom hidden field missing color and character count toggle (#13402)
* Add colored characters to custom hidden field

* Add character count toggle to hidden field

* Check correct variable for revealed hidden field

* Merge branch 'main' into vault/pm-16132/custom-hidden-field-missing-color-and-character-count-toggle

* Toggle character count on per field basis

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
Co-authored-by: Leslie Tilton <23057410+Banrion@users.noreply.github.com>
2025-05-07 09:53:57 -05:00
Bernd Schoolmann
744c1b1b49 [PM-21001] Move vault code to new encrypt service interface (#14546)
* Move vault code to new encrypt service interface

* Fix tests
2025-05-06 21:24:53 +00:00
Jordan Aasen
1486cee8b9 [PM-18799] - Settings Tab Badge Updates (#14405)
* download bitwarden page

* add has download bitwarden nudge service

* download bitwarden component and nudge

* fix test

* fix potential badge flash. prefer use of getUserId

* catch profileCreation error. clean up settings observables

* add profile date as observable

* fix failing tests

* remove debugging code and IntroCarouselDismissal

* fix observable name
2025-05-06 13:08:33 -07:00
Nick Krantz
46df5279a3 [PM-18485] Remove new device verification guard (#14417)
* remove NewDeviceVerificationGuard and all associated entities. New Device verification feature has rolled out in production, this guard is no longer needed.

* remove unused properties from the vault profile service
2025-05-06 13:08:30 -05:00
Nick Krantz
f3acfb29e5 short circuit well known URL check on all platforms but the browser (#14566) 2025-05-05 13:48:16 -05:00
Brandon Treston
fd43222938 [PM-19383] admins unable to download attachments (#14363)
* add admin support for downloading attachments

* fix delete and upload

* fix delete admin to return a response

* fix upload

* add missing param

* use getCipherAdmin

* fix cli
2025-05-05 13:36:49 -04:00
Jason Ng
60bafc1311 [PM-18803] New Item Nudge Login Spotlight Bold Copy Text (#14589)
* updated new-item-nudge.component to include bold text for login spotlight. and link in ssh spotlight
2025-05-05 11:59:25 -04:00
Jordan Aasen
237002b633 [PM-20988][PM-20986][PM-20983][PM-20971][PM-21019] - Multiple defect fixes for desktop cipher form update (#14559)
* multiple bug fixes

* favor getters to local state

* fix tests
2025-05-02 14:21:08 -07:00