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

448 Commits

Author SHA1 Message Date
Vicki League
26c0176e2e [CL-712] Update icon button, components using it, and affected virtual scroll heights (#15683) 2025-08-05 10:58:49 -04:00
Rui Tomé
40a1a0a2b7 [PM-22241] Add DefaultUserCollectionName support to bulk organization user confirmation (#15873)
* Add bulk user confirmation method to OrganizationUserService

* Update OrganizationUserBulkConfirmRequest to include optional defaultUserCollectionName property

* Implement conditional bulk user confirmation logic in BulkConfirmDialogComponent.

Its gated behind the feature flag for default user collection.

* Refactor OrganizationUserBulkConfirmRequest to use SdkEncString for defaultUserCollectionName

* Refactor BulkConfirmDialogComponent to use organization object instead of organizationId for improved clarity and type safety.

* Add unit tests for OrganizationUserService to validate user single/bulk confirmation logic

* Refactor OrganizationUserService to streamline encrypted collection name retrieval by introducing getEncryptedDefaultCollectionName$ method.

* Refactor unit tests for OrganizationUserService to reduce duplication by introducing a setupCommonMocks function for common mock configurations.

* refactor(organization-user.service): streamline retrieval of encrypted collection name in bulk confirmation process
2025-08-05 15:34:17 +01:00
Vijay Oommen
13a8b46d30 [PM-23826] Crowdstrike integration dialog (#15757) 2025-07-31 11:45:35 -05:00
Brandon Treston
f079d79426 [PM-24261] Fix infinite loading on members tab (#15833)
Use combineLatest instead of withLatestFrom to ensure the observable
always emits whenever any value is updated
2025-07-30 09:19:30 +10:00
Todd Martin
b3db1b79ce chore(feature flags): [PM-19034] Remove feature flags and old components for Set/Change Password
* Removed flag and components.

* More cleanup

* Removed ChangePasswordComponent.

* Removed old EmergencyAccessTakeover

* Removed service initialization.

* Fixed test failures.

* Fixed tests.

* Test changes.

* Updated comments

* Fixed tests.

* Fixed tests.

* Fixed merge conflict.

* Removed style and routing references.

* Better comments.

* Removed ResetPasswordComponent
2025-07-24 12:46:18 -04:00
Vijay Oommen
df8e0ed094 [PM-23825] setup crowdstrike card (#15728) 2025-07-24 08:53:03 -05:00
Brandon Treston
d0d1359ff4 [PM-12048] Wire up vNextCollectionService (#14871)
* remove derived state, add cache in service. Fix ts strict errors

* cleanup

* promote vNextCollectionService

* wip

* replace callers in web WIP

* refactor tests for web

* update callers to use vNextCollectionServcie methods in CLI

* WIP make decryptMany public again, fix callers, imports

* wip cli

* wip desktop

* update callers in browser, fix tests

* remove in service cache

* cleanup

* fix test

* clean up

* address cr feedback

* remove duplicate userId

* clean up

* remove unused import

* fix vault-settings-import-nudge.service

* fix caching issue

* clean up

* refactor decryption, cleanup, update callers

* clean up

* Use in-memory statedefinition

* Ac/pm 12048 v next collection service pairing (#15239)

* Draft from pairing with Gibson

* Add todos

* Add comment

* wip

* refactor upsert

---------

Co-authored-by: Brandon <btreston@bitwarden.com>

* clean up

* fix state definitions

* fix linter error

* cleanup

* add test, fix shareReplay

* fix item-more-options component

* fix desktop build

* refactor state to account for null as an initial value, remove caching

* add proper cache, add unit test, update callers

* clean up

* fix routing when deleting collections

* cleanup

* use combineLatest

* fix ts-strict errors, fix error handling

* refactor Collection and CollectionView properties for ts-strict

* Revert "refactor Collection and CollectionView properties for ts-strict"

This reverts commit a5c63aab76.

---------

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2025-07-23 19:05:15 -04:00
Jordan Aasen
417c4cd13b [PM-23479] - Can see card filter in AC if you belong to multiple orgs (#15661)
* hide card filter if user does not have a cipher with the allowing org

* fix restricted item type filter visibility

* do not include deleted ciphers
2025-07-23 09:33:29 -07:00
Jordan Aasen
aa2c5a0087 [PM-22374] - [Vault] [Web] Hide vault header menu dropdown for My Items collection (#15742)
* fix cloneCollection to include type

* add newline
2025-07-23 08:40:59 -07:00
cyprain-okeke
96f31aac3a [PM 18701]Optional payment modal after signup (#15384)
* Implement the planservice

* Add the pricing component and service

* Add the change plan type service

* resolve the unit test issues

* Move the changeSubscriptionFrequency endpoint

* Rename planservice to plancardservice

* Remove unused and correct typos

* Resolve the double asignment

* resolve the unit test failing

* Remove default payment setting to card

* remove unnecessary check

* Property initialPaymentMethod has no initializer

* move the logic to service

* Move estimate tax to pricing service

* Refactor thr pricing summary component

* Resolve the lint unit test error

* Add changes for auto modal

* Remove custom role for sm

* Resolve the blank member page issue

* Changes on the pricing display
2025-07-22 15:58:17 +01:00
Brandon Treston
92bbe0a3c2 [PM-22100] Enforce restrictions based on collection type (#15336)
* enforce restrictions based on collection type, set default collection type

* fix ts strict errors

* fix default collection enforcement in vault header

* enforce default collection restrictions in vault collection row

* enforce default collection restrictions in AC vault header

* enforce default collection restriction for select all

* fix ts strict error

* switch to signal, fix feature flag

* fix story

* clean up

* remove feature flag, move check for defaultCollecion to CollecitonView

* fix test

* remove unused configService

* fix test: coerce null to undefined for collection Id

* clean up leaky abstraction for default collection

* fix ts-strict error

* fix parens

* rename defaultCollection getter

* clean up
2025-07-18 10:53:12 -04:00
Nick Krantz
b4120e0e3f [PM-22134] Migrate list views to CipherListView from the SDK (#15174)
* add `CipherViewLike` and utilities to handle `CipherView` and `CipherViewLike`

* migrate libs needed for web vault to support `CipherViewLike`

* migrate web vault components to support

* add  for CipherView.  will have to be later

* fetch full CipherView for copying a password

* have only the cipher service utilize SDK migration flag

- This keeps feature flag logic away from the component
- Also cuts down on what is needed for other platforms

* strongly type CipherView for AC vault

- Probably temporary before migration of the AC vault to `CipherListView` SDK

* fix build icon tests by being more gracious with the uri structure

* migrate desktop components to CipherListViews$

* consume card from sdk

* add browser implementation for `CipherListView`

* update copy message for single copiable items

* refactor `getCipherViewLikeLogin` to `getLogin`

* refactor `getCipherViewLikeCard` to `getCard`

* add `hasFido2Credentials` helper

* add decryption failure to cipher like utils

* add todo with ticket

* fix decryption failure typing

* fix copy card messages

* fix addition of organizations and collections for `PopupCipherViewLike`

- accessors were being lost

* refactor to getters to fix re-rendering bug

* fix decryption failure helper

* fix sorting functions for `CipherViewLike`

* formatting

* add `CipherViewLikeUtils` tests

* refactor "copiable" to "copyable" to match SDK

* use `hasOldAttachments` from cipherlistview

* fix typing

* update SDK version

* add feature flag for cipher list view work

* use `CipherViewLikeUtils` for copyable values rather than referring to the cipher directly

* update restricted item type to support CipherViewLike

* add cipher support to `CipherViewLikeUtils`

* update `isCipherListView` check

* refactor CipherLike to a separate type

* refactor `getFullCipherView` into the cipher service

* add optional chaining for `uriChecksum`

* set empty array for decrypted CipherListView

* migrate nudge service to use `cipherListViews`

* update web vault to not depend on `cipherViews$`

* update popup list filters to use `CipherListView`

* fix storybook

* fix tests

* accept undefined as a MY VAULT filter value for cipher list views

* use `LoginUriView` for uri logic (#15530)

* filter out null ciphers from the `_allDecryptedCiphers$` (#15539)

* use `launchUri` to avoid any unexpected behavior in URIs - this appends `http://` when missing
2025-07-17 14:55:32 -05:00
Jordan Aasen
60419bd96f add new-cipher-menu component (#15467)
* add new-cipher-menu component

* move new cipher menu to vault. clean up template
2025-07-16 12:39:38 -07:00
Rui Tomé
aa8505128f [PM-20167] Refactor: Remove SeparateCustomRolePermissions feature flag and flagged logic (#15628) 2025-07-16 16:36:34 +01:00
Bernd Schoolmann
60855c734f [PM-17666] Move Encstring to KM ownership (#15457)
* Move Encstring to KM ownership

* Fix wrong import

* Fix build

* Fix remaining imports

* Fix tests
2025-07-16 11:15:24 -04:00
Brandon Treston
4f84d6b0f6 fix bulk restore for unassigned items (#15533) 2025-07-14 15:50:13 -04:00
Nick Krantz
b1b513b527 when a colleciton is deleted, always refresh ciphers (#15549) 2025-07-10 10:09:42 -05:00
Alex Morask
a53b1e9ffb [PM-21881] Manage payment details outside of checkout (#15458)
* Add billable-entity

* Add payment types

* Add billing.client

* Update stripe.service

* Add payment method components

* Add address.pipe

* Add billing address components

* Add account credit components

* Add component index

* Add feature flag

* Re-work organization warnings code

* Add organization-payment-details.component

* Backfill translations

* Set up organization FF routing

* Add account-payment-details.component

* Set up account FF routing

* Add provider-payment-details.component

* Set up provider FF routing

* Use inline component templates for re-usable payment components

* Remove errant rebase file

* Removed public accessibility modifier

* Fix failing test
2025-07-10 08:32:40 -05:00
Jordan Aasen
9f1531a1b2 [PM-22375] - [Vault] [Clients] Sort My Items collection to the top of Vault collection filters (#15332)
* WIP - default collection sorting

* apply filtering to popup list filters service.

* add tests. add feature flag checks

* finalize my items collection filters

* fix type error

* re-add service

* re-add comment

* remove unused code

* fix sorting logic

* shorten variable name to fit one line

* fix error

* fix more errors

* abstract logic to vault filter service

* fix test

* export sort as function instead of adding to class

* fix more tests

* add collator arg

* remove ts-ignore. fix type errors

* remove optional param

* fix vault filter service
2025-07-09 09:37:38 -06:00
Bryan Cunningham
b4d87007ba [CL-718] nav updates (#15226)
* add basic new nav item styling

* update alt-3 bg color

* add x padding to item

* remove copy left in error

* style app switcher to match nav items

* adding new button hover colors

* add new logo lockups

* use new logos in web vault

* fix color and svg fills

* use set height for nav items

* optimize SVGs

* move if logic

* use rem for icon size

* move shield logo

* use shield svg for collapsed icon

* remove unused eslint disable directive

* run prettier

* remove variables

* update logo hover styles

* use more standard flow control syntax

* update admin console logo svg

* add new hover variables

* use class instead of fill

* use variable for logo hover

* remove unnecessary container

* use hover variable for nav switcher

* use correct variables for fill colors

* update hover state to use variable left in error

* give icon width to preserve text alignment

* remove tree story as functionality no longer supported

* remove nested styles helper

* remove obsolete afterContentInit

* remove tree example from layout story

* remove tree example from secondary layout story

* remove tree example from kitchen sink story

* Fix interaction test

* remove remaining references to tree variant
2025-07-03 16:12:56 -04:00
Tom
832e4b16f0 Org permission guards for accessing reports and displaying access intelligence (#15060) 2025-07-01 13:58:12 -04:00
Thomas Rittson
80116c7e54 Use organizations$ observable instead of class member (#15377) 2025-06-30 11:18:56 -05:00
Jared McCannon
64f8073fdf Removed feature flag for OptimizeNestedTraverseTypescript and vnext methods related to it. (#15314) 2025-06-27 13:13:21 -05:00
Brandon Treston
652f673a3c [PM-23086] fix My Items collection name (#15366)
* fix My Items collection name

* clean up
2025-06-27 11:49:58 -04:00
Jordan Aasen
62750a06ec [PM-36] - [Tech Debt] Move SearchService to libs/common/vault (#15251)
* wip - migrate search service to vault

* fix import
2025-06-27 08:16:59 -07:00
Colton Hurst
f7ca5b7818 Small Typo & Lint Fix (#15313)
* Small typo and lint fix

* Removes extra line
2025-06-27 10:28:35 -04:00
Brandon Treston
4d0ad3310e fix error (#15335) 2025-06-26 11:11:07 -04:00
rr-bw
1df54c71be refactor(account-recovery): [PM-18721][PM-21272] Integrate InputPasswordComponent in AccountRecoveryDialogComponent (#14662)
Integrates the `InputPasswordComponent` within the new `AccountRecoveryDialogComponent`.

Feature flag: `PM16117_ChangeExistingPasswordRefactor`
2025-06-25 07:29:22 -07:00
Jordan Aasen
9ba3cc0690 [PM-22741] - [Defect] Missing copy in the Edit policy Remove card item type policy (#15235)
* update copy

* update copy
2025-06-24 10:38:50 -07:00
Brandon Treston
012ce25e49 add encrypted collection name to confirmUser request (#15156) 2025-06-24 09:34:48 -04: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
Ketan Mehta
97417b6949 [PM-22253] fixed white background in darkmode (#15020)
* fixed white background in darkmode

* removed tw-apperance-none typo

* changed both Permission from simple to bit-select

* Update apps/web/src/app/admin-console/organizations/shared/components/access-selector/access-selector.component.html

Co-authored-by: Vicki League <vleague2@Gmail.com>

* ui change for permission

* added SelectModule in Test file

* added selectModule in access stories

---------

Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Co-authored-by: Vicki League <vleague2@Gmail.com>
2025-06-18 15:43:00 +01:00
Jared McCannon
6a273a3891 Removed isEnterpriseOrgGuard as that is covered in the canAccessIntegrations function (#15231) 2025-06-17 15:21:58 -05:00
Vicki League
df4aae2fb2 [CL-700] Move auth-owned layout components to UIF ownership (#15093) 2025-06-17 13:33:01 -04:00
Will Martin
b8a1856fc6 [CL-696] un-revert "various drawer improvements" + bug fix (#14887)
* Revert "Revert "[CL-622][CL-562][CL-621][CL-632] various drawer improvements …"

This reverts commit 4b32d1f9dd.

* fix virtual scroll: add .cdk-virtual-scrollable to scroll viewport target

* remove references to main el

* use directives instead of querySelector (#14950)

* remove references to main el

* wip

* banish querySelector to the shadow realm

* revert apps/ files

* Add virtual scrolling docs

Co-authored-by: Vicki League <vleague@bitwarden.com>

* add jsdoc

* run eslint

* fix skip links bug

* Update libs/components/src/layout/layout.component.ts

Co-authored-by: Vicki League <vleague@bitwarden.com>

* update tab handler

* only run on tab

* fix lint

* fix virtual scroll issue due to Angular 19 upgrade (#15193)

thanks Vicki

---------

Co-authored-by: Vicki League <vleague@bitwarden.com>
2025-06-17 11:05:14 -04: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
Rui Tomé
b5bddd0b06 [PM-17154] Limit item deletion feature flag removal (#15094)
* Refactor components to remove limitItemDeletion feature flag usage

This commit simplifies the logic in various components by removing the limitItemDeletion feature flag. The conditions for displaying restore and delete actions are now based solely on the cipher's permissions, enhancing code clarity and maintainability.

* Refactor cipher deletion logic to remove the feature flag and collection ID dependency

This commit updates the cipher deletion logic across multiple components and services by removing the unnecessary dependency on collection IDs. The `canDeleteCipher$` method now solely relies on the cipher's permissions, simplifying the code and improving maintainability.

* Remove LimitItemDeletion feature flag from feature-flag enum and default values

* Remove configService from ServiceContainer and MainBackground constructor parameters

* Remove configService from RestoreCommand instantiation in OssServeConfigurator and VaultProgram classes
2025-06-10 09:57:34 +01: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
Jordan Aasen
7386a4fa9e [PM-19306] - [Vault] In Admin Console Policies area add the remove card item type policy (#15065)
* WIP - add restricted item types policy

* admin console restricted item types

* add comment

* update feature flag

* fix comment
2025-06-04 15:51:43 -07:00
Oscar Hinton
3cad691f13 Remove standalone true from ac (#15036)
Remove standalone: true from every instance since it's the default as of Angular 19.
2025-06-03 08:51:36 +10:00
Jared McCannon
4290136a2a Fixed which collection observable was passed to the nested traverse. (#15008) 2025-05-30 09:36:10 -05:00
Jared McCannon
058eb9a04b [PM-19127] - Nested Traverse Optimization (#14881)
* Draft optimization of getNestedCollectionTree

* Added feature flag to wrap nestedTraverse_vNext. added the old implementation back in for feature flagging.

* Correction from CR

* Copied tests over for the vNext method.

---------

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
2025-05-29 10:17:30 -05:00
cyprain-okeke
0715597e8e [PM-21603]Invite Member sub text seat count does not account for sponsorships (#14954)
* Resolve the membership count

* Get the occupied Seat count from metadata
2025-05-29 15:06:07 +01:00
Oscar Hinton
5423ab3268 [PM-21934] Upgrade to eslint 9 (#14754)
Upgrades to Eslint v9. Since this is a major version there were breaking changes, but since we've previously migrated to flat configs in #12806 those were minimal.
2025-05-27 13:13:15 -04:00
✨ Audrey ✨
97a591e738 [PM-16793] port credential generator service to providers (#14071)
* introduce extension service
* deprecate legacy forwarder types
* eliminate repeat algorithm emissions
* extend logging to preference management
* align forwarder ids with vendor ids
* fix duplicate policy emissions; debugging required logger enhancements

-----

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-05-27 09:51:14 -04:00
Brandon Treston
207fd3af1d [PM-17148] Remove banner and state, migrate state (#14882)
* remove banner and state, migrate state

* add migration, bump version
2025-05-23 13:55:47 -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
Brandon Treston
9417d8a943 [PM-18633] Remove feature flagged logic (#14856)
* remove feature flagged logic

* clean up
2025-05-22 09:35:39 -04:00
Ike
ae35cb4e65 [PM-20540] Deep-link refactor to fix SSO deep links (#14587)
* PM-20540 - TwoFactorAuthComponent - Refactor determineDefaultSuccessRoute to rely on user's auth status as the loginStrategyService's state is cleared after successful AuthN

* PM-20540 - DeepLinkGuard - Refactor to exempt login-initiated so that TDE + unlock with MP + deep link works.

* doc: Add documentation and change folder structure.
* test: add test for new excluded route.

---------

Co-authored-by: Jared Snider <jsnider@bitwarden.com>
2025-05-21 08:24:17 -04:00