1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-29 12:55:21 +01:00
Commit Graph

1568 Commits

Author SHA1 Message Date
Matt Gibson
6faa9f58ed
Log full api error (#10409) 2024-08-06 09:43:39 -04:00
Nick Krantz
334393ff16
decrease headings within browser extension to h6 styling (#10383) 2024-08-05 13:06:55 -05:00
Nick Krantz
8fcf717ec4
[PM-10437][PM-10438] Copy toast message (#10366)
* add option to include a label for copy success message

* add label text to copy success messages for all cipher types
2024-08-05 13:00:29 -05:00
Jake Fink
2819ac597f
[BEEEP: PM-10190] Use strict TS checks in CLI service container (#10298)
* move cli service-container to new folder

* fix imports

* add tsconfig and fix type issues in other services

* fix more imports in service-container

* make ts server happy in service-container

* fix actual bugs in cli service-container

* fix package json reference path

* fix service-container import

* update type on cipher service
2024-08-05 11:39:08 -04:00
Cesar Gonzalez
76351ce750
[PM-10420] Autofill focus jumps around after autofilling identity (#10361)
* [PM-10420] Autofill focus jumps around after autofilling identity ciphers

* [PM-10420] Autofill focus jumps around after autofilling identity ciphers

* [PM-10420] Autofill focus jumps around after autofilling identity ciphers

* [PM-10420] Incorporating the feature flag within jest to test the validity of both implementations

* [PM-10420] Refactoring how we compile the combined list of keywords

* [PM-10420] Adding JSDocs to the implemented methods
2024-08-02 14:14:23 -05:00
Oscar Hinton
c50a9063bc
[PM-2340] Enable use-lifecycle-interface (#5488)
Enables one of the recommended rules of @angular-eslint. Since this rule was fairly trivial to fix and has no QA effects it seemed reasonable to migrate all code.
2024-08-02 13:59:38 -04:00
Bernd Schoolmann
cc45655b86
Revert "[PM-6296] Fix biometrics error prompt when biometrics are temporarily…" (#10373)
This reverts commit 1184c504d1.
2024-08-02 07:46:54 -04:00
Bernd Schoolmann
1184c504d1
[PM-6296] Fix biometrics error prompt when biometrics are temporarily unavailable in browser extension (#9851)
* Add availability check to biometrics

* Move isbiometricunlockavailable logic to parent component

* Fix availability detection on desktop

* FIx response parsing on browser

* Suppress pending biometric message while checking for availability

* Refactor biometrics functions out of platformutilsservice

* Remove unused constructor

* Remove unused abstract function definitions

* Rename abstract services

* Add documentation

* Rename service abstraction, add comments

* Add comments

* Refactor browser biometrics into background/foreground and remove callbacks

* Remove unused logs

* Remove unused logs
2024-08-02 12:31:11 +02:00
Bernd Schoolmann
c6229abd12
[PM-5963] Fix tde offboarding vault corruption (#9480)
* Fix tde offboarding

* Add tde offboarding password request

* Add event for tde offboarding

* Update libs/auth/src/common/models/domain/user-decryption-options.ts

Co-authored-by: Jake Fink <jfink@bitwarden.com>

* Update libs/common/src/services/api.service.ts

Co-authored-by: Jake Fink <jfink@bitwarden.com>

* Make tde offboarding take priority

* Update tde offboarding message

* Fix unit tests

* Fix unit tests

* Fix typo

* Fix unit tests

---------

Co-authored-by: Jake Fink <jfink@bitwarden.com>
2024-08-01 19:48:09 -04:00
✨ Audrey ✨
d26ea1be5f
[PM-9423] use observable user encryptor in secret state (#10271) 2024-08-01 17:25:10 -04:00
Nick Krantz
d6f57149d9
[PM-10375] Remove Identity Margin (#10349)
* remove margin from the last form field across identity sections

* remove bottom margin from the item name when it is the only field

* replace JS margin solution with CSS
2024-08-01 10:48:09 -05:00
Shane Melton
0d76835cd8
[PM-9190] Edit Login - Autofill Options (#10274)
* [PM-8524] Update appA11yTitle to keep attributes in sync after first render

* [PM-8524] Introduce UriOptionComponent

* [PM-9190] Introduce AutofillOptionsComponent

* [PM-9190] Add AutofillOptions to LoginDetailsSection

* [PM-9190] Add autofill options component unit tests

* [PM-9190] Add UriOptionComponent unit tests

* [PM-9190] Add missing translations

* [PM-9190] Add autofill on page load field

* [PM-9190] Ensure updatedCipherView is completely separate from originalCipherView

* [CL-348] Do not override items if there are no OptionComponents available

* [PM-9190] Mock AutoFillOptions component in Login Details tests

* [PM-9190] Cleanup storybook and missing web translations

* [PM-9190] Ensure storybook decryptCipher returns a separate object
2024-08-01 08:35:04 -07:00
Nick Krantz
ffc9022f54
[PM-10424][PM-10425] Extension Refresh - Copy success toast (#10353)
* add option to pass toast variant into copy-click directive

* refactor copy toast to use success variant

* add tests for copy-click directive

* swap `success` to be the default toast variant
2024-08-01 09:24:07 -05:00
Cesar Gonzalez
86acca3bec
[PM-10079] Add keyboard shortcut to autofill identity and credit cards (#10254)
* [BEEEP] Autofill Identity and Card Ciphers From Keyboard Shortcut

* [PM-10079] Add keyboard shortcut to autofill identity and credit card ciphers

* [PM-10079] Fixing jest tests

* [PM-10079] Added an enum for the autofill commands, and adjusted how we filter out cipher types before sorting them by last used when calling for ID and card ciphers

* [PM-10079] Updating copywriting for the autofill settings revolving around keyboard shortcuts

* [PM-10079] Setting a method within CipherService as private
2024-07-31 12:52:04 -05:00
Alex Morask
4a0b6fc191
Update client side error handling and remove add account credit from sub (#10214) 2024-07-31 09:27:16 -04:00
rr-bw
27fa7625cf
add option to make button block/inline (#10197) 2024-07-30 21:27:00 -05:00
Jason Ng
22d3a3e280
PM-7901 Add disableMargin to name field in card details (#10334) 2024-07-30 16:28:48 -04:00
Jason Ng
80af356fd1
[PM-7901] added new card view (#10321)
* added new card view
2024-07-30 15:54:45 -04:00
✨ Audrey ✨
cbac5fde11
[PM-10259] improve forwarder rpc error handling (#10330)
* only accept `application/json` responses
2024-07-30 15:39:49 -04:00
rr-bw
18ef51449f
[PM-8307] AnonLayout Design Changes (#10166)
* update logo, padding, and add hideFooter property and hideLogo input

* typography and icon adjustments

* add story with hidden logo input

* handle updating the icon

* update storybook docs

* update border radius

* update icon colors to use tw classes

* update storybook docs

* handle default icon

* make hideFooter an input

* update icon sizing

* update icon sizing
2024-07-30 13:48:51 -05:00
Jared Snider
d915bd8c86
Auth/PM-10069 - Unauthenticated UI Extension Refresh Swap Utility (#10327)
* PM-3515 - Lock component - remove isUnlocked check on lock comp load b/c lock guard should cover all cases with its existing logic for all clients.

* PM-9685 - Add new feature flag

* PM-10069 - ExtensionRefreshRouteUtils - Add unauthExtensionRefreshSwap helper

* Restore lock component
2024-07-30 14:41:10 -04:00
Nick Krantz
84ee01caee
[PM-7103] Identity View (#10240)
* make headings of v2 view component lowercase

* initial add of view identity sections

* adding identification fields

* add contact information section

* add copy ability to all identity fields

* add visibility toggle for passport and ssn

* add testids for all identity fields

* add test-ids to visibility toggles

* refactor visibility methods to be called in `ngOnInit` rather than on each render

* replace `disabled` with `readonly`
2024-07-30 10:55:09 -05:00
SmithThe4th
81212deaad
[PM-7306] Onboarding users to new UI (#10267)
* Added translation keys

* created simple dialog

(cherry picked from commit c12257cf51ca5e0d773a160afb6860a8f5df66b7)

* added announcement svg

(cherry picked from commit 635103120b500103b93dc1a8cbefc34dd396445b)

* removed announcement svg, moved svg to component, refactored component

(cherry picked from commit 50db6aa40fd90d92afeeb60e919f98f268bd69b5)

* renamed state definition

(cherry picked from commit 4c3618c46ee5ffab7050fbc9f6d779ee59c0c26b)

* created vault ui onboarding service

(cherry picked from commit 19ba3c42656d4f891ba3635da06f3ff7656b6028)

* added vault ui dialog to vault component

(cherry picked from commit 56527c8e5eda7df2f222ceebdeba168e2f1ae278)

* moved updating the state to vault component

* updated the link and fixed minor issues

* moved onboarding logic from component to service and fixed review comments
2024-07-30 11:45:26 -04:00
cyprain-okeke
6896ef2392
[AC-2708] Upgrading from a password manager only subscription (#10320)
* Add changes for the upgrade dialog

* Resolve the  free org to any org type besides Families

* Resolve the pr comments on navigation

* resolve family plan upgrade from free
2024-07-30 16:01:28 +01:00
✨ Audrey ✨
8c78959aaf
[PM-9613] port forwarders to integrations (#10075)
* introduced forwarder integrations
* simply contexts
* report error and message when both are present in an RPC response
2024-07-30 08:40:52 -04:00
Nick Krantz
8f437dc773
[PM-1655] Trial Registration Layout (#9091)
* add messaging for finish sign up component

* Add product enum for finish sign up components

* Allow confirmation details component to display secret manager confirmation

* add FinishSignUp component

- Started as exact copy of trial initiation component
- Consolidated with secrets manager trial components

* Integration finish sign up component into routing

- Use anon layout component
- Add resolver to pass the accurate title to the layout

* migrate to product tier type

* use existing ProductType enum

* migrate to accept org service

* fix query param parsing for free trial text

* migrate finish sign up to complete trial naming

* migrate fully to productTier

* fix import of free trial resolver

* increase max width of anon layout

* add auth-input component

* refactor component makeup

* export the users password if needed to auto login the user

* handle login situations where a stepper isn't used

* fix type check

* allow max width of anon layout to be configurable

* remove account created toast

* update productTier query param in text resolver

* set maxWidth for secrets manager trial route

* parse product query param as an int

* properly show registration error

* update routes to be from the root rather than relative

* install updated prettier and apply fixes

* fix missing password in test

---------

Co-authored-by: Conner Turnbull <133619638+cturnbull-bitwarden@users.noreply.github.com>
2024-07-30 08:11:40 -04:00
Alec Rippberger
3b54bbd168
[PM-7902] Create V2 Note Component View (#10150)
* Rename <additional-information> component to <additional-options>

The Figma designs show and update to the Additional Information section. The heading changed to "Additional options". It probably makes sense to update the component name to match.

* Make view note header "note" lowercase.

* Add new translation messages for view header.

* Revert "Add new translation messages for view header."

This reverts commit 4e8877fe71.

* Make cipher headers lowercase via toLowerCase function

* Remove unused import.

* run npm ci && npm run prettier

* add back missing import
2024-07-29 16:24:35 -05:00
SmithThe4th
0bbbe5e139
[PM-9825] Remove margin from last field in section (#10315)
* Added disableMargin to the last field in a section

* simplified disableMargin input
2024-07-29 16:42:27 -04:00
Nick Krantz
2103cb4591
[PM-10141] Fix name input styling (#10317)
* import FormFieldModule

* use bit-* form field elements so styling is consistent

* replace `readonly` with `disabled` so the field can not be interacted with

* standardize spacing around orgs/folders

* revert disable/readonly swap

* remove duplicate import
2024-07-29 15:38:06 -05:00
Alec Rippberger
6b8f60792e
Count and display invalid fields in toast. (#10249) 2024-07-29 15:33:29 -05:00
Jason Ng
3b668deaac
[PM-9631] MP reprompt view items (#10291)
* MP reprompt check will run before viewing item
2024-07-29 16:08:35 -04:00
Jason Ng
22bb1316cd
PM-10047 update name input in item details (#10294) 2024-07-29 11:16:00 -04:00
Shane Melton
ad01a529e8
[PM-9959] [PM-9962] Browser Refresh - Passkey Fixes (#10299)
* [PM-9959] Expose Fido2SessionData interface

* [PM-9959] Ensure cipherType is passed during passkey creation

* [PM-9959] Add beforeSubmit hook to cipherForm

* [PM-9959] Add support for Fido2 credential creation in add-edit-v2

* [PM-9959] Ensure cipherType defaults to CipherType.Login if none is available

* [PM-9959] Add support for name and username to be passed in as query params for initial form values

* [PM-9962] Hide remove passkey button when cipher has "except passwords" permissions
2024-07-29 08:13:56 -07:00
Justin Baur
271d65c953
Turn On Debug Info For 2 Keys (#10316) 2024-07-29 10:19:21 -04:00
Justin Baur
f1c177b3cf
[PM-9980] Turn off cache for certain keys (#10226)
* Turn Off Cache For DeviceKey

* Turn Off Cache For AppId
2024-07-29 09:24:22 -04:00
Justin Baur
c91f9146da
[PM-9978] Add State Logging Options (#10251)
* Add `DebugOptions` to Definitions

* Respect Debug Options

* Configure DI
2024-07-29 13:21:21 +00:00
Thomas Rittson
c5c8c45bab
[AC-2924] Remove GroupsComponentRefactor flag (#10259)
* Remove feature flag and old component
2024-07-26 07:46:11 +10:00
Bernd Schoolmann
ad26f0890a
[PM-4348] Migrate AuthGuards to functions (#9595)
* Migrate auth guards

* Fix remaining auth guard migration

* Fix unauth guard usage

* Add unit tests for auth guard and unauth guard

* Remove unused angular DI code

* Move auth related logic out fo sm guard

* Add tests

* Add more tests for unauth guard

* Fix incorrect merge
2024-07-25 17:00:29 -04:00
Jared Snider
96648b4897
Auth/PM-9603 - AnonLayoutWrapper Dynamic content support (#10216)
* PM-9603 - WIP - Untested DefaultAnonLayoutWrapperDataService

* PM-9603 - DefaultAnonLayoutWrapperSvc needs constructor

* PM-9603 - Good progress on getting storybook setup for the anon-layout-wrapper component - having issues with getting dummy component to display.

* PM-9603 - AnonLayoutWrapper Story working with default and dynamic content.

* PM-9603 - Tweak verbiage

* PM-9603 - Tweak stories; add mdx

* PM-9603 - Export AnonLayoutWrapperDataService and DefaultAnonLayoutWrapperDataService from libs/auth and wire up as default implementation in jslib-services.module

* PM-9603 - Address PR feedback
2024-07-25 16:16:54 -04:00
Jordan Aasen
0bf0d1ac96
[PM-9853] - Add SendListItemsContainer component (#10193)
* send list items container

* update send list items container

* finalize send list container

* remove unecessary file

* undo change to config

* prefer use of takeUntilDestroyed

* add specss
2024-07-25 21:39:20 +02:00
✨ Audrey ✨
bb5f56838a
[PM-8809] delete common generator code (#10218) 2024-07-25 12:08:18 -04:00
Jared Snider
c755512770
Auth/PM-10095 - Registration with Email Verification - Registration Finish - Fix endless load on Org Invite Accept (#10270)
* PM-10095 - Properly center loading spinner

* PM-10095 - RegistrationFinish - update query param changes subscription to have empty observable path for org invite to prevent observable error of switchmap receiving undefined.
2024-07-25 11:41:02 -04:00
Daniel James Smith
92692388cb
Move stranded enum into @bitwarden/vault-export-ui (#10247)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-07-25 11:17:35 -04:00
Ike
b3f7bad4b2
added feature flag, and services for tokenable when adding Authenticator two factor; (#10261) 2024-07-25 08:13:57 -07:00
renovate[bot]
b9eb4003a1
[deps] Autofill: Update prettier to v3.3.3 (#10228)
* [deps] Autofill: Update prettier to v3.3.3

* prettier formatting changes

* fix SyntaxError for literal @ inline html

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com>
2024-07-25 11:11:55 -04:00
Shane Melton
f4023762a8
[PM-9190] Use updateFn for patchCipher so that the current CipherView is available for context (#10258) 2024-07-25 07:50:39 -07:00
Jared Snider
e3a8bb1468
PM-10076 - Registration start - hide env selector when on web and self hosted like other env selectors. (#10255) 2024-07-25 10:44:43 -04:00
rr-bw
9355a9bb43
[PM-7330] Create SetPasswordComponent (email verification) (#9810)
* setup SetPassword component

* accept query params

* add InputPasswordComponent to template

* add route

* add dynamic translation with org name

* feature flag route

* setup onInit

* add set password logic

* move to libs

* remove comments

* update AuthGuard routing

* use ToastService

* replace deprecated methods

* replace orgId input with policy input

* use getter for msg instead of ngOnInit

* cleanup

* refactor to use services

* more refactoring of service

* address browser routing and translations

* add desktop service

* simplify queryParam handler

* remove ngOnDestroy

* small edits

* use inject()

* add jsdocs

* create basic tests

* add success toasts on successfuly set password

* add tests

* update feature-flag

* move model to service

* refactor client services to override setPassword()

* add error handling to setPassword()

* move auto enroll logic to service

* update tests

* fix test

* adjust padding on password-callout list

* revert refactor of auto enroll logic

* refactor keyPair generation to own method

* update page title and button text

* update pageSubtitle and translations

* fix test
2024-07-25 07:42:32 -07:00
Will Martin
2be34c3b8f
[CL-376] add dialog background input (#10237) 2024-07-24 16:51:56 -04:00
Jason Ng
7a22afcae3
PM-9924 add middle name field to Identity Edit Page (#10252) 2024-07-24 15:28:27 -04:00
Jason Ng
9421b6f0c0
PM-9639 updated elements used in additional information (#10246) 2024-07-24 15:27:12 -04:00
Jason Ng
5b628b7c1f
PM-9644 adding test ids in item details v2 (#10245) 2024-07-24 15:25:55 -04:00
Tom
95bdea3925
[PM-4311] - Collections test fix (#10248)
* populate the collection's external id when importing

* Fixing the collections test case

---------

Co-authored-by: Andre Rosado <arosado@bitwarden.com>
2024-07-24 20:39:00 +02:00
Nick Krantz
61713e5fe4
[PM-9951] Assignment Collections copy (part 2) (#10244)
* add back disc bullet for assignment collections

* add singular and plural versions of bulk collection assignment description
2024-07-24 13:28:33 -05:00
Victoria League
5a2db79235
[CL-305] Allow margin to be disabled for elements at the bottom of a page (#10132) 2024-07-24 12:08:33 -04:00
Victoria League
c52709e6f0
[CL-337] Fix toggle group visual bug from tw-group collisions (#10188) 2024-07-24 11:40:10 -04:00
Jonathan Prusik
0ff62a5cc3
[PM-8338] New Autofill Settings Components (#10184)
* add v2 autofill settings component

* add and update entries in message catalog for new autofill settings view

* add confirmation dialogs ahead of new tabs for browser settings from autofill settings

* fix autofill on page load warning styling and improper concatenation

* code cleanup
2024-07-24 11:39:48 -04:00
aj-rosado
d2afe221f0
populate the collection's external id when importing (#10114) 2024-07-24 11:15:58 -04:00
Jason Ng
037d3ae91a
[PM-9630] custom field linked fields update browser v2 (#10236) 2024-07-24 10:55:05 -04:00
Jordan Aasen
fc55082148
[PM-8386] - Add section header to import page (#10153)
* first pass section header in import data component

* change layout

* fix desktop bg

* revert chnage to default config

* update translation key

* revert change to background color
2024-07-24 07:27:28 -07:00
Jake Fink
4c26ab5a9e
[PM-10059] alert server if device trust is lost (#10235)
* alert server if device trust is lost

* add test

* add tests for extra errors

* fix build

---------

Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
2024-07-24 10:25:57 -04:00
Matt Gibson
97f44ace66
Loosen timings to avoid false failures. (#10215)
Biggest ones here are the not resolved tests that can be evaluated at any time.
2024-07-24 08:46:02 +02:00
Nick Krantz
3093566f01
[PM-9951] Assign to Collection copy (#10205)
* refactor "Assign collections" to "Assign to collections"

* show singular or plural version of collection assignment success message

* update singular and plural warning text

* refactor switch to be an `if`
2024-07-23 21:21:39 -05:00
Vincent Salucci
06b370ee75
[AC-2648] Remove Organization.FlexibleCollections from Models (#10163)
* chore: remove FlexibleCollections from profile-organization.response, refs AC-2648

* chore: remove FlexibleCollections from organization.response, refs AC-2648

* chore: remove FlexibleCollections from organization.data, refs AC-2648

* chore: remove FlexibleCollections from organization, refs AC-2648
2024-07-23 16:03:09 -05:00
Nick Krantz
b32f6182a5
swap edit for save in edit dialog (#10171) 2024-07-23 15:43:07 -05:00
Jason Ng
e7e8745334
[PM-9629 ] updated checkbox in custom fields (#10234) 2024-07-23 16:20:03 -04:00
Jordan Aasen
5d2fe9403b
[PM-9852] - Add SendListFilters component (#10192)
* and send list filters and service

* undo changes to jest config

* add specs for send list filters

* send list items container

* update send list items container

* finalize send list container

* Revert "Merge branch 'PM-9853' into PM-9852"

This reverts commit 9f65ded13f, reversing
changes made to 63f95600e8.

* fix icons and class name

* fix names. add export

* add more coverage
2024-07-23 11:48:20 -07:00
Jason Ng
0e0c44b90b
[PM-9638] Browser V2 Item Details Defects (#10124)
* Item Details Refactored. Created OrgIcon directive, Added screen reader logic, removed excess styling.
2024-07-23 13:29:46 -04:00
Jason Ng
6041c460b7
[PM-9809] attachments v2 refactor (#10142)
* update attachments v2 view. using download attachment component. remove excess code. Refactor location of attachments v2
2024-07-23 13:27:39 -04:00
Nick Krantz
decc7a3031
[PM-9926] Linked Fields order (#10174)
* refactor linkedFieldOption to take in an attributes object

* add sort positions for existing linked fields

* sort linked fields on new custom fields
2024-07-23 12:26:02 -05:00
Justin Baur
477294379b
Special Case 0 to mean no caching at all (#10221) 2024-07-23 07:58:59 -04:00
Rui Tomé
57b8c30664
[PM-8082] Enforce individual vault policy for all user types except organization admins and owners (#10034) 2024-07-23 11:08:43 +01:00
Nick Krantz
0e207e851a
checked -> checkbox (#10212) 2024-07-22 15:04:03 -05:00
✨ Audrey ✨
52f6b24020
[PM-9118] fix duplicate website name (#9782) 2024-07-22 15:22:08 -04:00
Jason Ng
f63ab065a4
[PM-9634] update item history browser v2 (#10120)
* hide pw updated if not login or no history. update font of pw history
2024-07-22 14:26:45 -04:00
Nick Krantz
cf34f66156
[PM-9922] Custom Fields - Focus Management (#10187)
* use zip to ensure both query changes and new items have been added

* query for the label directly rather than the associated one

there is only one label and the checkbox is wrapped in the label
2024-07-22 12:42:31 -05:00
Nick Krantz
8a86a699ff
[PM-9952][PM-9954] Minor assign collection fixes (#10190)
* disable organization selector when only one org is selected

* break long org names in assign collections copy

- applicable more in the browser implementation

* add `title` to each select option so a mouse over presents the name

- more applicable to the browser extension where names can overflow

* truncate options that overflow a select

* set max width of form fields to 100%
2024-07-22 09:26:38 -05:00
Nick Krantz
0e51695078
swap boolean label for checked (#10168) 2024-07-22 09:15:16 -05:00
Nick Krantz
019c5d6677
use linked types from the cipher prototype (#10167)
- When adding a new cipher the cipher view isn't defined yet
2024-07-22 09:12:36 -05:00
Bernd Schoolmann
457c0795be
Remove old biometrics masterkey logic (#9943) 2024-07-22 13:40:19 +00:00
✨ Audrey ✨
e22568f05a
[PM-9422] generator engines (#10032)
* introduce email-randomizer
* introduce email-calculator
* introduce password-randomizer
* introduce username-randomizer
* move randomizer abstraction
2024-07-19 16:34:39 -04:00
Matt Gibson
5b5c165e10
[PM-8847] Delay browser local storage operations during reseed (#9536)
* Define matchers to test promise fulfillment

These are useful for validating that promises depend on other events prior to fulfilling.

* Expose custom matchers to jest projects

Team-specific projects are not touched here to try and reduce review burden.

* Block browser local operations awaiting reseed

This should closes a narrow race condition resulting from storage operations during a reseed event.

* Import from barrel file

This might fix the failing test, but I'm not sure _why_

* Document helper methods

* Validate as few properties as possible per test

* Simplify expected value representation

* Allow waiting in promise matchers

* Specify resolution times in promise orchestration tests.

* Test behavior triggering multiple reseeds.

* Fix typo

* Avoid testing implementation details

* Clear reseed on startup

in case a previous process was aborted in the middle of a reseed.

* Correct formatting
2024-07-19 16:12:29 -04:00
Daniel James Smith
1320d96cb4
[PM-9869] Create SendFormContainer (#10147)
* Move SendV2component into send-v2 subFolder

* Create SendFormContainer and related services

* Add initial SendFormComponent which uses the SendFormContainer

* Remove AdditionalOptionsSectionComponent which will be added with a future PR

* Add libs/tools/send to root tsconfig

* Register libs/tools/send/send-ui with root jest.config.js

* Register libs/tools/send/send-ui with root tailwind.config.js

* Fix service injection on DefaultSendFormService

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-07-19 21:17:52 +02:00
Jonathan Prusik
beeb0354fd
[PM-7174] New Notifications Settings and Excluded Domains components (#10059)
* add v2 notification settings component

* adjust filenames for future deprecation

* drop popup tab navigation for the notification settings view

* add refreshed excluded domains component

* do not allow edits of pre-existing excluded domains

* fix buttonType on bit-link button
2024-07-19 12:36:09 -04:00
Nick Krantz
11669da911
add testids for automation testing (#10170) 2024-07-19 11:31:33 -05:00
Bernd Schoolmann
05e8b45edb
[PM-7084] 6/6: Introduce shared duo two-factor component (#9772)
* Add shared duo component

* Fix duo import

* Fix wrong i18n service DI in duo desktop component

* Remove duo v2

* Add override to functions

* Remove web duo implementation

* Update apps/browser/src/auth/popup/two-factor-auth-duo.component.ts

Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>

* Update apps/desktop/src/auth/two-factor-auth-duo.component.ts

Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>

* Update libs/angular/src/auth/components/two-factor-auth/two-factor-auth-duo.component.ts

Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>

* Fix missing service on duo components

* Fix missing service on base duo auth component

* Fix constructor super calls in duo auth component

* Fix duo auth components incorrectly extending base class

---------

Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
2024-07-19 16:29:24 +02:00
aj-rosado
94d6cc3ef1
[PM-8780] Added validation to only display organizations with managed collections (#10065)
* Added validation to only display organizations with managed collections on the export org selector

* using the decryptedCollection$ directly instead of creating a new observable from the encryptedCollections array
2024-07-19 10:45:35 +01:00
Jason Ng
150b9ef29c
[PM-9629] Custom Fields V2 View Section Defects (#10103)
* Updates to Custom Fields V2 View
2024-07-18 18:56:02 -04:00
SmithThe4th
c27657eb82
[PM-8050] Deleting one folder deletes all other folders (#10165)
* removed the use of deletepromise from folder edit dialog on web

* resolved fix me

* return folders if folder is not found with folder id
2024-07-18 18:28:25 -04:00
Jared Snider
56f5dba444
Auth/PM-6198 - Registration with Email Verification - Call email clicked endpoint (#10139)
* PM-6198 - Majority of client work done; WIP on registration finish comp

* PM-6198 - Registration Finish - Add registerVerificationEmailClicked logic

* PM-6198 - RegistrationLinkExpired component; added translations on other clients just in case we use the component on other clients in the future.

* PM-6198 - Clean up comment
2024-07-18 17:37:22 -04:00
Jared Snider
158da35008
Auth/PM-9873 - Registration with Email Verification - Start Component clean up (#10157)
* RegistrationStart - sanitize name input

* PM-9873 - Registration Start - per discussion with design, remove autofocus to solve issue w/ email required error showing immediately due to login component mousedown events.

* PM-9873 - Restore autofocus for accessibility
2024-07-18 17:18:49 -04:00
Jared Snider
8be11b174c
Registration start - update copy per product request. (#10169) 2024-07-18 17:10:32 -04:00
Shane Melton
517967d4fe
Use static date for storybook data (#10172) 2024-07-18 13:47:49 -07:00
Nick Krantz
bf66cd1550
filter out linked option for notes (#10162) 2024-07-18 13:57:10 -05:00
Shane Melton
f75c1ab02d
[PM-8524] Cipher Form - Edit Login Details Section (#10081)
* [PM-8524] Introduce login details section component

* [PM-8524] Add ability to remove passkey

* [PM-8524] Introduce TotpCaptureService and the Browser implementation

* [PM-8524] Tweak storybook

* [PM-8524] Add note regarding existing login view references

* [PM-8524] Fix clone mode so that a new cipher is created

* [PM-8524] Add support for generating usernames/passwords and auditing passwords

* [PM-8524] Migrate password/username generation to CipherFormGenerationService

* [PM-8524] Add optional passwordInput to BitPasswordInputToggle to support conditionally rendered password toggle buttons

* [PM-8524] Add LoginDetailsSection tests

* [PM-8524] Add BrowserTotpCaptureService tests

* Revert "[PM-8524] Add optional passwordInput to BitPasswordInputToggle to support conditionally rendered password toggle buttons"

This reverts commit e76a0ccfe8.

* [PM-8524] Add null check to password input toggle
2024-07-18 09:38:55 -07:00
Nick Krantz
9bfd838da6
[PM-8381] Assign collections (#9854)
* initial add of assign collections component

* grab cipherId from query params

* add organization selection for moving a cipher

* add multi-select for collections

* add transfer of cipher to an organization

* temp: do not show assign collections while a cipher already has an organization

* account for initial collections for a cipher

* block assign-collections route with feature flag

* replace hardcoded string with i18n

* separate out async calls to switchMap to avoid async subscribe

* use local cipher rather than decrypting again

* use anchor for better semantics

* migrate form submission to bitSubmit directive

* swap to "assign" rather than "save"

* integrate with base AssignCollections component

* clean up messages file

* remove unneeded takeUntilDestroyed

* remove unneeded bitFormButton

* remove unused translations

* lint fix

* refactor assign-collections component to take in a button reference

- This allows consuming components to not have to worry about loading/disabled states
- The base AssignCollections component will change the submit button when supplied
2024-07-18 08:53:53 -05:00
Daniel James Smith
cebbb9486e
[PM-9855] Add premium badge to new file send item dropdown (#10137)
* Create browsers SendV2 component

* Add premium badge to new file send item dropdown

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-07-18 14:41:09 +01:00
Bernd Schoolmann
84b719d797
[PM-4154] Introduce Bulk Encrypt Service for Faster Unlock Times (#6465)
* Implement multi-worker encryption service

* Fix feature flag being flipped and check for empty input earlier

* Add tests

* Small cleanup

* Remove restricted import

* Rename feature flag

* Refactor to BulkEncryptService

* Rename feature flag

* Fix cipher service spec

* Implement browser bulk encryption service

* Un-deprecate browserbulkencryptservice

* Load browser bulk encrypt service on feature flag asynchronously

* Fix bulk encryption service factories

* Deprecate BrowserMultithreadEncryptServiceImplementation

* Copy tests for browser-bulk-encrypt-service-implementation from browser-multithread-encrypt-service-implementation

* Make sure desktop uses non-bulk fallback during feature rollout

* Rename FallbackBulkEncryptService and fix service dependency issue

* Disable bulk encrypt service on mv3

* Change condition order to avoid expensive api call

* Set default hardware concurrency to 1 if not available

* Make getdecrypteditemfromworker private

* Fix cli build

* Add check for key being null
2024-07-18 08:56:22 -04:00
Bernd Schoolmann
fd93c76c0d
Fix key rotation being broken due to org ciphers being included (#10140) 2024-07-17 10:31:35 -04:00
Nick Krantz
83d141c914
[PM-8803] Edit Custom Fields (#10054)
* initial add of custom fields

* add fields for custom field

* integrate custom field into cipher form service for text fields

* add hidden field type

* add boolean custom field

* add linked option type

* add testids for automated testing

* add edit option for each custom field

* update dialog component name to match add/edit nature

* add delete button for fields

* initial add of drag and drop

* collect tailwind styles from vault components

* add drag and drop functionality with announcement

* add reorder via keyboard

* update tests to match functionality

* account for partial edit of custom fields

* fix change detection for new fields

* add label's to the edit/reorder translations

* update dynamic heading to be inline

* add validation/required for field label

* disable toggle button on hidden fields when the user cannot view passwords

* remove the need for passing `updatedCipherView` by only using a single instance of `CustomFieldsComponent`

* lint fix

* use bitLink styles rather than manually defining tailwind classes

* use submit action, no duplicated button and allows for form submission via enter

* add documentation for `newField`
2024-07-17 09:11:42 -05:00
Anders Åberg
dbc9b9c90b
PM-4877: Only allow replacing passkeys for the same userhandle (#9804)
* Initial draft

* small cleanup

* show vaul items without passkeys

* Refactored a bit

* tests run for me?

* Fixed platform test

* null and undefined

* lint
2024-07-16 13:39:41 -04:00
rr-bw
aa8c5b1516
make minimumLength msg update if mp policy is enforced (#10105) 2024-07-16 09:36:05 -07:00
rr-bw
e2c99c2cdf
use new tools-password-strength component (#10125) 2024-07-16 09:14:39 -07:00
Bernd Schoolmann
69a37a884f
Add shared webauthn component (#9771) 2024-07-16 10:46:37 -04:00
Oscar Hinton
bc7c6dd04e
[PM-9710] [Bootstrap] Hide file inputs when not using bootstrap (#10095)
When removing boostrap it seems the hidden attribute to the file inputs stops working. This implements a "quick" fix by just adding the tw-hidden class.
2024-07-15 13:09:25 -05:00
Cesar Gonzalez
e973d72b01
[PM-5189] Fix issues with inline menu rendering in iframes and SPA websites (#8431)
* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService

* [PM-8027] Finalization of Jest test for the implementation

* [PM-5189] Fixing existing jest tests before undergoing larger scale rework of tests

* [PM-5189] Implementing jest tests for the OverlayBackground

* [PM-5189] Working through jest tests for OverlayBackground

* [PM-5189] Working through jest tests for OverlayBackground

* [PM-5189] Reworking how we handle updating ciphers on unlock and updating reference to auth status to use observable

* [PM-5189] Fixing issue with how we remove the inline menu when a field is populated

* [PM-5189] Fixing issue with programmatic redirection of the inlne menu

* [PM-5189] Fixing issue with programmatic redirection of the inlne menu

* [PM-5189] Adjusting how we handle fade out of the inline menu element

* [PM-5189] Implementing jest tests for the OverlayBackground

* [PM-5189] Implementing jest tests for the OverlayBackground

* [PM-5189] Implementing jest tests for the OverlayBackground

* [PM-5189] Implementing jest tests for the OverlayBackground

* [PM-5189] Implementing jest tests for the OverlayBackground

* [PM-5189] Implementing jest tests for the OverlayBackground

* [PM-5189] Implementing jest tests for the OverlayBackground

* [PM-5189] Implementing jest tests for the OverlayBackground

* [PM-5189] Implementing jest tests for the OverlayBackground

* [PM-5189] Implementing jest tests for the OverlayBackground

* [PM-5189] Fixing a weird side issue that appears when a frame within the page triggers a reposition after the inline menu has been built

* [PM-5189] Fixing a weird side issue that appears when a frame within the page triggers a reposition after the inline menu has been built

* [PM-5189] Fixing a weird side issue that appears when a frame within the page triggers a reposition after the inline menu has been built

* [PM-8027] Fixing a typo

* [PM-8027] Incorporating a feature flag to allow us to fallback to the basic inline menu fielld qualification method if needed

* [PM-8027] Incorporating a feature flag to allow us to fallback to the basic inline menu fielld qualification method if needed

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Adding jest tests for added methods in AutofillInit

* [PM-5189] Refactoring implementation

* [PM-5189] Implementing jest tests for the CollectAutofillContentService

* [PM-5189] Implementing jest tests for the AutofillOverlayContentService

* [PM-5189] Working through jest tests for the AutofillOverlayContentService

* [PM-5189] Working through jest tests for the AutofillOverlayContentService

* [PM-5189] Working through jest tests for the AutofillOverlayContentService

* [PM-5189] Working through jest tests for the AutofillOverlayContentService

* [PM-5189] Working through jest tests for the AutofillOverlayContentService

* [PM-5189] Implementing jest tests for AutofillInlineMenuIframeServce

* [PM-5189] Fixing a typo

* [PM-5189] Fixing a typo

* [PM-5189] Correcting typing information

* [PM-5189] Fixing some typos

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation0

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService

* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService

* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService

* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService

* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService

* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService

* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService

* [PM-5189] Fixing an issue found with iframe service

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Refactoring implementation

* [PM-5189] Removing TODO message

* [PM-5189] Increasing the time we delay the closure of the inline menu

* [PM-5189] Fixing an issue with how we handle closing the inline menu after a programmtic redirection

* [PM-5189] Removing unnecessary property

* [PM-5189] Removing unnecessary property

* [PM-5189] Fixing an issue with how scroll events trigger a reposition of the inline menu when the field is not focused;

* [PM-5189] Implementing a set threshold for the maximum depth for which we are willing to calculate sub frame offsets

* [PM-5189] Implementing a set threshold for the maximum depth for which we are willing to calculate sub frame offsets

* [PM-5189] Implementing a set threshold for the maximum depth for which we are willing to calculate sub frame offsets

* [PM-5189] Implementing a set threshold for the maximum depth for which we are willing to calculate sub frame offsets

* [PM-5189] Fixing jest tests

* [PM-5189] Implementing a methodology for triggering subframe updates from layout-shift

* [PM-5189] Implementing a methodology for triggering subframe updates from layout-shift

* [PM-8027] Fixing issue with username fields not qualifyng as a valid login field if a viewable password field is not present

* [PM-8027] Fixing issue with username fields not qualifyng as a valid login field if a viewable password field is not present

* [PM-8027] Fixing an issue where a field that has no form and no visible password fields should be qualified if a single password field exists in the page

* [PM-8027] Fixing an issue where a field that has no form and no visible password fields should be qualified if a single password field exists in the page

* [PM-5189] Implementing a methodology for triggering subframe updates from layout-shift

* [PM-5189] Implementing a methodology for triggering subframe updates from layout-shift

* [PM-8869] Autofill features broken on Safari

* [PM-8869] Autofill features broken on Safari

* [PM-5189] Working through subFrameRecalculation approach

* [PM-5189] Fixing an issue found within Safari

* [PM-8027] Reverting flag from a fallback flag to an enhancement feature flag

* [PM-8027] Fixing jest tests

* [PM-5189] Reworking how we handle updating ciphers within nested sub frames

* [PM-5189] Reworking how we handle updating ciphers within nested sub frames

* [PM-5189] Reworking how we handle updating ciphers within nested sub frames

* [PM-5189] Reworking how we handle updating ciphers within nested sub frames

* [PM-5189] Fixing issue found in Safari with how the inline menu is re-positioned

* [PM-5189] Fixing issue found in Safari with how the inline menu is re-positioned

* [PM-5189] Fixing issue found in Safari with how the inline menu is re-positioned

* [PM-5189] Fixing jest tests

* [PM-5189] Fixing jest tests

* [PM-5189] Refining how we handle fading in the inline menu elements

* [PM-5189] Refining how we handle fading in the inline menu elements

* [PM-5189] Refining how we handle fading in the inline menu elements

* [PM-5189] Reworking how we handle updating the inline menu position

* [PM-5189] Reworking how we handle updating the inline menu position

* [PM-5189] Reworking how we handle updating the inline menu position

* [PM-5189] Reworking how we handle updating the inline menu position

* [PM-5189] Reworking how we handle updating the inline menu position

* [PM-5189] Reworking how we handle updating the inline menu position

* [PM-5189] Reworking how we handle updating the inline menu position

* [PM-5189] Working through content script port improvement

* [PM-5189] Working through content script port improvement

* [PM-5189] Working through content script port improvement

* [PM-5189] Working through content script port improvement

* [PM-5189] Working through content script port improvement

* [PM-5189] Working through content script port improvement

* [PM-5189] Working through content script port improvement

* [PM-5189] Working through content script port improvement

* [PM-5189] Working through content script port improvement

* Revert "[PM-5189] Working through content script port improvement"

This reverts commit 857008413f.

* Revert "[PM-5189] Working through content script port improvement"

This reverts commit f219d71070.

* Revert "[PM-5189] Working through content script port improvement"

This reverts commit f389263b64.

* Revert "[PM-5189] Working through content script port improvement"

This reverts commit 8a48e576e1.

* Revert "[PM-5189] Working through content script port improvement"

This reverts commit e30a1ebc5d.

* Revert "[PM-5189] Working through content script port improvement"

This reverts commit da357f46b3.

* [PM-5189] Reverting content script port rework

* [PM-5189] Fixing jest tests for AutofillOverlayContentService

* [PM-5189] Adding documentation for the AutofillOverlayContentService

* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays

* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays

* [PM-5189] Throttling how often sub frame calculations can be triggered from the focus in listener

* [PM-5189] Finalizing jest tests for AutofillOverlayContentService

* [PM-5189] Finalizing jest tests for AutofillOverlayContentService

* [PM-5189] Finalizing jest tests for AutofillOverlayContentService

* [PM-5189] Removing custom debounce method that is unused

* [PM-5189] Removing custom debounce method that is unused

* [PM-2857] Reworking how we handle invalidating cache when a tab chagne has occurred

* [PM-5189] Fixing issues found within code review behind how we position elements

* [PM-5189] Fixing issues found within code review behind how we position elements

* [PM-5189] Fixing issues found within code review behind how we position elements

* [PM-5189] Fixing issues found within code review behind how we position elements

* [PM-5189] Fixing issues found within code review behind how we position elements

* [PM-5189] Fixing issues found within code review behind how we position elements

* [PM-5189] Adding jest tests for OverlayBackground methods

* [PM-5189] Adding jest tests for OverlayContentService methods

* [PM-5189] Working through further issues on positioning of inline menu

* [PM-5189] Working through further issues on positioning of inline menu

* [PM-5189] Working through further issues on positioning of inline menu

* [PM-5189] Working through further issues on positioning of inline menu

* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays

* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays

* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays

* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays

* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays

* [PM-5189] Fixing an issue found when switching between open windows

* [PM-5189] Fixing an issue found when switching between open windows

* [PM-5189] Removing throttle from resize listeners within the content script

* [PM-5189] Removing throttle from resize listeners within the content script

* [PM-5189] Fixing issue within Safari relating to repositioning elements from outer frame

* [PM-5189] Fixing issue within Safari relating to repositioning elements from outer frame

* [PM-5189] Fixing issue within Safari relating to repositioning elements from outer frame

* [PM-5189] Adding some documentation and adjust jest test for util method

* [PM-5189] Reverting naming structure for OverlayBackground method

* [PM-5189] Fixing a missed promise reference within OverlayBackground

* [PM-5189] Removing throttle from resize listeners within the content script

* Revert "[PM-5189] Removing throttle from resize listeners within the content script"

This reverts commit 62cf0f8f24.

* [PM-5189] Re-adding throttle and reducing delay

* [PM-5189] Fixing an issue with onButton click settings not being respected when a reposition event occurs

* [PM-5189] Adding a missing test to OverlayBackground

* [PM-5189] Fixing an issue where we trigger a blur event when the inline menu is hovered, but the page takes focus away

* [PM-9342] Inline menu does not show on username field for a form that has a password field with an invalid autocomplete value

* [PM-9342] Incorporating logic to handle multiple autocomplete values within a captured set of page details

* [PM-9342] Incorporating logic to handle multiple autocomplete values within a captured set of page details

* [PM-9342] Changing logic for how we identify new password fields to reflect a more assertive qualification

* [PM-9342] Adding feedback from code review

* [PM-5189] Fixing an issue where the port key for an inline menu element could potentially be undefined if the window focus changes too quickly

* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account

* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account

* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account

* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account

* [PM-9267] Implement feature flag for inline menu re-architecture (#9845)

* [PM-9267] Implement Feature Flag for Inline Menu Re-Architecture

* [PM-9267] Incorporating legacy OverlayBackground implementation

* [PM-9267] Incorporating legacy overlay content scripts

* [PM-9267] Incorporating legacy overlay content scripts

* [PM-9267] Incorporating legacy overlay content scripts

* [PM-9267] Incorporating legacy overlay content scripts

* [PM-9267] Finalizing feature flag implementation

* [PM-9267] Finalizing feature flag implementation

* [PM-9267] Finalizing feature flag implementation

* [PM-9267] Finalizing feature flag implementation

* [PM-9267] Finalizing feature flag implementation

* [PM-9267] Finalizing feature flag implementation

* [PM-9267] Finalizing feature flag implementation

* [PM-9267] Finalizing feature flag implementation

* [PM-9267] Adjusting naming convention for page files

* [PM-9267] Adjusting naming convention for page files

* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account

* PM-4950 - Fix hint and verify delete components that had the data in the wrong place (#9877)

* PM-4661: Add passkey.username as item.username (#9756)

* Add incoming passkey.username as item.username

* Driveby fix, was sending wrong username

* added username to new-cipher too

* Guarded the if-block

* Update apps/browser/src/vault/popup/components/vault/add-edit.component.ts

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

* Fixed broken test

* fixed username on existing ciphers

---------

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

* PM-4878: Add passkey information to items when signing in (#9835)

* Added username to subtitle

* Added subName to cipher

* Moved subName to component

* Update apps/browser/src/vault/popup/components/fido2/fido2-cipher-row.component.ts

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

* Fixed double code and added comment

* Added changeDetection: ChangeDetectionStrategy.OnPush as per review

---------

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

* [AC-2791] Members page - finish component library refactors (#9727)

* Replace PlatformUtilsService with ToastService

* Remove unneeded templates

* Implement table filtering function

* Move member-only methods from base class to subclass

* Move utility functions inside new MemberTableDataSource

* Rename PeopleComponent to MembersComponent

* [deps] Platform: Update angular-cli monorepo to v16.2.14 (#9380)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [PM-8789] Move desktop_native into subcrate (#9682)

* Move desktop_native into subcrate

* Add publish = false to crates

* [PM-6394] remove policy evaluator cache (#9807)

* [PM-9364] Copy for Aggregate auto-scaling invoices for Teams and Enterprise customers (#9875)

* Change the seat adjustment message

* Move changes from en_GB file to en file

* revert changes in en_GB file

* Add feature flag to the change

* use user verification as a part of key rotation (#9722)

* Add the ability for custom validation logic to be injected into `UserVerificationDialogComponent` (#8770)

* Introduce `verificationType`

* Update template to use `verificationType`

* Implement a path for `verificationType = 'custom'`

* Delete `clientSideOnlyVerification`

* Update `EnrollMasterPasswordResetComponent` to include a server-side hash check

* Better describe the custom scenerio through comments

* Add an example of the custom verficiation scenerio

* Move execution of verification function into try/catch

* Migrate existing uses of `clientSideOnlyVerification`

* Use generic type option instead of casting

* Change "given" to "determined" in a comment

* Restructure the `org-redirect` guard to be Angular 17+ compliant (#9552)

* Document the `org-redirect` guard in code

* Make assertions about the way the `org-redirect` guard should behave

* Restructure the `org-redirect` guard to be Angular 17+ compliant

* Convert data parameter to function parameter

* Convert a data parameter to a function parameter that was missed

* Pass redirect function to default organization route

* don't initialize kdf with validators, do it on first set (#9754)

* add testids for attachments (#9892)

* Bug fix - error toast in 2fa (#9623)

* Bug fix - error toast in 2fa

* Bug fix - Yubikey code obscured

* 2FA error fix

* Restructure the `is-paid-org` guard to be Angular 17+ compliant (#9598)

* Document that `is-paid-org` guard in code

* Remove unused `MessagingService` dependency

* Make assertions about the way the is-paid-org guard should behave

* Restructure the `is-paid-org` guard to be Angular 17+ compliant

* Random commit to get the build job moving

* Undo previous commit

* Bumped client version(s) (#9895)

* [PM-9344] Clarify accepted user state (#9861)

* Prefer `Needs confirmation` to `Accepted` display status

This emphasizes that action is still required to complete setup.

* Remove unused message

* Bumped client version(s) (#9906)

* Revert "Bumped client version(s) (#9906)" (#9907)

This reverts commit 78c2829793.

* fix duo subscriptions and org vs individual duo setup (#9859)

* [PM-5024] Migrate tax-info component (#9872)

* Changes for the tax info migration

* Return for invalid formgroup

* Restructure the `org-permissions` guard to be Angular 17+ compliant (#9631)

* Document the `org-permissions` guard in code

* Restructure the `org-permissions` guard to be Angular 17+ compliant

* Update the `org-permissions` guard to use `ToastService`

* Simplify callback function sigantures

* Remove unused test object

* Fix updated route from merge

* Restructure the `provider-permissions` guard to be Angular 17+ compliant  (#9609)

* Document the `provider-permissions` guard in code

* Restructure the `provider-permissions` guard to be Angular 17+ compliant

* [deps] Platform: Update @types/argon2-browser to v1.18.4 (#8180)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Bumped client version(s) (#9914)

* [PM-7162] Cipher Form - Item Details (#9758)

* [PM-7162] Fix weird angular error regarding disabled component bit-select

* [PM-7162] Introduce CipherFormConfigService and related types

* [PM-7162] Introduce CipherFormService

* [PM-7162] Introduce the Item Details section component and the CipherFormContainer interface

* [PM-7162] Introduce the CipherForm component

* [PM-7162] Add strongly typed QueryParams to the add-edit-v2.component

* [PM-7162] Export CipherForm from Vault Lib

* [PM-7162] Use the CipherForm in Browser AddEditV2

* [PM-7162] Introduce CipherForm storybook

* [PM-7162] Remove VaultPopupListFilterService dependency from NewItemDropDownV2 component

* [PM-7162] Add support for content projection of attachment button

* [PM-7162] Fix typo

* [PM-7162] Cipher form service cleanup

* [PM-7162] Move readonly collection notice to bit-hint

* [PM-7162] Refactor CipherFormConfig type to enforce required properties with Typescript

* [PM-7162] Fix storybook after config changes

* [PM-7162] Use new add-edit component for clone route

* [deps]: Update @yao-pkg/pkg to ^5.12.0 (#9820)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Autosync the updated translations (#9922)

Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>

* Autosync the updated translations (#9923)

Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>

* Autosync the updated translations (#9924)

Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>

* [AC-2830] Unable to create a free organization (#9917)

* Resolve the issue free org creation

* Check that the taxForm is touched

* [PM-7162] Fix broken getter when original cipher is null (#9927)

* [PM-8525] Edit Card (#9901)

* initial add of card details section

* add card number

* update card brand when the card number changes

* add year and month fields

* add security code field

* hide number and security code by default

* add `id` for all form fields

* update select options to match existing options

* make year input numerical

* only display card details for card ciphers

* use style to set input height

* handle numerical values for year

* update heading when a brand is available

* remove unused ref

* use cardview types for the form

* fix numerical input type

* disable card details when in partial-edit mode

* remove hardcoded height

* update types for formBuilder

* [PM-9440] Fix: handle undefined value in migration 66 (#9908)

* fix: handle undefined value in migration 66

* fix: the if-statement was typo

* Rename "encryptionAlgorithm" to "hashAlgorithmForEncryption" for clarity (#9891)

* [PM-7972] Account switching integration with "remember email" functionality (#9750)

* add account switching logic to login email service

* enforce boolean and fix desktop account switcher order

* [PM-9442] Add tests for undefined state values and proper emulation of ElectronStorageService in tests (#9910)

* fix: handle undefined value in migration 66

* fix: the if-statement was typo

* feat: duplicate error behavior in fake storage service

* feat: fix all migrations that were setting undefined values

* feat: add test for disabled fingrint in migration 66

* fix: default single user state saving undefined value to state

* revert: awaiting floating promise

gonna fix this in a separate PR

* Revert "feat: fix all migrations that were setting undefined values"

This reverts commit 034713256c.

* feat: automatically convert save to remove

* Revert "fix: default single user state saving undefined value to state"

This reverts commit 6c36da6ba5.

* [AC-2805] Consolidated Billing UI Updates (#9893)

* Add empty state for invoices

* Make cards on create client dialog tabbable

* Add space in $ / month per member

* Mute text, remove (Monthly) and right align menu on clients table

* Made used seats account for all users and fixed column sort for used/remaining

* Resize pricing cards

* Rename assignedSeats to occupiedSeats

* [PM-9460][deps] Tools: Update electron to v31 (#9921)

* [deps] Tools: Update electron to v31

* Bump version in electron-builder

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>

* [AC-1452] Restrict access to 'Organization Info' and 'Two-Step Login' settings pages with a permission check (#9483)

* Guard Organization Info route - Owners only

* Guard TwoFactor route - Owners only and Organization must be able to use 2FA

* Update guards to use function syntax

---------

Co-authored-by: Addison Beck <hello@addisonbeck.com>

* [PM-9437] Use CollectionAccessDetailsResponse type now that is always the type returned from the API (#9951)

* Add required env variables to desktop native build script (#9869)

* [AC-2676] Remove paging logic from GroupsComponent (#9705)

* remove infinite scroll, use virtual scroll instead
* use TableDataSource for search
* allow sorting by name
* replacing PlatformUtilsService.showToast with ToastService
* misc FIXMEs

* [PM-9441] Catch and log exceptions during migration (#9905)

* feat: catch and log exceptions during migration

* Revert "feat: catch and log exceptions during migration"

This reverts commit d68733b7e5.

* feat: use log service to log migration errors

* Autosync the updated translations (#9972)

Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>

* Autosync the updated translations (#9973)

Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>

* Updated codeowners for new design system team (#9913)

* Updated codeowners for new design system team.

* Moved Angular and Bootstrap dependencies

* Moved additional dependencies.

* Updated ownership

Co-authored-by: Will Martin <contact@willmartian.com>

---------

Co-authored-by: Will Martin <contact@willmartian.com>

* [SM-1016] Fix new access token dialog (#9918)

* swap to bit-dialog title & subtitle

* remove dialogRef.disableClose & use toastService

* Add shared two-factor-options component (#9767)

* Communicate the upcoming client vault privacy changes to MSPs (#9994)

* Add a banner notification to the provider portal

* Feature flag the banner

* Move banner copy to messages.json

* Allow for dismissing the banner

* Auth/PM-7321 - Registration with Email Verification - Registration Finish Component Implementation (#9653)

* PM-7321 - Temp add input password

* PM-7321 - update input password based on latest PR changes to test.

* PM-7321 - Progress on testing input password component + RegistrationFinishComponent checks

* PM-7321 - more progress on registration finish.

* PM-7321 - Wire up RegistrationFinishRequest model + AccountApiService abstraction + implementation changes for new method.

* PM-7321 - WIP Registration Finish - wiring up request building and API call on submit.

* PM-7321 - WIP registratin finish

* PM-7321 - WIP on creating registration-finish service + web override to add org invite handling

* PM-7321 - (1) Move web-registration-finish svc to web (2) Wire up exports (3) wire up RegistrationFinishComponent to call registration finish service

* PM-7321 - Get CLI building

* PM-7321 - Move all finish registration service and content to registration-finish feature folder.

* PM-7321 - Fix RegistrationFinishService config

* PM-7321 - RegistrationFinishComponent- handlePasswordFormSubmit - error handling WIP

* PM-7321 - InputPasswordComp - Update to accept masterPasswordPolicyOptions as input instead of retrieving it as parent components in different scenarios will need to retrieve the policies differently (e.g., orgInvite token in registration vs direct call via org id post SSO on set password)

* PM-7321 - Registration Finish - Add web specific logic for retrieving master password policies and passing them into the input password component.

* PM-7321 - Registration Start - Send email via query param to registration finish page so it can create masterKey

* PM-7321 - InputPassword comp - (1) Add loading input (2) Add email validation to submit logic.

* PM-7321 - Registration Finish - Add submitting state and pass into input password so that the rest of the registration process keeps the child form disabled.

* PM-7321 - Registration Finish - use validation service for error handling.

* PM-7321 - All register routes must be dynamic and change if the feature flag changes.

* PM-7321 - Test registration finish services.

* PM-7321 - RegisterRouteService - Add comment documenting why the service exists.

* PM-7321 - Add missing input password translations to browser & desktop

* PM-7321 - WebRegistrationFinishSvc - apply PR feedback

* [deps] Autofill: Update rimraf to v5.0.8 (#10008)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* [PM-9318] Fix username on protonpass import (#9889)

* Fix username field used for ProtonPass import

ProtonPass has changed their export format and userName is not itemEmail

* Import additional field itemUsername

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>

* [PM-8943] Update QRious script initialization in Authenticator two-factor provider (#9926)

* create onload() for qrious as well as error messaging if QR code cannot be displayed

* button and message updates and formpromise removal

* load QR script async

* rename and reorder methods

* Delete Unused Bits of StateService (#9858)

* Delete Unused Bits of StateService

* Fix Tests

* remove getBgService for auth request service (#10020)

---------

Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Anders Åberg <anders@andersaberg.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
Co-authored-by:  Audrey  <ajensen@bitwarden.com>
Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: vinith-kovan <156108204+vinith-kovan@users.noreply.github.com>
Co-authored-by: Bitwarden DevOps <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com>
Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Co-authored-by: Addison Beck <hello@addisonbeck.com>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>

---------

Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Anders Åberg <anders@andersaberg.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
Co-authored-by:  Audrey  <ajensen@bitwarden.com>
Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: vinith-kovan <156108204+vinith-kovan@users.noreply.github.com>
Co-authored-by: Bitwarden DevOps <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com>
Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Co-authored-by: Addison Beck <hello@addisonbeck.com>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
2024-07-15 11:57:21 -05:00
Ike
d2685e1bc5
[PM-9618] Show toast when AuthUrl is null (#10108)
* Added toast message if AuthUrl is null

* added toast to desktop and browser

* fixed tests
2024-07-15 09:04:15 -07:00
Alex Morask
e7b50e790a
[AC-2828] Add provider portal members page behind FF (#9949)
* Add provider portal members page behind a FF

* Fix reinvite issue

* Import scrolling module

* Add deprecations to old classes

* Move members.component init to constructor

* Rename new-base.people.component to base.members.component

* Hide bulk reinvite when no users can be re-invited on AC members page

* Rename events() to openEventsDialog()

* Fix return type for members component getUsers()

* Make table headers sortable

* Extract row height class to ts file

* Convert open methods to static methods for bulk dialogs

* Rename and refactor member-dialog.component

* Prevent event emission for searchControl and set filter in members component constructor

* use featureFlaggedRoute rather than using FF in components

* Add BaseBulkConfirmComponent for use in both web and bit-web

* Add BaseBulkRemoveComponent for use in both web and bit-web

* Thomas' feedback on base confirm/remove

* Remaining feedback
2024-07-15 11:56:11 -04:00
Cesar Gonzalez
974162b1a4
[PM-6426] Create TaskSchedulerService and update long lived timeouts in the extension to leverage the new service (#8566)
* [PM-6426] Create TaskSchedulerService and update usage of long lived timeouts

* [PM-6426] Implementing nextSync timeout using TaskScheduler

* [PM-6426] Implementing systemClearClipboard using TaskScheduler

* [PM-6426] Fixing race condition with setting/unsetting active alarms

* [PM-6426] Implementing clear clipboard call on generatePasswordToClipboard with the TaskSchedulerService

* [PM-6426] Implementing abortTimeout for Fido2ClientService using TaskSchedulerService

* [PM-6426] Implementing reconnect timer timeout for NotificationService using the TaskSchedulerService

* [PM-6426] Implementing reconnect timer timeout for NotificationService using the TaskSchedulerService

* [PM-6426] Implementing sessionTimeout for LoginStrategyService using TaskSchedulerService

* [PM-6426] Implementing eventUploadInterval using TaskScheduler

* [PM-6426] Adding jest tests for the base TaskSchedulerService class

* [PM-6426] Updating jest tests for GeneratePasswordToClipboardCommand

* [PM-6426] Setting up the full sync process as an interval rather than a timeout

* [PM-6426] Renaming the scheduleNextSync alarm name

* [PM-6426] Fixing dependency references in services.module.ts

* [PM-6426] Adding jest tests for added BrowserApi methods

* [PM-6426] Refactoring small detail for how we identify the clear clipboard timeout in SystemService

* [PM-6426] Ensuring that we await clearing an established scheduled task for the notification service

* [PM-6426] Changing the name of the state definition for the TaskScheduler

* [PM-6426] Implementing jest tests for the BrowserTaskSchedulerService

* [PM-6426] Implementing jest tests for the BrowserTaskSchedulerService

* [PM-6426] Adding jest tests for the base TaskSchedulerService class

* [PM-6426] Finalizing jest tests for BrowserTaskScheduler class

* [PM-6426] Finalizing documentation on BrowserTaskSchedulerService

* [PM-6426] Fixing jest test for LoginStrategyService

* [PM-6426] Implementing compatibility for the browser.alarms api

* [PM-6426] Fixing how we check for the browser alarms api

* [PM-6426] Adding jest tests to the BrowserApi implementation

* [PM-6426] Aligning the implementation with our code guidelines for Angular components

* [PM-6426] Fixing jest tests and lint errors

* [PM-6426] Moving alarms api calls out of BrowserApi and structuring them within the BrowserTaskSchedulerService

* [PM-6426] Reworking implementation to register handlers separately from the call to those handlers

* [PM-6426] Adjusting how we register the fullSync scheduled task

* [PM-6426] Implementing approach for incorporating the user UUID when setting task handlers

* [PM-6426] Attempting to re-work implementation to facilitate userId-spcific alarms

* [PM-6426] Refactoring smaller details of the implementation

* [PM-6426] Working through the details of the implementation and setting up final refinments

* [PM-6426] Fixing some issues surrounding duplicate alarms triggering

* [PM-6426] Adjusting name for generate password to clipboard command task name

* [PM-6426] Fixing generate password to clipboard command jest tests

* [PM-6426] Working through jest tests and implementing a method to guard against setting a task without having a registered callback

* [PM-6426] Working through jest tests and implementing a method to guard against setting a task without having a registered callback

* [PM-6426] Implementing methodology for having a fallback to setTimeout if the browser context is lost in some manner

* [PM-6426] Working through jest tests

* [PM-6426] Working through jest tests

* [PM-6426] Working through jest tests

* [PM-6426] Working through jest tests

* [PM-6426] Finalizing stepped setInterval implementation

* [PM-6426] Implementing Jest tests for DefaultTaskSchedulerService

* [PM-6426] Adjusting jest tests

* [PM-6426] Adjusting jest tests

* [PM-6426] Adjusting jest tests

* [PM-6426] Fixing issues identified in code review

* [PM-6426] Fixing issues identified in code review

* [PM-6426] Removing user-based alarms and fixing an issue found with setting steppedd alarm interavals

* [PM-6426] Removing user-based alarms and fixing an issue found with setting steppedd alarm interavals

* [PM-6426] Fixing issue with typing information on a test

* [PM-6426] Using the getUpperBoundDelayInMinutes method to handle setting stepped alarms and setTimeout fallbacks

* [PM-6426] Removing the potential for the TaskScheduler to be optional

* [PM-6426] Reworking implementation to leverage subscription based deregistration of alarms

* [PM-6426] Fixing jest tests

* [PM-6426] Implementing foreground and background task scheduler services to avoid duplication of task scheudlers and to have the background setup as a fallback to the poopup tasks

* [PM-6426] Implementing foreground and background task scheduler services to avoid duplication of task scheudlers and to have the background setup as a fallback to the poopup tasks

* [PM-6426] Merging main into branch

* [PM-6426] Fixing issues with the CLI Service Container implementation

* [PM-6426] Reworking swallowed promises to contain a catch statement allow us to debug potential issues with registrations of alarms

* [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService

* [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService

* [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService

* [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService

* [PM-6426] Adjusting implementation based on code review feedback

* [PM-6426] Reworking file structure

* [PM-6426] Reworking file structure

* [PM-6426] Adding comments to provide clarity on how the login strategy cache experiation state is used

* [PM-6426] Catching and logging erorrs that appear from methods that return a promise within VaultTimeoutService
2024-07-15 10:32:30 -05:00
Justin Baur
5fcf4bbd10
[PM-8979] Check that user is authed before getting user config (#10031)
* Check that user is authed before getting user config

* Accept PR Suggestion

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

* Use Strict Equal

---------

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
2024-07-15 10:41:10 -04:00
Bernd Schoolmann
5a46c7d5cc
[PM-7084] 4/6: Introduce shared email two-factor component (#9770)
* Add shared email two-factor component

* Update apps/browser/src/auth/popup/two-factor-auth-email.component.ts

Co-authored-by: Jake Fink <jfink@bitwarden.com>

---------

Co-authored-by: Jake Fink <jfink@bitwarden.com>
2024-07-15 09:59:39 -04:00
Shane Melton
eceec4b908
[PM-8526] Set secureNote type when creating a new note (#10107) 2024-07-12 14:30:39 -07:00
Vincent Salucci
81a3dce774
[AC-2520] State migration/removal of Unassigned Items Banner state definition (#10080)
* chore: create migration to remove banner dismissed data, refs AC-2520

* chore: remove unassigned items banner state definition, refs AC-2520

* fix: key like definition name updated to match original scope, refs AC-2520
2024-07-12 12:20:16 -05:00
Vincent Salucci
bce6e77514
[AC-2520] Remove Unassigned Items Banner (#10042)
* chore: remove UnassignedItemsBanner feature flag, refs AC-2520

* chore: remove unassignedItemsBanner from web-header component, refs AC-2520

* chore: delete unassigned items banner service/api/spec, refs AC-2520

* chore: remove unassigned items banner messages (web), refs AC-2520

* chore: remove unassigned items banner messages (browser), refs AC-2520

* chore: remove unassigned items banner code from current tab (browser), refs AC-2520

* chore: remove state definition for unassigned items banner, refs AC-2520

* chore: revert state-definition removal, refs AC-2520
2024-07-12 11:06:02 -05:00
Jared Snider
fef188c221
PM-9688 - Registration with Email Verification - RegistrationFinishComponent - fix button text to say create account instead of set password (#10084) 2024-07-11 20:03:37 -04:00
Jason Ng
7243d62b19
[PM-9627] item details v2 defects (#10082)
* Pull proper item name in item details. add Typography Module to reusable view sections
2024-07-11 18:48:47 -04:00
Jason Ng
d7fa592521
[PM-9646] Identity v2 Edit Defects (#10076)
* add necessary module to identity. update toggle btn with testing attr
2024-07-11 18:47:54 -04:00
Shane Melton
9dda29fb9c
[PM-7896] Cipher Form - Additional Options section (#9928)
* [PM-7896] Adjust cipher form container to expose config and original cipher view for children

* [PM-7896] Add initial additional options section

* [PM-7896] Add tests

* [PM-7896] Add TODO comments for Custom Fields

* [PM-7896] Hide password reprompt checkbox when unavailable

* [PM-7896] Fix storybook
2024-07-11 15:01:24 -07:00
SmithThe4th
050f8f4bdc
[PM-7624] [PM-7625] Bulk management actions on individual vault (#9507)
* fixed issue with clearing search index state

* clear user index before account is totally cleaned up

* added logout clear on option

* removed redundant clear index from logout

* added feature flag

* added new menu drop down and put behind feature flag

* added permanentlyDeleteSelected to the menu

* added permanentlyDeleteSelected to the menu

* wired up logic to show to hide menu drop down items

* modified the bulk collection assignment to work with end user vault

* wired up delete and move to folder

* merged bulk management actions header into old leveraging the feature flag

* added ability to move personal items to an organization and set active collection when user is on a collection

* made collection required by default

* handled organization cipher share when personal items and org items are selected

* moved logic to determine warning text to component class

* moved logic to determine warning text to component class

* Improved hide or show logic for menu

* added bullet point to bulk assignment dialog content

* changed description for move to folder

* Fixed issue were all collections are retrived instead of only can manage, and added logic to get collections associated with a cipher

* added inline assign to collections

* added logic to disable three dot to template

* Updated logic to retreive shared collection ids between ciphers

* Added logic to make attachment view only, show or hide

* Only show menu options when there are options available

* Comments cleanup

* update cipher row to disable menu instead of hide

* Put add to folder behind feature flag

* ensured old menu behaviour is shown when feature flag is turned off

* refactored code base on code review suggestions

* fixed bug with available collections

* Made assign to collections resuable

made pluralize a pipe instead

* Utilized the resuable assign to collections component on the web

* changed description message for collection assignment

* fixed bug with ExpressionChangedAfterItHasBeenCheckedError

* Added changedetectorref markForCheck

* removed redundant startwith as seed value has been added

* made code review suggestions

* fixed bug where assign to collections shows up in trash filter

* removed bitInput

* refactored based on code review comments

* added reference ticket

* [PM-9341] Cannot assign to collections when filtering by My Vault (#9862)

* Add checks for org id myvault

* made myvault id a constant

* show bulk move is set by individual vault and it is needed so assign to collections does not show up in trash filter (#9876)

* Fixed issue where selectedOrgId is null (#9879)

* Fix bug introduced with assigning items to a collection (#9897)

* [PM-9601] [PM-9602] When collection management setting is turned on view only collections and assign to collections menu option show up (#10047)

* Only show collections with edit access on individual vault

* remove unused arguments
2024-07-11 17:39:49 -04:00
Thomas Rittson
a723038b44
Remove OrganizationUserType.Manager (#10060) 2024-07-12 06:14:08 +10:00
Jake Fink
9c66b5bf9f
[PM-4917, PM-8707, PM-9119] Persist login email memory through 2fa on browser (#9811)
* persist email memory through 2fa on browser

* fix tests

* fix desktop
2024-07-11 14:51:06 -04:00
Oscar Hinton
39eed02904
[PM-8517] Create web specific layout (#9209)
We currently duplicate some logic between our layouts. In an effort to streamline our experience I'm exploring if we can create a web specific layout that handles some of this.
2024-07-11 12:20:56 -04:00
aj-rosado
ea76760782
[AC-2508][AC-2511] member access report view and export logic (#10011)
* Added new report card and FeatureFlag for MemberAccessReport

* Add new "isEnterpriseOrgGuard"

* Add member access icon

* Show upgrade organization dialog for enterprise on member access report click

* verify member access featureflag on enterprise org guard

* add comment with TODO information for follow up task

* Initial member access report component

* Improved readability, removed path to wrong component and refactored buildReports to use the productType

* finished MemberAccessReport layout and added temporary service to provide mock data

* Moved member-access-report files to bitwarden_license/
Removed unnecessary files

* Added new tools path on bitwarden_license to the CODEOWNERS file

* added member access description to the messages.json

* layout changes to member access report

* Created new reports-routing under bitwarden_license
Moved member-access-report files to corresponding subfolder

* Added search logic

* Removed routing from member-access-report BL component on OSS.
Added member-access-report navigation to organizations-routing on BL

* removed unnecessary ng-container

* Added OrganizationPermissionsGuard and canAccessReports validation to member-access-report navigation

* replaced deprecated search code with searchControl

* Address PR feedback

* removed unnecessary canAccessReports method

* Added report-utils class with generic functions to support report operations

* Added member access report mock

* Added member access report specific logic

* Splitted code into different classes that explained their objective.

* fixed member access report service test cases

* Addressed PR feedback

* Creating a service to return the data for the member access report

* added missing ExportHelper on index.ts

* Corrected property names on member access report component view

* removed duplicated service
2024-07-11 17:11:05 +01:00
Nick Krantz
2d4783932b
[PM-9589] Card Details Heading (#10023)
* only show branded card details when the brand isn't "other"

* use TS for the dynamic brand heading rather than template logic
2024-07-11 09:45:15 -05:00
Bernd Schoolmann
9eddbfc6e7
[PM-7084]: 3/6 Introduce shared yubikey two-factor component (#9769)
* Add shared two-factor-options component

* Add new refactored two-factor-auth component and totp auth componnet behind feature flag

* Add yubico yubikey otp shared two-fa component
2024-07-11 10:28:55 -04:00
Conner Turnbull
36030c3763
[PM-9113] Trim Whitespace from email in sponsorship form (#9781)
* Removed whitespace from email form when setting up families sponsorship

* Moved sponsorship components to billing folder

* Updated to use existing input stripping directive

* Updated appInputStripSpaces to update both the element and the control value

* Removed the call to Renderer2 as it wasn't needed
2024-07-11 09:04:51 -04:00
Bernd Schoolmann
e977dacdcf
[PM-6797] Prevent account switching race condition on desktop & enable worker decryption (#9312)
* Prevent account switching race condition on desktop

This enables us to allow background thread / multithread bulk decryption on desktop.

* Disable account switcher component during switching
2024-07-11 14:11:51 +02:00
Thomas Rittson
f03dabb6d6
Remove BulkDeviceApproval feature flag (#9931) 2024-07-11 08:47:49 +10:00
KiruthigaManivannan
3f0f5af26a
PM- 2060 Update Two Factor Yubikey dialog (#9010)
* PM-2060 Update Two Factor Yubikey Dialog

* PM-2060 Removed old code

* PM-2060 Added event emitter to capture enabled status

* PM-2060 Addressed review comments

* PM-2060 Change in html file for existing key options

* PM-2060 Addressed the latest comments

* PM-2060 Updated remove method as per comments

* PM-2060 Added throw error to enable and disbale in base component

* tailwind updates to yubikey two factor settings

* fixing imports

* remove disable dialog when keys are null to use the error toast

* PM-2060 Addressed the review comments and fixed conflicts

* Removed super.enable removed extra emitter from component class.

* fixing adding multiple keys in one session of a dialog.

* removed thrown error

---------

Co-authored-by: Ike Kottlowski <ikottlowski@bitwarden.com>
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
2024-07-10 10:56:52 -07:00
Jason Ng
91294e9c4d
[PM-8527] Identity Add Edit Browser V2 (#10016)
* Add Identity Edit Section for Browser V2 Edit Work
2024-07-10 12:25:20 -04:00
Nick Krantz
aa57260756
add testids for visibility buttons on edit card (#10021) 2024-07-10 10:42:28 -05:00
Daniel James Smith
33de685b40
[PM-5165][PM-8645] Migrate password strength component (#9912)
* Create standalone password-strength-v2 component

* Add deprecation notice to old component

* PM-8645: Use new password-strength component on export

* Remove unneccessary variable

* Remove setPasswordScoreText method

* Rename passwordStrengthResult to passwordStrengthScore and assign proper type

* Add missing types

* Document component Inputs/Outputs

* Add unit tests

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-07-10 16:59:17 +02:00
Jason Ng
6d6785297b
[PM-7161] browser v2 view container (#9723)
* Build new view-v2 component and reusable view sections. Custom Fields, Item Details, Attachments, Additional Info,  Item History
2024-07-10 00:11:51 -04:00
Will Martin
964438ff1b
[DS] add deprecation comment to ApiActionDirective (#10041) 2024-07-09 16:31:03 -04:00
Merissa Weinstein
64ad336d28
remove erorr console log and add error toast (#10018) 2024-07-09 15:06:36 -05:00
Shane Melton
2fe07f3d8e
[PM-9619] Fix broken vault upon saving empty URI (#10037)
* [PM-9619] Add null check for URI before validating checksum

* [PM-9619] Prevent saving empty string login URIs
2024-07-09 10:48:46 -07:00
rr-bw
dd40faf72e
[PM-9314] AnonLayout Logo and Storybook Doc updates (#9849)
* set logo color based on theme

* update to text-alt2

* hardcode marketing brand colors

* add comment about AnonLayout usage
2024-07-09 09:11:21 -07:00
✨ Audrey ✨
24b84985f5
[PM-9598] Introduce integrations (#10019)
Factor general integration logic out of the forwarder code.

- Integration metadata - information generalized across any integration
- Rpc mechanism - first step towards applying policy to integrations is abstracting their service calls (e.g. static baseUrl)

Email forwarder integrations embedded this metadata. It was extracted to begin the process of making integrations compatible with meta-systems like policy.

This PR consists mostly of interfaces, which are not particularly useful on their own. Examples on how they're used can be found in the readme.
2024-07-09 11:04:40 -04:00
Bernd Schoolmann
7e2b4d9652
[PM-7084] 2/6: Add shared two-factor-auth orchestrator component, and TOTP two-factor component (#9768)
* Add shared two-factor-options component

* Add new refactored two-factor-auth component and totp auth componnet behind feature flag

* Fix default value for twofactorcomponentrefactor featureflag
2024-07-09 16:19:04 +02:00
Thomas Rittson
f9b623b37c
Add AC Team eslint configuration (#9971) 2024-07-09 14:33:07 +01:00
Justin Baur
053e255a68
Delete Unused Bits of StateService (#9858)
* Delete Unused Bits of StateService

* Fix Tests
2024-07-08 20:38:10 -04:00
Daniel James Smith
83a32cd179
[PM-9318] Fix username on protonpass import (#9889)
* Fix username field used for ProtonPass import

ProtonPass has changed their export format and userName is not itemEmail

* Import additional field itemUsername

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-07-08 22:45:02 +02:00
Jared Snider
226af09aac
Auth/PM-7321 - Registration with Email Verification - Registration Finish Component Implementation (#9653)
* PM-7321 - Temp add input password

* PM-7321 - update input password based on latest PR changes to test.

* PM-7321 - Progress on testing input password component + RegistrationFinishComponent checks

* PM-7321 - more progress on registration finish.

* PM-7321 - Wire up RegistrationFinishRequest model + AccountApiService abstraction + implementation changes for new method.

* PM-7321 - WIP Registration Finish - wiring up request building and API call on submit.

* PM-7321 - WIP registratin finish

* PM-7321 - WIP on creating registration-finish service + web override to add org invite handling

* PM-7321 - (1) Move web-registration-finish svc to web (2) Wire up exports (3) wire up RegistrationFinishComponent to call registration finish service

* PM-7321 - Get CLI building

* PM-7321 - Move all finish registration service and content to registration-finish feature folder.

* PM-7321 - Fix RegistrationFinishService config

* PM-7321 - RegistrationFinishComponent- handlePasswordFormSubmit - error handling WIP

* PM-7321 - InputPasswordComp - Update to accept masterPasswordPolicyOptions as input instead of retrieving it as parent components in different scenarios will need to retrieve the policies differently (e.g., orgInvite token in registration vs direct call via org id post SSO on set password)

* PM-7321 - Registration Finish - Add web specific logic for retrieving master password policies and passing them into the input password component.

* PM-7321 - Registration Start - Send email via query param to registration finish page so it can create masterKey

* PM-7321 - InputPassword comp - (1) Add loading input (2) Add email validation to submit logic.

* PM-7321 - Registration Finish - Add submitting state and pass into input password so that the rest of the registration process keeps the child form disabled.

* PM-7321 - Registration Finish - use validation service for error handling.

* PM-7321 - All register routes must be dynamic and change if the feature flag changes.

* PM-7321 - Test registration finish services.

* PM-7321 - RegisterRouteService - Add comment documenting why the service exists.

* PM-7321 - Add missing input password translations to browser & desktop

* PM-7321 - WebRegistrationFinishSvc - apply PR feedback
2024-07-08 10:40:23 -04:00
Addison Beck
52207b7620
Communicate the upcoming client vault privacy changes to MSPs (#9994)
* Add a banner notification to the provider portal

* Feature flag the banner

* Move banner copy to messages.json

* Allow for dismissing the banner
2024-07-08 10:16:29 -04:00
Bernd Schoolmann
d92e1b3eca
Add shared two-factor-options component (#9767) 2024-07-08 11:19:30 +02:00
Thomas Rittson
3e7f8f5384
[AC-2676] Remove paging logic from GroupsComponent (#9705)
* remove infinite scroll, use virtual scroll instead
* use TableDataSource for search
* allow sorting by name
* replacing PlatformUtilsService.showToast with ToastService
* misc FIXMEs
2024-07-04 06:04:16 +10:00
Shane Melton
0b08cd0175
[PM-9437] Use CollectionAccessDetailsResponse type now that is always the type returned from the API (#9951) 2024-07-03 10:36:24 -07:00
Alex Morask
d4eeeb8ed2
[AC-2805] Consolidated Billing UI Updates (#9893)
* Add empty state for invoices

* Make cards on create client dialog tabbable

* Add space in $ / month per member

* Mute text, remove (Monthly) and right align menu on clients table

* Made used seats account for all users and fixed column sort for used/remaining

* Resize pricing cards

* Rename assignedSeats to occupiedSeats
2024-07-03 10:33:43 -04:00
Andreas Coroiu
9d060be48c
[PM-9442] Add tests for undefined state values and proper emulation of ElectronStorageService in tests (#9910)
* fix: handle undefined value in migration 66

* fix: the if-statement was typo

* feat: duplicate error behavior in fake storage service

* feat: fix all migrations that were setting undefined values

* feat: add test for disabled fingrint in migration 66

* fix: default single user state saving undefined value to state

* revert: awaiting floating promise

gonna fix this in a separate PR

* Revert "feat: fix all migrations that were setting undefined values"

This reverts commit 034713256c.

* feat: automatically convert save to remove

* Revert "fix: default single user state saving undefined value to state"

This reverts commit 6c36da6ba5.
2024-07-03 16:06:55 +02:00
Jake Fink
052b3be2eb
[PM-7972] Account switching integration with "remember email" functionality (#9750)
* add account switching logic to login email service

* enforce boolean and fix desktop account switcher order
2024-07-03 09:53:40 -04:00
Andreas Coroiu
83b8c0d50f
[PM-9440] Fix: handle undefined value in migration 66 (#9908)
* fix: handle undefined value in migration 66

* fix: the if-statement was typo
2024-07-03 09:58:23 +02:00
Nick Krantz
781ef550c1
[PM-8525] Edit Card (#9901)
* initial add of card details section

* add card number

* update card brand when the card number changes

* add year and month fields

* add security code field

* hide number and security code by default

* add `id` for all form fields

* update select options to match existing options

* make year input numerical

* only display card details for card ciphers

* use style to set input height

* handle numerical values for year

* update heading when a brand is available

* remove unused ref

* use cardview types for the form

* fix numerical input type

* disable card details when in partial-edit mode

* remove hardcoded height

* update types for formBuilder
2024-07-02 20:31:24 -05:00
Shane Melton
17d37ecaeb
[PM-7162] Cipher Form - Item Details (#9758)
* [PM-7162] Fix weird angular error regarding disabled component bit-select

* [PM-7162] Introduce CipherFormConfigService and related types

* [PM-7162] Introduce CipherFormService

* [PM-7162] Introduce the Item Details section component and the CipherFormContainer interface

* [PM-7162] Introduce the CipherForm component

* [PM-7162] Add strongly typed QueryParams to the add-edit-v2.component

* [PM-7162] Export CipherForm from Vault Lib

* [PM-7162] Use the CipherForm in Browser AddEditV2

* [PM-7162] Introduce CipherForm storybook

* [PM-7162] Remove VaultPopupListFilterService dependency from NewItemDropDownV2 component

* [PM-7162] Add support for content projection of attachment button

* [PM-7162] Fix typo

* [PM-7162] Cipher form service cleanup

* [PM-7162] Move readonly collection notice to bit-hint

* [PM-7162] Refactor CipherFormConfig type to enforce required properties with Typescript

* [PM-7162] Fix storybook after config changes

* [PM-7162] Use new add-edit component for clone route
2024-07-02 13:22:51 -07:00
vinith-kovan
432a4ddd17
Bug fix - error toast in 2fa (#9623)
* Bug fix - error toast in 2fa

* Bug fix - Yubikey code obscured

* 2FA error fix
2024-07-01 09:03:51 -07:00
Addison Beck
71e8fdb73d
Add the ability for custom validation logic to be injected into UserVerificationDialogComponent (#8770)
* Introduce `verificationType`

* Update template to use `verificationType`

* Implement a path for `verificationType = 'custom'`

* Delete `clientSideOnlyVerification`

* Update `EnrollMasterPasswordResetComponent` to include a server-side hash check

* Better describe the custom scenerio through comments

* Add an example of the custom verficiation scenerio

* Move execution of verification function into try/catch

* Migrate existing uses of `clientSideOnlyVerification`

* Use generic type option instead of casting

* Change "given" to "determined" in a comment
2024-07-01 11:52:39 -04:00
cyprain-okeke
5965f779b9
[PM-9364] Copy for Aggregate auto-scaling invoices for Teams and Enterprise customers (#9875)
* Change the seat adjustment message

* Move changes from en_GB file to en file

* revert changes in en_GB file

* Add feature flag to the change
2024-07-01 15:57:57 +01:00
✨ Audrey ✨
cb400a1ba6
[PM-6394] remove policy evaluator cache (#9807) 2024-07-01 10:25:21 -04:00
Anders Åberg
e12e817d22
PM-4878: Add passkey information to items when signing in (#9835)
* Added username to subtitle

* Added subName to cipher

* Moved subName to component

* Update apps/browser/src/vault/popup/components/fido2/fido2-cipher-row.component.ts

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

* Fixed double code and added comment

* Added changeDetection: ChangeDetectionStrategy.OnPush as per review

---------

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
2024-06-30 00:50:18 +02:00
Anders Åberg
c23ee3b98a
PM-4661: Add passkey.username as item.username (#9756)
* Add incoming passkey.username as item.username

* Driveby fix, was sending wrong username

* added username to new-cipher too

* Guarded the if-block

* Update apps/browser/src/vault/popup/components/vault/add-edit.component.ts

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

* Fixed broken test

* fixed username on existing ciphers

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2024-06-30 00:48:56 +02:00
Daniel García
3c7663a965
[PM-7809] Fix memory leak in AngularThemingService for Safari extension (#9434)
* [PM-7809] Fix memory leak in AngularThemingService for Safari

* Use getSystemThemeFromWindow in createSystemThemeFromWindow
2024-06-28 21:58:15 +02:00
Daniel James Smith
a613d9c268
[PM-8397] Make vault timeout input standalone (#9366)
* Move vault-timeout-input to @bitwarden/auth/angular

Move vault-timeout-input.component.ts to @bitwarden/auth/angular/vault-timeout-input
Expose via barrel file
Fix imports on clients

* Add dependencies to package.json

Not necessary right now, but good practice for once we move to building each package independently

* Make VaultTimeoutInputComponent a standalone component

* Update selector to present team ownership

* Use new standalone on web

Move vault-timeout-input.component.html to @bitwarden/auth/angular/vault-timeout-input/
Delete old vault-timeout-input.component on web
Register new component on loose-components-module
Update used selector in preferences.component

* Remove unneeded export of VaultTimeoutInputComponent

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-28 17:41:17 +02:00
Bernd Schoolmann
c01f6be286
[PM-1802] Update 2fa provider icons and description (#9568)
* Update yubikey to yubico

* Update icons and descriptions

* Change order of 2fa providers

* Refactor 2fa providers into separate component

* Update i18n messages for 2fa providers

* Update design

* Fix link

* Remove unused SVGs

* Undo changes to scss

* Add speedbumps to links

* Fix missing i18n string

* Add a11y tags

* Fix incorrect filepath

* Remove unused i18n strings

* Delete accidentally committed file

* Fix premium and enabled checkmark being in new line

* Rename two-factor-icon selector

* Update authenticator names in two-factor-authenticator setup component

* Update text according to figma design

* Update keys to notify crowdin translators of changed content

* Move svg icons to separate file

* Fix incorrect i18n key
2024-06-27 10:14:21 -07:00
✨ Audrey ✨
1080d46aaf
[PM-9170] generator library migrations (#9812)
* migrate browser to generator libraries
* migrate cli to generator libraries
* migrate desktop to generator libraries
* migrate angular library to generator libraries
* migrate web to generator libraries
2024-06-27 12:16:04 -04:00
Tom
98c6cc4a7e
[PM-5957] CLI - List items long runtime (#9589)
* Initial checking of collect many

* should update to better handle parameters

* cleaning up event collection params

* Adding documentation

* Removing commented out code saved for testing

* Adding pr changes and using the account service for event collection user id

* browser main.background event collection service needed the account service
2024-06-27 08:44:43 -04:00
Thomas Rittson
794da48437
[AC-2806] Add support for conditional routing based on feature flag value (#9798)
Co-authored-by: Shane Melton <smelton@bitwarden.com>
2024-06-27 06:43:02 +10:00
✨ Audrey ✨
a3514001c0
shuffle copied array (#9847) 2024-06-26 15:41:02 -04:00
rr-bw
31e5337ecf
change orgId input to masterPasswordPolicyOptions (#9833) 2024-06-26 10:06:50 -07:00
Daniel James Smith
5a74371672
Create "new Send-button with type selection (#9842)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-26 17:08:18 +01:00
Daniel James Smith
1495b06736
Move send icons to @bitwarden/send-ui (#9840)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-26 15:52:55 +01:00
Alex Morask
dbc6f1c840
Add description to billing history, update invoice table and report name (#9777) 2024-06-26 09:30:37 -04:00
Alex Morask
679c25b082
Combined subscription and payment method pages in provider portal (#9828) 2024-06-26 09:08:25 -04:00
Bernd Schoolmann
93a57e6724
Add optional altOptions to componentRouteSwap (#9821) 2024-06-26 11:26:50 +02:00
Matt Gibson
3f44eadb5f
Translation settings should be persisted on web (#9581)
Unfortunately we cannot migrate this data from session, as it is lost on tab closed.
2024-06-25 18:17:10 -04:00
Will Martin
8df054cf51
[CL-319] custom back action in popup header component (#9829)
* expose FunctionReturningAwaitable from CL lib

* expose backAction as input on popup header component
2024-06-25 15:55:49 -04:00
Jake Fink
d7bf0fe536
[PM-8868] only deserialize org invite if not nullish (#9644)
* only deserialize org invite if not nullish

* add null check to OrganizationInvite init methods

* PR feedback
2024-06-25 15:00:27 -04:00
Ike
41e1d91558
[PM-5156] [PM-5216] Duo v2 removal (#9513)
* remove library and update package and webpack

* update 2fa flow and remove feature flag

* update request and response models

* fix merge conflicts
2024-06-25 11:09:45 -07:00
Daniel James Smith
c35bbc522c
[PM-9051][PM-8641] Use reusable export-component on web (#9741)
* Add export-web.component

Introduce new export-web component
Delete old component
export.module - With export-web being standalone there's no need for a importModule
Change routing to load new component

* Prepare export.component to receive a orgId via the hosting-component

* Remove unused onSaved as it's replaced by onSuccessfulExport

* Refactor org-vault-export.component

Introduce new org-vault-export.component.html as the old component relied on the markup from password manager
Refactor org-vault-export.component
Retrieve organizationId from Route and pass it into the shared export.component
Ensure when exporting from AC to include all data from the selected org
org-vault-export.module - With the new component being standalone there's no need for a importModule
Change routing to load new org-vault-export component

* PM-8641 - Add success toast to base-export component
This ensures a success toast is shown on all clients consistently
Add missing entries into clients messages.json

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-25 19:17:03 +02:00
rr-bw
9ec01422df
[PM-5085] Add additional InputPasswordComponent story and docs (#9752)
* split stories: 1 default, 1 with policy

* add storybook docs
2024-06-25 09:04:49 -07:00
Jake Fink
1fdfd695e1
reference correct default kdf config (#9822)
* reference correct default kdf config

* update change kdf references
2024-06-25 08:57:59 -04:00
Jake Fink
0add2949c0
[PM-8772] move ranges to static properties on class (#9567)
* move ranges to static properties on class

* rename static properties
2024-06-25 08:21:02 -04:00
Andreas Coroiu
dce5c0f184
[PM-6413] Add http loophole for localhost (#9236)
* [PM-6413] feat: add http loophole for localhost

Fixes #6882

* feat: add sanity check

* feat: change fido2 filters to allow scripts on localhost

* [PM-6413] fix: injection tests
2024-06-25 11:06:04 +02:00
Alex Morask
b2030d957d
Expanded plan response and used provider portal seat pricing in create client component (#9753) 2024-06-24 11:37:58 -04:00
Alex Morask
fa1a6359bc
[AC-2774] [AC-2781] Consolidated issues for Consolidated Billing (#9717)
* Rename provider client components for brevity

* Make purchased seats dynamic on create client component

* Fix access and empty state for service users

* Refactor manage client subscription dialog

* Fixed manage subscription dialog errors

* Make unassigned seats dynamic for create client dialog

* Expanded invoice statuses

* Update invoice header on invoices component
2024-06-24 11:15:53 -04:00
Ike
705a02086e
[PM-7693] Remove cookie from Duo connector (#9699)
* utilizing locale service in duo

* refactor launchDuoUri method

* Add cookie information back in ext. and desktop to support backwards compatibility

* Update duo-redirect.ts

fixing comment
2024-06-21 14:56:27 -07:00
Conner Turnbull
400795732f
Fixed name for product tier to match property sent from the server (#9746) 2024-06-21 13:48:11 -04:00
Ike
d74435dba7
[PM-8924] Login component tab and keyboard navigation fixes (#9707)
* tab and keyboard navigation fixes

* PM-8924 - Improve login component keyboard and mouse navigation scenarios

Co-authored-by: Ike Kottlowski <ikottlowski@bitwarden.com>

---------

Co-authored-by: Jared Snider <jsnider@bitwarden.com>
2024-06-20 14:20:54 -07:00
Will Martin
34766f8c74
[CL-314] improve TableDataSource filtering (#9708) 2024-06-20 12:42:14 -04:00
rr-bw
9fc89aa450
[PM-4952] Remove Password Component Bug Fixes (#9697)
* fix button padding

* convert to arrow functions
2024-06-20 09:04:35 -07:00
Jake Fink
b306554675
[PM-6789] finish key rotation distribution and fix legacy user (#9498)
* finish key rotation distribution and fix legacy user

* add ticket to TODO

* PR feedback: docs and renaming

* fix webauthn tests

* add test for send service

* add await to test
2024-06-20 11:36:24 -04:00
✨ Audrey ✨
639debe91b
[PM-9008] factor generator-extensions into separate libraries (#9724) 2024-06-20 10:49:23 -04:00
cyprain-okeke
593dc3c716
[AC-2721] [Defect] Apply subscription status updates in provider subscription details (#9729)
* Resolve the pending cancellation status

* Add the contact information
2024-06-20 13:50:10 +01:00
Daniel James Smith
8d04731633
[PM-6568][PM-8820][Tech-Debt] Migrate all tools owned toasts to use CL ToastService instead of PlatformUtilsService (#9405)
* Migrate all tools owned toasts to use CL ToastService instead of PlatformUtilsService

* Fix test that was missing a mock

* Fix double checking file and file-content selection

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-19 18:28:47 +02:00
Todd Martin
88cc37e37f
Auth/pm 7672/Update token service to return new token from state (#9706)
* Changed return structure

* Object changes

* Added missing assert.

* Updated tests to use SetTokensResult

* Fixed constructor

* PM-7672 - Fix tests + add new setTokens test around refresh token

* Removed change to refreshIdentityToken.

* Updated return definition.

---------

Co-authored-by: Jared Snider <jsnider@bitwarden.com>
2024-06-19 11:51:12 -04:00
aj-rosado
1a37d02556
[AC-2504] Add new members access report card (#9335)
* Added new report card and FeatureFlag for MemberAccessReport

* Add new "isEnterpriseOrgGuard"

* Add member access icon

* Show upgrade organization dialog for enterprise on member access report click

* verify member access featureflag on enterprise org guard

* add comment with TODO information for follow up task

* Improved readability, removed path to wrong component and refactored buildReports to use the productType

* added TODO to remove the feature flag on cleanup

* changing ProductType to ProductTierType on isEnterpriseOrgGuard
2024-06-18 22:13:55 +01:00
rr-bw
2a0e21b4bb
[PM-5085] Create InputPasswordComponent (#9630)
* setup for InputPasswordComponent and basic story

* add all input fields

* add translated error messages

* update validation

* add password-callout

* update hint text

* use PolicyService in component

* setup SetPasswordComponent

* remove div

* add default button text

* add mocks for InputPassword storybook

* simplify ngOnInit

* change param and use PolicyApiService

* check for breaches and validate against policy

* user toastService

* use useValue for mocks

* hash before emitting

* validation cleanup and use PreloadedEnglishI18nModule

* add ngOnDestroy

* create validateFormInputsDoNotMatch fn

* update validateFormInputsComparison and add deprecation jsdocs

* rename validator fn

* fix bugs in validation fn

* cleanup and re-introduce services/logic

* toggle password inputs together

* update hint help text

* remove SetPassword test

* remove master key creation / hashing

* add translations to browser/desktop

* mock basic password-strength functionality

* add check for controls

* hash before emitting

* type the EventEmitter

* use DEFAULT_KDF_CONFIG

* emit master key

* clarify comment

* update password mininum help text to match org policy requirement
2024-06-17 14:56:24 -07:00
Cesar Gonzalez
90d619acb5
[PM-8027] Inline menu appears within input fields that do not relate to user login (#9110)
* [PM-8027] Inlin menu appears within input fields that do not relate to user login

* [PM-8027] Inlin menu appears within input fields that do not relate to user login

* [PM-8027] Inlin menu appears within input fields that do not relate to user login

* [PM-8027] Working through logic heuristics that will help us determine login form fields

* [PM-8027] Fixing jest test

* [PM-8027] Reworking inline menu to qualify and setup the listeners for each form field after page deatils have been collected

* [PM-8027] Cleaning up implementation details

* [PM-8027] Cleaning up implementation details

* [PM-8027] Cleaning up implementation details

* [PM-8027] Updating update of page details after mutation to act on an idle moment in the browser

* [PM-8027] Updating how we guard against excessive getPageDetails calls

* [PM-8027] Refining how we identify a username login form field

* [PM-8027] Refining how we identify a password login form field

* [PM-8027] Refining how we identify a username login form field

* [PM-8027] Fixing jest tests for the overlay

* [PM-8027] Fixing jest tests for the collectPageDetails method

* [PM-8027] Removing unnecessary code

* [PM-8027] Removing unnecessary code

* [PM-8027] Adding jest test to validate new behavior

* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService

* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService

* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService

* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService

* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService

* [PM-8027] Finalization of Jest test for the implementation

* [PM-8027] Fixing a typo

* [PM-8027] Incorporating a feature flag to allow us to fallback to the basic inline menu fielld qualification method if needed

* [PM-8027] Incorporating a feature flag to allow us to fallback to the basic inline menu fielld qualification method if needed

* [PM-8027] Fixing issue with username fields not qualifyng as a valid login field if a viewable password field is not present

* [PM-8027] Fixing an issue where a field that has no form and no visible password fields should be qualified if a single password field exists in the page

* [PM-8027] Fixing an issue where a field that has no form and no visible password fields should be qualified if a single password field exists in the page

* [PM-8869] Autofill features broken on Safari

* [PM-8869] Autofill features broken on Safari

* [PM-5189] Fixing an issue found within Safari

* [PM-8027] Reverting flag from a fallback flag to an enhancement feature flag

* [PM-8027] Fixing jest tests
2024-06-17 18:49:29 +00:00
Bernd Schoolmann
1970abf723
[PM-4370] Implement PRF key rotation (#9517)
* Add prf key rotation

* Fix tests

* Re-add comment

* Remove encrypted private key from webauthnlogincredentialresponse

* Refactor to use rotateablekeyset

* Move key rotation logic to webauthn-login-admin service

* Fix type error

* Add parameter validation

* Add documentation

* Add input validation

* Add tests
2024-06-17 20:47:06 +02:00
Will Martin
06410a0633
[CL-118][CL-164][PM-8019] collapsible side navigation (#6383) 2024-06-17 14:10:50 -04:00
✨ Audrey ✨
29d433a8a3
[PM-8959] fix barrel file imports (#9698) 2024-06-17 12:56:21 -04:00
Todd Martin
fe1c432e03
Auth/pm 8882/Add TDE Logging (#9673)
* Added logging behind feature flag.

* Added default for new flag.

* Additional logging changes.

* Consolidated log messages.

* Removed unneccessary log.

* Fixed test error.

* Fixed linting.

* Fixed constructor on test.

* Updated to remove flag

* Moved service.

* Added logging to redirect guard.
2024-06-17 12:37:05 -04:00