1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-09-23 03:22:50 +02:00
Commit Graph

123 Commits

Author SHA1 Message Date
Jared Snider
e1e772b0a2
PM-12365 - AnonLayoutWrapperComp - When you use the AnonLayoutWrapperDataService to set data in the AnonLayoutWrapperComponent, I’m seeing an ExpressionChangedAfterItHasBeenCheckedError shown in the console quite often. We should update the wrapper component to fire change detection if the AnonLayoutWrapperDataService receives new information. (#11136) 2024-09-19 13:39:16 -04:00
Justin Baur
1ebef296b9
[PM-12024] Move Lock All To Happen in Background (#11047)
* Move Lock All To Happen in Background

- Make it done serially
- Have the promise only resolve once it's complete

* Unlock Active Account Last

* Add Tests

* Update Comment
2024-09-16 16:08:03 -04:00
Bernd Schoolmann
15610906d2
[PM-7608] Account Security Settings V2 (#10441)
* Implement account security settings v2

* Increase await dialog delay to 500 msec

* Update messages

* Replace platformservice with biometricsservice

* Cleanup

* Cleanup

* Fix account security component according to feedback

* Re-add old message

* Re-add old error message

* Fix minimum timeout message

* Fix screen-reader on custom timeout

* Remove debugging configurations

* Fix incorrectly changed message

* Remove custom vault timeout text

* Restore vaultTimeoutPolicyInEffect i18n message in web

* Change text to use vaultTimeoutPolicyInEffect1

* Fix tests
2024-09-16 17:40:08 +02:00
rr-bw
96d116d643
[PM-8116] Auth Browser Refresh: Password Hint Component (#10492)
* setup component, services, and web HTML

* make Web and Browser functional

* make desktop functional

* update template to solidify common client HTML

* simplify template and class

* update browser routing

* move canActivate to correct location

* simplify post submit routing

* update routing to use unauthUiRefreshSwap()

* constrain AnonLayout title/subtitle width, reduce height on destkop to account for header

* reduce height on browser to account for header (otherwise have to scroll to see EnvSelector

* resolve email issue when clicking 'cancel' on extension popout

* update routing for web

* persist email to popout

* update web router and anon-layout min-h based on client

* change anchor link to button

* remove unnecessary formatting changes

* add new icon

* remove unnecessary call to loginEmailService
2024-09-13 09:16:25 -07:00
Jared Snider
bd3863c313
Auth/PM-11969 - Registration with Email Verification - Accept Emergency Access Invite Flow (#11018)
* PM-11969 - Registration with Email Verification - Accept Emergency Access Invite Fixed

* PM-11969 - Fix PR feedback

* PM-11969 - AcceptEmergencyComponent - remove prop
2024-09-12 20:14:37 -04:00
Jared Snider
b6cde7e3ef
Auth/PM-11945 - Registration with Email Verification - Fix Org Sponsored Free Family Plan not working (#11012)
* PM-11945 - AcceptOrg - fix inaccurate comment.

* PM-11945 - Refactor new registration process to pass along orgSponsoredFreeFamilyPlanToken

* PM-11945 - RegistrationFinishComponent - wire up passing of orgSponsoredFreeFamilyPlanToken to submit method

* PM-11945 - Add todo
2024-09-12 15:24:35 -04:00
Victoria League
a0a0a7ae13
[CL-395] Add and use art colors in svgs (#10990) 2024-09-11 14:54:07 -04:00
rr-bw
12967b0c17
h3 typography on small screens, h2 on medium-large screens (#10939) 2024-09-09 15:12:31 -07:00
Nick Krantz
4e7399ed98
[PM-9733] Custom Vault Timeout (#10515)
* handle timeout changes that are predefined string values

- Passing a string to `Math.max` will cause a NaN to be set.

* type form instance so TypeScript is more aware of the form values
2024-09-09 16:36:23 -05:00
Thomas Rittson
8344623185
[PM-11450] Move organization-user domain to admin-console lib (#10785)
- move organization-user files from libs/common/src/admin-console into libs/admin-console/src/common
- add barrel files and update imports to use barrel files
- rename OrganizationUserService to OrganizationUserApiService
- rename OrganizationUserServiceImplementation to DefaultOrganizationUserApiService
2024-09-04 18:21:26 -04:00
Todd Martin
86fab07a37
Auth/PM-5099 Ensure consistent casing of email used for fingerprint generation in Auth Requests (#8571)
* Created method for handilng email-address-based fingerprint.

* Added test for new method.

* Added returns to annotation
2024-09-04 10:22:06 -04:00
rr-bw
b27dc44298
[PM-11136] Convert LoginEmailService email property to state provider (#10624)
* convert email property to state provider

* update tests

* assign loginEmail to variable before passing in

* remove nav logic in ngOnInit
2024-09-03 09:40:11 -07:00
rr-bw
b339c01c20
remove position on browser (#10810) 2024-08-31 13:19:48 -07:00
rr-bw
c5a267baad
[PM-11000] AnonLayout Icon/Logo theme refactor (#10549)
* update base anon-layout logo/icon

* update ExtensionAnonLayout logo/icon based on theme

* remove hard-coded fill

* remove solarizedDark class

---------

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2024-08-31 12:26:11 -07:00
Jared Snider
0a0cbde5b3
Auth/PM-11318 - Registration With Email Verification - Login After Registration (#10783)
* PM-11318 - Registration Finish - Log user in after registration

* PM-11318 - Adjust registration and login message to be one msg

* PM-11318 - RegistrationFinish - Adjust messaging based on product feedback.

* PM-11318 - RegistrationFinishComp - Tweak redirect and error logic.
2024-08-29 13:55:09 -04:00
Jordan Aasen
9041a4cd4c
[PM-6564] migrate auth toasts to CL toastService (#10665)
* migrate auth toasts to CL toastService

* fix component args

* fix component args

* fix specs

* fix toastService args
2024-08-27 10:33:58 -07:00
Matt Gibson
9459cda304
Pm-10953/add-user-context-to-sync-replaces (#10627)
* Require userId for setting masterKeyEncryptedUserKey

* Replace folders for specified user

* Require userId for collection replace

* Cipher Replace requires userId

* Require UserId to update equivalent domains

* Require userId for policy replace

* sync state updates between fake state for better testing

* Revert to public observable tests

Since they now sync, we can test single-user updates impacting active user observables

* Do not init fake states through sync

Do not sync initial null values, that might wipe out already existing data.

* Require userId for Send replace

* Include userId for organization replace

* Require userId for billing sync data

* Require user Id for key connector sync data

* Allow decode of token by userId

* Require userId for synced key connector updates

* Add userId to policy setting during organization invite accept

* Fix cli

* Handle null userId

---------

Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
2024-08-26 20:44:08 -04:00
Oscar Hinton
9152c3203f
[BEEEP] [PM-10117] Migrate index.html (#10286)
Migrate the index.html to use tailwind instead of bootstrap

* Extracted some more global styles to override the bootstrap styles for layout
  frontend. We should revisit this when we remove bootstrap.
* Removed Angular specific logo for anon pages. Now uses the same css class as
  loading page to prevent duplicated assets.
2024-08-26 18:15:09 +02:00
Victoria League
ed719f835a
[CL-389] Add end slot to non-text bit label content (#10457) 2024-08-20 11:55:11 -04:00
Will Martin
7571c766e0
[PM-10813] add eslint rule to restrict imports from apps in libs (#10481)
* restrict app imports in libs

* add eslint ignore comments
2024-08-14 11:24:29 -07:00
Jared Snider
a13e99ebe9
Auth/PM-10601 - Tech Debt Cleanup - Refactor Lock Component and User Verification to use PinService (#10408)
* PM-10601 - PinSvc new unlock check first draft

* PM-10601 - PinSvc - add new method for determining if pin decryption is available.

* PM-10601 - Add more docs on PinSvc

* PM-10601 - Update Lock Comp & User Verification service + tests to use new isPinDecryptionAvailable method
2024-08-13 15:19:13 -04:00
Nick Krantz
a6176aaf2c
[PM-10799] Login UI Width (#10506)
* reset `maxWidth` attribute during page change

* set default value for `maxWidth` if null or undefined is passed

* implement `maxWidth` for extension implementation of Anon Layout
2024-08-13 14:18:04 -05:00
Todd Martin
7b508b1ad7
[PM-8933] Require userId on setUserKey (#9675)
* Updated all sets of user key to pass in userId

* Added userId on auth request login.

* Fixed tests.

* Fixed tests to pass in UserId

* Added parameter to tests.

* Addressed PR feedback.

* Merged main
2024-08-13 08:07:36 -04:00
Jared Snider
46ecde5d63
PM-9603 - AnonLayout Dynamic Content Support - Add ability to avoid translating subtitle as we have designs where a user's email needs to go in the subtitle slot. (#10459) 2024-08-09 10:09:40 -04:00
rr-bw
b2a995462f
[PM-9605] Extension AnonLayout wrapper component (#10338)
* setup extension component

* setup extension service

* update icon based on theme, adjust padding, service injection

* override service

* add stories

* add current-account component

* add ConfigService to storybook

* use null checks for boolean data - otherwise false values are ignored

* update translations

* remove router implementation test

* remove imports in main.background.ts

* add showLogo to template

* update icon usage

* fix app-current-account storybook style issue
2024-08-06 16:02:47 -07: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
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
rr-bw
27fa7625cf
add option to make button block/inline (#10197) 2024-07-30 21:27:00 -05: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
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
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
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
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
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
Bernd Schoolmann
457c0795be
Remove old biometrics masterkey logic (#9943) 2024-07-22 13:40:19 +00: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
rr-bw
e2c99c2cdf
use new tools-password-strength component (#10125) 2024-07-16 09:14:39 -07: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
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
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
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
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
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
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
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
rr-bw
31e5337ecf
change orgId input to masterPasswordPolicyOptions (#9833) 2024-06-26 10:06:50 -07: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