Commit Graph

1855 Commits

Author SHA1 Message Date
Daniel James Smith d298ac6edf
[PM-13189] Send copy updates (#11619)
* Add more descriptive header text

* Update hint under optional password field

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-10-21 10:10:57 -04:00
Nick Krantz 80a4fba787
Allow for the web generation dialog to disable the margin of the tools generation components (#11565) 2024-10-18 15:57:34 -05:00
Nick Krantz 97bf459424
[PM-13251] Password History (#11618)
* add password history view component in vault lib

* integrate PasswordHistoryView into individual vault

* add password history v2 to browser extension

* update color of password history link

* add check for `cipherId` before rendering password history
2024-10-18 14:57:08 -05:00
Jared Snider 496bc74b51
PM-13820 - RegistrationStartSecondaryComp - add bitLink to link (#11626) 2024-10-18 15:08:08 -04:00
Zilong Xue 81d1274111
Fix: Add TOTP import support to KeePassX CSV importer (#11574)
KeePassX CSV importer was missing TOTP field support. Added logic to parse TOTP fields from the CSV and include them in the vault entries. Added unit tests to verify TOTP import functionality.
2024-10-18 20:37:32 +02:00
Jared Snider 2605c03c81
Update Icon Docs to include information on viewbox scaling (#11613) 2024-10-18 12:14:29 -04:00
Jared Snider ad40db9ecf
PM-13368 - Registration with Email Verification - Registration Finish - Add 2FA support (#11614) 2024-10-18 10:17:23 -04:00
Andreas Coroiu c787ecd22c
[PM-11764] Implement account switching and sdk initialization (#11472)
* feat: update sdk service abstraction with documentation and new `userClient$` function

* feat: add uninitialized user client with cache

* feat: initialize user crypto

* feat: initialize org keys

* fix: org crypto not initializing properly

* feat: avoid creating clients unnecessarily

* chore: remove dev print/subscription

* fix: clean up cache

* chore: update sdk version

* feat: implement clean-up logic (#11504)

* chore: bump sdk version to fix build issues

* chore: bump sdk version to fix build issues

* fix: missing constructor parameters

* refactor: simplify free() and delete() calls

* refactor: use a named function for client creation

* fix: client never freeing after refactor

* fix: broken impl and race condition in tests
2024-10-18 16:15:10 +02:00
Rui Tomé 97e195cd7b
[PM-11404] Account Management: Prevent a verified user from purging their vault (#11411)
* Update AccountService to include a method for setting the managedByOrganizationId

* Update AccountComponent to conditionally show the purgeVault button based on a feature flag and if the user is managed by an organization

* Add missing method to FakeAccountService

* Remove the setAccountManagedByOrganizationId method from the AccountService abstract class.

* Refactor AccountComponent to use OrganizationService to check for managing organization

* Rename managesActiveUser to userIsManagedByOrganization

* Refactor userIsManagedByOrganization property to be non-nullable in organization data and response models

* Refactor organization.data.spec.ts to include non-nullable userIsManagedByOrganization property
2024-10-17 16:06:33 +01:00
Jared Snider a5f856da2a
Component Library - Add Icon documentation (#11571)
* Add Icon documentation

* Add 7th bullet

* Icon docs - add context on how to go from hex values to appropriate tailwind classes.

* 7th bullet needs bold to look right

* Add color icon per suggestion
2024-10-17 10:47:08 -04:00
Bernd Schoolmann e8f0135d50
[PM-12806] Enforce 5000 iteration minimum for prelogin (#11332)
* Enforce 5000 iteration minimum for prelogin

* Fix tests

* Add more extensive tests

* Add loginstrategy prelogin downgrade test
2024-10-17 09:58:07 -04:00
Jordan Aasen 288b0cff2f
fix send options viewsLeft (#11594) 2024-10-17 15:28:02 +02:00
Daniel James Smith 783305696a
Fix stories title for card-component (#11562)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-10-17 09:22:56 -04:00
Addison Beck 073ee4739b
Split `Organization.LimitCollectionCreationDeletion` into two separate business rules (#11223)
* Declare feature flag

* Introduce new model properties

* Reference feature toggle in template

* Fix bugs caught during manual testing
2024-10-17 06:34:34 -04:00
Jared Snider 4b67cd24b4
Auth/PM-8112 - UI refresh - Registration Components (#11353)
* PM-8112 - Update classes of existing registration icons

* PM-8112 - Add new icons

* PM-8112 - Export icons from libs/auth

* PM-8112 - RegistrationStart - Add new user icon as page icon

* PM-8112 - Replace RegistrationCheckEmailIcon with new icon so it displays properly

* PM-8112 - RegistrationFinish - Add new icon across clients

* PM-8112 - Registration start comp - update page icon and page title on state change to match figma

* PM-8112 - RegistrationFinish - adding most of framework for changing page title & subtitle when an org invite is in state.

* PM-8112 - Add joinOrganizationName to all clients translations

* PM-8112 - RegistrationFinish - Remove default page title & subtitle and let onInit logic figure out what to set based on flows.

* PM-8112 - RegistrationStart - Fix setAnonLayoutWrapperData calls

* PM-8112 - RegistrationFinish - simplify qParams init logic to make handling loading and page title and subtitle setting easier.

* PM-8112 - Registration Link expired - move icon to page icon out of main content

* PM-8112 - RegistrationFinish - Refactor init logic further into distinct flows.

* PM-8112 - Fix icons

* PM-8112 - Extension AppRoutingModule - move sign up start & finish routes under extension anon layout

* PM-8112 - Fix storybook

* PM-8112 - Clean up unused prop

* PM-8112 - RegistrationLockAltIcon tweaks

* PM-8112 - Update icons to have proper styling

* PM-8112 - RegistrationUserAddIcon - remove unnecessary svg class

* PM-8112 - Fix icons
2024-10-16 18:28:27 -04:00
Jordan Aasen 6e37047776
account for possible null value (#11589) 2024-10-16 21:11:43 +02:00
Brandon Treston 1f330b078d
Remove platformUtilService.showToast call (#11410) 2024-10-16 09:52:45 -04:00
Nick Krantz d8f1527db0
[PM-13016] Browser default match detection (#11569)
* update conditional to only exit early if value is null

- The UriMatchStrategy for Domain was 0 and hitting the conditional

* add baseDomain test
2024-10-16 08:11:41 -05:00
Thomas Rittson 178a418850
Conditionally disable client-side policy validation (#11550) 2024-10-16 08:46:03 +10:00
Jordan Aasen 87545e4d21
fix logic for displaying hide email in send options (#11561) 2024-10-15 20:48:51 +02:00
Cesar Gonzalez 32d12b3d6a
[PM-7980] Inline autofill menu is not shown inside dialog html tag (#11474)
* [PM-7980] Fix inline menu not showing inside dialog html tag

* [PM-7980] Fix inline menu not showing inside dialog html tag

* [PM-7980] Fixing an issue where a dialog element could potentially not represent itself in the #top-layer
2024-10-15 11:34:14 -05:00
Nick Krantz e5ca6fd460
wrap generate & copy buttons in a flex container, flex containers do not wrap by default (#11558) 2024-10-15 11:06:36 -05:00
Nick Krantz 15e5a6d747
update heading level on password generator (#11556) 2024-10-15 17:16:00 +02:00
Jonathan Prusik 1c2cb4440b
[PM-12345] Add cipher type settings for inline autofill menu (#11260)
* add inline menu identity and card visibility settings state to autofill settings service

* add inline menu identity and card visibility settings to autofill settings view component

* add inline menu identity and card visibility settings to legacy autofill settings view component

* do not show inline menu card and identity visibility settings if inline-menu-positioning-improvements feature flag is off

* show card and identity inline menus based on their visibility settings

* do not show identities in account creation username/email fields if user setting disallows it

* reload local tab settings for inline menu visibility when an inline visibility setting value changes

* take out tabSendMessageData call for inline menu visibility sub-settings

---------

Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
2024-10-15 11:07:52 -04:00
Daniel James Smith 40ab96a7ce
Show disabled Sends within Send list view (#11555)
With #10192 we introduced the new send-list-filters, and filtered out any disabled sends. These still need to be shown as the the other clients still support enabling/disabling Sends

This will be removed once all clients use the same shared components.

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-10-15 10:54:00 -04:00
Jordan Aasen 445477225c
fix label width in password generator (#11515) 2024-10-14 15:24:23 +02:00
Jordan Aasen 1459c06d17
[PM-12724] - fix logic for showing new password (#11512)
* fix logic for showing new password

* fix logic
2024-10-14 15:22:22 +02:00
Jordan Aasen fa41f29fc4
[CL-425] - add tools card component (#11375)
* add tools card component

* rename to tools-card

* whitelist readme

* fix tw classes in card component

* add RTL support.

* add documentation. revert changes to settings

* Revert vscode settings

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-10-11 23:00:45 +02:00
Victoria League 988c2b69e0
[CL-471] Update lock icon and others (#11508) 2024-10-11 16:12:49 -04:00
Jared Snider 7297d0fccd
Auth/PM-13318 - AnonLayoutWrapperData Refactor to add full Translation support (#11513)
* PM-13318 - AnonLayoutWrapperData refactor to support all possible string scenarios (untranslated string, translated string, and translated string with placeholders)

* PM-13318 - Fix accidental check in

* PM-13318 - Revert the correct change.

* PM-13318 - Fix test failures
2024-10-11 16:02:47 -04:00
Shane Melton 9d163550fd
[PM-6991] Improve reactivity of cipherViews$ observable in cipher service (#11141)
* [PM-6991] Remove self reference to cipherViews$

* [PM-6991] Update cipherViews$ observable to be reactive to encrypted ciphers and localData

* [PM-6991] Use the cipherViews$ observable in the Web vault

* [PM-6991] Update the vault filter service to use cipherViews$ observable

* [PM-6991] Add deprecation notice to getAllDecrypted

* [PM-6991] Ensure cipherViews$ emits an empty array whenever the decrypted cipher cache is cleared

* [PM-6991] Fix cipher service test

* [PM-6991] Use shareReplay instead of share

* [PM-6991] Remove ciphersExpectingUpdate and replace with a null filter instead for cipherViews$

* [PM-6991] Skip refreshing on null cipherViews$ to avoid flashing an empty vault after modifying ciphers
2024-10-10 14:54:23 -07:00
Jordan Aasen b9be15c84b
fix password label (#11478) 2024-10-10 10:28:08 +02:00
Jared McCannon 1ca03e7815
[PM-12357] - Using new Verified SSO Domain call for SSO (#11446)
* Added new SSO verified domain call and added calling of it behind feature flag.
2024-10-09 14:30:39 -05:00
Nick Krantz e2275ad0bc
[PM-12776] Draggable Items within a dialog (#11396)
* increase z-index `cdk-drag-preview` so it displays on top of modals/dialogs when draggable elements are within them

* update comment overlay z-index and add ticket number

* update comment
2024-10-09 12:05:31 -05:00
Jordan Aasen f1dab68e46
don't change password field label (#11267) 2024-10-09 15:00:05 +02:00
Conner Turnbull 49b26db27e
Split invoice history table into two tables for paid and open (#11459) 2024-10-08 14:55:59 -04:00
Jared Snider 18522e5165
PM-13252 - AnonLayout - Style tweaks to fix scrollbars on browser + add typography to footer content + misc minor refactors. (#11449) 2024-10-08 14:51:08 -04:00
✨ Audrey ✨ dc1f014ad8
[PM-8282] credential generator (#11398)
* credential generator browser ui
* switch browser generate screen to extension refresh flag
* consolidate generator components into module
* add `@bitwarden/generator-components` readme
* normalize generator component rx subscriptions
2024-10-08 14:08:34 -04:00
Tom cfbe180352
Adding client side access intelligence feature flag (#11463) 2024-10-08 19:36:13 +02:00
Nick Krantz dee7d94b1d
add platform service to cipher form story (#11458) 2024-10-08 11:45:45 -05:00
Nick Krantz 22b16b20a7
remove user match strategy on the web (#11385) 2024-10-08 10:53:20 -05:00
Nick Krantz 2c8f09d547
move password count button to display before password toggle (#11450) 2024-10-08 10:50:44 -05:00
Thomas Rittson 7c72795d1c
[PM-12747] Move CollectionService and models to AC Team (#11278) 2024-10-08 10:14:39 -04:00
Jordan Aasen dc91a3eed7
disable copy/generate buttons when sends are disabled (#11421) 2024-10-08 12:28:27 +02:00
Daniel James Smith e47415fe91
[PM-11437] 1Password 1pux importer updates and fixes (#10778)
* Replaced field trashed with state

The new field state contains either 'active' or 'archived'

Adjust all the test files to have the new field

Add unit test to verify skipping archived items on import

Fix importer

* Add addtional fields to 1pux importer types

No mapping currently necessary

* Field indexAtSource was deprecated

Removing it from the 1pux-importer-types

Updating all the test files

* Removed remaining instances of indexAtSource

* Fixed a leftover instance of trashed -> state

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-10-07 19:12:12 +02:00
Nick Krantz a6db7e3086
[PM-10426] Admin Console - Edit Modal (#11249)
* add `hideFolderSelection` for admin console ciphers

* hide folder form field when configuration has `hideFolderSelection` set to true

* add `addCipherV2` method in the admin console vault

* add browser refresh logic for add/edit form

* add admin console implementation of `AdminConsoleCipherFormConfigService`

* only allow edit dialog in admin console

* remove duplicate check

* refactor comments

* initial integration of combined dialog

* integrate add cipher with admin console vault

* account for special admin console collection permissions

* add `edit` variable to AC ciphers when the user has permissions

* Move comment to JSDoc

* pass full cipher to view component

* validate edit access when opening view form

* partial-edit not applicable for admin console

* refactor hideIndividualFields to be more generic and hide favorite button

* pass entire cipher into edit logic to match view logic

* add null check for cipher when attempting to view

* remove logic for personal ownership, not needed in AC
2024-10-07 10:59:23 -05:00
Jason Ng 7098a243ca
[PM-10378] Unassigned Items Readonly After Edit Bug Fix (#11340) 2024-10-07 11:15:00 -04:00
Oleksii Holub 359b6e02d9
PM-12102 | Fix LastPass importer not properly de-encrypting URLs (#11366)
* PM-12102 | Fix LastPass importer not properly de-encrypting URLs

* Reuse the original code for the unencrypted path

* Add some comments
2024-10-07 16:55:17 +02:00
Shane Melton 68f4c2e879
[PM-12389] Vault Item Dialog Fixes (#11374)
* [PM-12389] Hide delete button when there is no cipher to delete

* [PM-12389] Ensure decrypted collections and folders are available before building cipher form config

* [PM-12389] Hide the delete button when cloning ciphers
2024-10-07 07:23:00 -07:00
Shlomo Zalman Heigh a4123cb8ba
[PM-11497] If an org has only one collection, check it by default (#10806)
Signed-off-by: Shlomo Zalman Heigh <shlomozalmanheigh@gmail.com>
2024-10-07 10:22:10 -04:00
Oscar Hinton 9ea9c3a932
[PM-11290] Enable SDK (#11378)
Follow up PR to #10974, flips the compile time flags to enabled and includes some debug logic to detect if users encounter issues with the WASM bundle in preparation for active consumption of the SDK.
2024-10-07 13:56:02 +02:00
Oscar Hinton c88c5bf1ef
[PM-11766] Introduce SDK client (#10974)
Integrate the SDK into our other clients.
2024-10-07 13:20:50 +02:00
Shane Melton bdf91e24c6
[PM-13177] Fix Unassigned cipher collection assignment in AC (#11419)
* [PM-13177] Add saveCollectionsWithServerAdmin to CipherService

* [PM-13177] Introduce isSingleCipherAdmin flag to AssignCollections component
2024-10-04 12:11:03 -07:00
Jared Snider 87cb45c520
Auth/PM-13114 - WebEnvService Refactor + Unit Tests to support QA Env Selector (#11397)
* PM-13114 - WebEnvSvc - use hostname vs domain check for init and setEnv (tests TODO)

* PM-13114 - WebEnvSvc + URLs webpack config - use expected string variable on process.env.URLS to ensure tests can properly mock the WebEnvSvc

* PM-13114 - WebEnvSvc - setEnvironment - fix issue with returning currentRegion urls instead of currentEnv urls.

* PM-13114 - WebEnvSvc - setEnv - refactor names to improve clarity.

* PM-13114 - WebEnvSvc spec file - Test all prod scenarios

* PM-13144 - Work with Justin to move process.env.Urls access into injection token and remove webpack string type conversion.

* PM-13114 - WIP on getting additionalRegionConfigs injected via injection token to default env service.

* PM-13114 - Update all background inits to pass process.env.ADDITIONAL_REGIONS as unknown as RegionConfig[] to env service.

* PM-13114 - WebEnvSvc - adjust order of constructor deps

* PM-13114 - WebEnvSvc - add WebRegionConfig to extend RegionConfig type and be accurate for what the WebEnvSvc uses.

* PM-13114 - WebEnvSvc Tests - US QA tested

* PM-13114 - WebEnvSvc tests - refactor QA naming to make it more clear.

* PM-13114 - WebEnvSvc - test QA EU

* PM-13114 - WebEnvSvc - remove promise resolve per PR feedback.
2024-10-04 14:57:40 -04:00
Nick Krantz e6ff647343
fix value update for match detections (#11417) 2024-10-04 13:16:21 -05:00
Nick Krantz 02993f7018
[PM-10439] Vault generator components (#11350)
* add password/username generator strings to web app

* remove JSLibServicesModule from generator dependencies

* integrate username and password generators into browser extension

* integrate username and password generators into web app

* move Jslib order back

* remove margin from within the generator components

* add alternative background to web generator dialog

* remove unneeded margin from username generator

* remove disable margin from div

* Revert "remove unneeded margin from username generator"

This reverts commit ae3067e3f2.

* remove CSS to alter internal margins of the generator components
2024-10-04 08:39:29 -05:00
Justin Baur 3f8f5bc1fa
[PM-7535] Remove Uses of `getUserId` (#10837)
* Remove Uses of `getUserId`

* Fix Test
2024-10-03 10:33:24 -04:00
Thomas Rittson c8d4b819bc
[PM-11869] Adjust CollectionService to be reactive to keys being available (#11144) 2024-10-03 08:06:41 +10:00
Shane Melton 0d877c4e77
[PM-12389] Combined web vault item dialog (#11345)
* [PM-12389] Cleanup attachment dialog UI bugs

* [PM-12389] Add formReady event to CipherForm

* [PM-12389] Use ngOnChanges for CipherView component initialization

* [PM-12389] Cleanup web specific services and components

* [PM-12389] Introduce combined Vault Item Dialog component

* [PM-12389] Use the new VaultItemDialog in the Individual Vault

* [PM-12389] Deprecate the AddEditV2 and View dialogs in Web

* [PM-12389] Fix failing test

* [PM-12389] Fix broken imports after move

* [PM-12389] Remove messages.json addition that is taken care of in another PR
2024-10-02 14:34:46 -07:00
Jared Snider 4bd2e158c0
PM-12694 - Fix AnonLayoutStorybook to add router module and hideLogo toggling support (#11368) 2024-10-02 16:17:20 -04:00
✨ Audrey ✨ d1c3a98efb
introduce additional rx helpers (#11361) 2024-10-02 14:47:22 -04:00
Jordan Aasen 22a9e8788b
fix rows for textarea in text send (#11362) 2024-10-02 19:03:16 +02:00
cd-bitwarden a23991a64b
[pm-10995] feature flag removal (#11000)
* Removing feature flag

* Removing flag from feature-flag.enum.ts

* suggested changes

* prettier

* fixing merge conflict issue

* Removing unused code

* suggested change from Gbubemi

* Adding back merge conflict code

* fixing prettier styling
2024-10-02 12:55:54 -04:00
Alec Rippberger acd47c2b79
[PM-12694] Modify logo on AnonLayout to direct to base route on click (#11263)
* Add "back" functionality for Desktop.

* Return user to email field when logo is clicked in Web.

* Update function name.

* Move hideLogo to anchor wrapper.

* Use "/" route for logo back link.
2024-10-02 08:00:37 -05:00
Thomas Rittson 363acf58f9
[PM-12740] Move CollectionAdminService to AC Team (#11269) 2024-10-01 18:07:13 -04:00
cyprain-okeke 8b034cda7d
Remove the delete provider flag (#11336) 2024-10-01 22:01:01 +01:00
Jordan Aasen 97a97c4b2d
disable copy button if no password is present (#11349) 2024-10-01 22:38:27 +02:00
Jared Snider 9ff1db7573
Auth/PM-9449 - UI Refresh + Client component consolidation into new LockV2 Component (#10451)
* PM-9449 - Init stub of new lock comp

* PM-9449 - (1) Add new lock screen title to all clients (2) Add to temp web routing module config

* PM-9449 - LockV2Comp - Building now with web HTML

* PM-9449 - Libs/Auth LockComp - bring in all desktop ts code; WIP, need to stand up LockCompService to facilitate ipc communication.

* PM-9449 - Create LockComponentService for facilitating client logic; potentially will decompose later.

* PM-9449 - Add extension lock comp service.

* PM-9449 - Libs/auth LockComp - bring in browser extension logic

* PM-9449 - Libs/auth LockComp html start

* PM-9449 - Libs/Auth LockComp - (1) Remove unused dep (2) Update setEmailAsPageSubtitle to work.

* PM-9449 - Add getBiometricsError to lock comp service for extension.

* PM-9449 - LockComp - (1) Save off client type as public comp var (2) Rename biometricLock as biometricLockSet

* PM-9449 - Work on lock comp service getAvailableUnlockOptions

* PM-9449 - WIP libs/auth LockComp

* PM-9449 - (1) Remove default lock comp svc (2) Add web lock comp svc.

* PM-9449 - UnlockOptions - replace incorrect type

* PM-9449 - DesktopLockComponentService -get most of observable based getAvailableUnlockOptions$ logic in place.

* PM-9449 - LockCompSvc - getAvailableUnlockOptions in place for all clients.

* PM-9449 - Add getBiometricsUnlockBtnText to LockCompSvc and put TODO for wiring it up later

* PM-9449 - Lock Comp - Replace all manual bools with unlock options.

* PM-9449 - Desktop Lock Comp Svc - adjust spacing

* PM-9449 - LockCompSvc - remove biometricsEnabled method

* PM-9449 - LockComp - Clean up commented out code

* PM-9449 - LockComp - webVaultHostname --> envHostName

* PM-9449 - Fix lock comp svc deps

* PM-9449 - LockComp - HTML progress

* PM-9449 - LockComp cleanup

* PM-9449 - Web Routing Module - wire up lock vs lockv2 using extension swap

* PM-9449 - Wire up loading state

* PM-9449 - LockComp - start wiring up listenForActiveUnlockOptionChanges logic with reactivity

* PM-9449 - Update desktop & extension lock comp service to use new biometrics service vs platform utils for biometrics information.

* PM-9449 - LockV2 - Swap platform util usage with toast svc

* PM-9449 - LockV2Comp - Bring over user id logic from PM-8933

* PM-9449 - LockV2Comp - Adjust everything to use activeAccount.id.

* PM-9449 - LockV2Comp - Progress on wiring up unlock option reactive stream.

* PM-9449 - LockComp ts - some refactoring and minor progress.

* PM-9449 - LockComp HTML - refactoring based on new idea to keep unlock options as separate as possible.

* PM-9449 - Add PIN translation to web

* PM-9449 - (1) Lock HTML refactor to make as independent verticals as possible (2) Refactor Lock ts (3) LockSvc - replace type with enum.

* PM-9449 - LockV2Comp - remove hardcoded await.

* PM-9449 - LockComp HTML - add todo

* PM-9449 - Web - Routing module - cleanup commented out stuff

* PM-9449 - LockV2Comp - Wire up biometrics + mild refactor.

* PM-9449 - Desktop - Wire up lockV2 redirection

* PM-9449 - LockV2 - Desktop - don't focus until unlock opts defined.

* PM-9449 - Fix accidental check in

* PM-9449 - LockV2 - loading state depends on unlock opts

* PM-9449 - LockV2 comp - remove unnecessary hr

* PM-9449 - Migrate  "yourVaultIsLockedV2" translation to desktop & browser.

* PM-9449 - LockV2 - Layout tweaks for biometrics

* PM-9449 - LockV2 - Biometric btn text

* PM-9449 - LockV2 - Wire up biometrics loading / disable state + remove unnecessary conditions around biometricsUnlockBtnText

* PM-9449 - DesktopLockSvc - Per discussion with Bernd, remove interval polling and just check once for biometric support and availability.

* PM-9449 - AuthGuard - Add todo to remove promptBiometric

* PM-9449 - LockV2 - Refactor primary and desktop init logic + misc clean up

* PM-9449 - LockV2 - Reorder init methods

* PM-9449 - LockV2 - Per discussion with Product, deprecate windows biometric settings update warning

* PM-9449 - Add TODO per discussion with Justin and remove TODO

* PM-9449 - LockV2 - Restore hide password on desktop window hidden functionality.

* PM-9449 - Clean up accomplished todo

* PM-9449 - LockV2 - Refactor func name.

* PM-9449 - LockV2 Comp - (1) TODO cleanup (2) Add browser logic to handleBiometricsUnlockEnabled

* PM-9449 - LockCompSvc changes - (1) Observability for isFido2Session (2) Adjust errors and returns per discussion with Justin

* PM-9449 - Per product, no longer need to support special fido2 case on extension.

* PM-9449 - LockCompSvc - add getPreviousUrl support

* PM-9449 - LockV2 - Continued ts cleanup

* PM-9449 - LockV2Comp - clean up unused props

* PM-9449 - LockV2Comp - Rename response to masterPasswordVerificationResponse

* PM-9449 - LockV2 - Remove unused formPromise prop

* PM-9449 - Add missing translations + update desktop to showReadonlyHostName

* PM-9449 - LockV2 - cleanup TODO

* PM-9449 - LockV2 - more cleanup

* PM-9449 - Desktop Routing Module - only allow LockV2 access if extension refresh flag is enabled.

* PM-9449 - Extension - AppRoutingModule - Add extension redirect + new lockV2 route.

* PM-9449 - Extension - AppRoutingModule - Add lockV2 to the ExtensionAnonLayoutWrapperComponent intead of the regular one.

* PM-9449 - Extension - CurrentAccountComp - add null checks as anon layout components don't have a state today. This prevents the account switcher from working on the new lockV2 comp.

* PM-9449 - Extension AppRoutingModule - LockV2 should use ExtensionAnonLayoutWrapperData

* PM-9449 - LockComp - BiometricUnlock - cancelling is a valid action.

* PM-9449 - LockV2 - Biometric autoprompt cleanup

* PM-9449 - LockV2 - (1) Add TODO for KM team (2) Fix submit logic.

* PM-9449 - Tweak TODO to add task #

* PM-9449 - Test WebLockComponentService

* PM-9449 - ExtensionLockComponentService tested

* PM-9449 - Tweak extension lock comp svc test

* PM-9449 - DesktopLockComponentService tested

* PM-9449 - Add task # to TODO

* PM-9449 - Update apps/browser/src/services/extension-lock-component.service.ts per PR feedback

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

* PM-9449 - Per PR feedback, replace from with defer for better reactive execution of promise based functions.

* PM-9449 - Per PR feedback replace enum with type.

* PM-9449 - Fix imports and tests due to key management file moves.

* PM-9449 - Another test file import fix

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2024-10-01 16:06:18 -04:00
Jordan Aasen dab60dbaea
[PM-11926] - send created redirect (#11140)
* send created redirect

* fix test

* fix test

* fix send form save

* return SendData from saveSend

* When saving a Send, bubble up a SendView which can be passed to the SendCreated component

* Use events to initiate navigation and move actual navigation into client-specific component

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-10-01 21:58:00 +02:00
Jordan Aasen ab5a02f483
[PM-12774] - don't display filters when no sends are available (#11298)
* don't display filters when no sends are available

* move logic down. add conditional class

* fix logic for send filters
2024-10-01 20:46:10 +02:00
Alec Rippberger f8ccf0cfb8
[PM-12553][Defect] Delete Attachment button needs hover state. (#11339)
* Remove tw-border-none class from delete button.

* Add transparent border
2024-10-01 11:48:59 -05:00
Bernd Schoolmann dafe795854
Move asymmetric crypto functions out of crypto service (#10903) 2024-10-01 17:47:41 +02:00
Jordan Aasen 5a1583cb0a
[PM-12732] - fix new send button (#11266)
* fix new send button

* simplify logic. use static class name where possible
2024-10-01 11:36:34 +02:00
Thomas Rittson 1f85036346
[PM-3478] Refactor OrganizationUser api (#10949)
* User and Group collection dialogs - don't fetch additional associations from the api
* Refactor to use user mini-details endpoint
2024-10-01 07:13:26 +10:00
Nick Krantz 8589cfd96e
[PM-5450] Admin Console event collection (#10678)
* switch `collect` to `collectMany`

- The `collect` method in collection service tries to fetch the cipher via the passed `cipherId`. The cipher service fails within the admin console in some cases.

* add `getCipherAdmin` call to fetch ciphers not in a collection
2024-09-30 13:42:33 -05:00
Alec Rippberger b54ec7a204
Remove left padding from attachments list. (#11275) 2024-09-30 13:00:46 -05:00
Bernd Schoolmann 19f547e638
[PM-8836] Move ownership of biometrics to key-management (#10818)
* Move ownership of biometrics to key-management

* Move biometrics ipc ownership to km

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

* Fix linting

* Fix linting

* Fix tests

* Fix tests

* Update .github/CODEOWNERS

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

* Update .github/CODEOWNERS

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

* Change ownership of native messaging to key-management

* Move biometrics to libs/key-management

* Add README to capital whitelist

* Update package-lock.json

* Move km to key-management

* Move km to key-management

* Fix build for cli

* Import fixes

* Apply prettier fix

* Fix test

* Import fixes

* Import fixes

* Update libs/key-management/README.md

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

* Update libs/key-management/package.json

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

* Update lock file

* Change imports to top level km package

---------

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
2024-09-30 18:14:32 +02:00
Jonathan Prusik f1b343e056
fix incorrect handling of the first day of the next month is isCardExpired (#11337) 2024-09-30 12:01:42 -04:00
Victoria League b149db9f4d
[CL-458] Exclude badges from truncation and vertically center content (#11262) 2024-09-30 11:45:51 -04:00
Matt Gibson a6b9088940
[PS-11868] Require key for enc string decryption (#10981)
* Specify enc string decryption key and service.

* Fix issue with identifying `this` type within extended classes

* Folder decryption example

* Test enc string changes

* Fix test name

* test decrypt with key
2024-09-30 09:34:03 -04:00
Jordan Aasen 2f8ab087ff
[PM-12721] - add copy button to send options password field (#11295)
* add copy button to  send options form

* update copy language

* fix copy button value text
2024-09-30 13:56:32 +02:00
✨ Audrey ✨ 2e1cd127c7
use revised configuration name when generating send passwords (#11290) 2024-09-27 10:58:01 -04:00
✨ Audrey ✨ 433ae13513
[PM-5611] username generator panel (#11201)
* add username and email engines to generators
* introduce username and email settings components
* introduce generator algorithm metadata
* inline generator policies
* wait until settings are available during generation
2024-09-27 09:02:59 -04:00
Jordan Aasen f1ac1d44e3
[PM-12716] - add missing password generation function to send form password (#11273)
* add generatePassword function to send options

* add generatePassword function
2024-09-27 13:42:14 +02:00
Jordan Aasen 739c76a24f
[PM-12704] - fix loading state for send list (#11264)
* fix loading state for send service

* fix test

* fix test and service
2024-09-27 13:38:50 +02:00
Jared Snider eb7eb614f5
PM-11962 - InputPasswordComp - add weak password checking (#11252) 2024-09-26 18:00:03 -04:00
Rui Tomé 430741a7e6
[PM-11334] Add managed status to sync data (#11150) 2024-09-26 11:21:46 +01:00
Jonas Hendrickx d2e5af7fb5
[PM-11901] Refactoring self-hosting license file uploader (#11083) 2024-09-26 11:23:23 +02:00
Shane Melton e0bca66f5e
[PM-12622] Check that readOnly is falsy not only null (#11248) 2024-09-25 15:47:46 -07:00
Jordan Aasen 7f33954316
don't display free bitwarden families button (#11184) 2024-09-25 19:56:04 +02:00
Alec Rippberger 742900a663
PM-11390: [Defect] View Login - Clicking Password History opens Edit Item window behind View Login window (#11119)
* Add password dialog component.

* Properly direct to browser password history screen.

* Add padding to history items.

* Update test to correct password history route.

* Remove unneeded provider.

* Use relative path for SharedModule.
2024-09-25 10:45:13 -04:00
Jordan Aasen cd9045483b
[PM-12561] - add data attrs for send form (#11209)
* add data attrs for send form

* Add data-testid for toggle view password

* Revert "Add data-testid for toggle view password"

This reverts commit bd6fcc8c1b.

* move dataid to component

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-09-25 14:03:42 +02:00
Jordan Aasen d587be1831
[PM-12403] - Implement Remove Send policy on Add/edit screen (#11178)
* disable edit send if policy requires

* remove unused var

* don't display free bitwarden families button

* Revert "don't display free bitwarden families button"

This reverts commit 832564d705.

* use config instead of policy service

* Revert "don't display free bitwarden families button"

This reverts commit 832564d705.

* remove unnecessary code

* Use short when transforming deletionDate instead of fixed format

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-09-25 11:07:01 +00:00
Todd Martin 85b97d9304
Remove authenticator-token feature flag (#11182) 2024-09-24 17:02:39 -04:00
Todd Martin bdcf920e62
Remove references to device-trust-logging feature flag (#11183) 2024-09-24 16:47:10 -04:00
Jonathan Prusik e88e231d48
[PM-11588] Bugfix - parse user input value for combined expiry date when creating/adding a card cipher (#11103)
* simplify logic and fix some pattern-matching bugs

* add first pass at parsing combined expiry year and month from user input

* clean up code

* fix broken three-digit parsing case

* fix case where splitCombinedDateValues returns empty strings when the input is only a delimiter

* fix incorrect expectation of falsy negative integers

* clean up code

* split out logic from parseYearMonthExpiry

* move utils from vault to autofill
2024-09-24 10:36:44 -04:00
Jordan Aasen 8507097fe7
fix send password input (#11208) 2024-09-24 11:45:08 +02:00
Bernd Schoolmann d92b2cbea2
[PM-11477] Remove deprecated cryptoservice functions (#10854)
* Remove deprecated cryptoservice functions

* Use getUserkeyWithLegacySupport to get userkey

* Fix tests

* Fix tests

* Fix tests

* Remove unused cryptoservice instances

* Fix build

* Remove unused apiService in constructor

* Fix encryption

* Ensure passed in key is used if present

* Fix sends and folders

* Fix tests

* Remove logged key

* Fix import for account restricted keys
2024-09-24 11:28:33 +02:00
Jordan Aasen 6d9223fac7
[PM-12505] - add delete send button to footer (#11187)
* add delete send button to footer

* add basic error handling

* update copy. user bitAction

* use arrow function. remove border class
2024-09-24 09:26:25 +02:00
Jordan Aasen aa91a8d5ca
fix send form defects (#11212) 2024-09-24 09:12:27 +02:00
SmithThe4th 0db179e974
[PM-739] Using a space at the beginning of otpauth:// generate a wrong OTP (#11204)
* Trimmed tariling whitespace from totp field

* Trimmed tariling whitespace from totp field

* Fix failing test
2024-09-23 16:45:53 -04:00
✨ Audrey ✨ cf48db5ed1
[PM-11418] generator policy constraints (#11014)
* add constraint support to UserStateSubject
* add dynamic constraints
* implement password policy constraints
* replace policy evaluator with constraints in credential generation service
* add cascade between minNumber and minSpecial

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2024-09-23 11:07:47 +02:00
Justin Baur 972339be83
Remove Storage Reseed FF (#11156) 2024-09-20 11:46:00 -04:00
Shane Melton 36a9228523
[PM-11391] Replace button tag with div for TOTP timer (#11116) 2024-09-20 06:56:21 -07:00
Victoria League 1262623fac
[CL-451] Add option for full width chip select (#11135) 2024-09-20 09:52:12 -04:00
Nick Krantz c13131acd1
remove border styles, allow for component library to style the icon button (#11154) 2024-09-20 08:45:44 -05:00
Jordan Aasen 992964fc08
disable hide email when in policy in send options (#11161) 2024-09-19 22:15:11 +02:00
Jordan Aasen 01f668e648
add send link copy (#11160) 2024-09-19 21:59:25 +02:00
Jordan Aasen c4d66a1383
[PM-11904] - send options form (#11142)
* send options form

* remove commented code

* fix margin. update i18 key

* remove unecessary input

* remove unnecessary typing. DRY up messages
2024-09-19 20:53:25 +02:00
Victoria League eec84d893d
[CL-439] Improve keyboard and visual a11y for chip select (#11112) 2024-09-19 13:49:00 -04:00
Shane Melton 4327fa21f6
[PM-11343] Browser Refresh - View dialog permissions in AC (#11092)
* [PM-11343] Add param to conditionally disable the edit button

* [PM-11343] Cleanup router navigation and move query param handling to callers of the View dialog

* [PM-11343] Fix failing test

* [PM-11343] Fix missing router after merge

* [PM-11343] Add null checks in case the dialog result is undefined (due to closing via the ESC key)

* [PM-11343] Add support to provide a list of collections to the cipher view component

* [PM-11343] Add collections as an optional view cipher dialog parameter

* [PM-11343] Update the org vault to provide collections when opening the View cipher dialog

* [PM-11343] Fix import

* [PM-11343] Use [replaceUrl] for cipher items to avoid needing double back button
2024-09-19 10:43:28 -07:00
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
Nick Krantz 01e530d02b
[PM-11691] Remove Nord and Solarized Dark from extension (#11013)
* remove nord and solarized dark from AppearanceV2 component
- This component already behind the extension refresh feature flag

* update the users theme to system when nord or solarized dark is selected

* For desktop, still allow all theme types by overriding the default theme service.

* change theme on the fly rather than updating local state.

- When the feature flag is removed then a migration will have to take place
2024-09-19 10:55:40 -05:00
Anders Åberg 354079725f
PM-7673: Reduce syncs when signing in with passkeys (#10817)
* Reduce syncs when signing in with passkeys

* PM-7673: Reduce syncs when creating a passkey (#10824)

* Reduce to syncs when creating a passkey

* Mocked rxjs stream
2024-09-19 08:45:45 -04:00
Daniel James Smith 7f9c5cedaf
Delete SendForm storybook stories (#11149)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-09-19 15:34:53 +03:00
Jordan Aasen 00f2317a82
[PM-11903] - add file send component (#11132)
* wip - send file details

* wip - file send

* send file details

* fix click on send list container

* remove popup code

* remove popup code

* finalize send file details

* address PR feedback. add base form to send form

* revert changes to send list items container

* revert changes to send list items container

---------

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2024-09-18 14:36:53 -07:00
Alec Rippberger 6c1d74a4ce
[PM-11395] [Defect] View Login - TOTP premium badge does nothing when clicked (#10857)
* Add MessagingService to LoginCredentialView component.

* Add comments.

* Add WIP PremiumUpgradeService

* Simplify web PremiumUpgradeServices into one service.

* Relocate service files.

* Add browser version of PremiumUpgradePromptService.

* Cleanup debug comments.

* Run prettier.

* rework promptForPremium to take organization id and add test.

* Add test for browser

* Rework imports to fix linter errors.

* Add Shane's reworked WebVaultPremiumUpgradePromptService.
2024-09-18 16:00:54 -05:00
Alec Rippberger 931f86c948
[PM- 9666] Implement edit item view individual vault (#10553)
* Add initial vault cipher form for cipher edit.

* Add ability to add new cipher by type

* Add ability to save and clone cipher,

* Update canEditAllCiphers to take 1 argument.

* Add attachments button to add/edit dialog.

* Add semi-working attachment dialog.

* Add working attachment functionality.

* Remove debugging code.

* Add tests for new attachments dialog component.

* Add AddEditComponentV2 tests.

* Remove AddEditComponentV2 delete functionality.

* Remove unnecessary else statement.

* Launch password generation in new dialog when extension refresh enabled.

* Add tests for PasswordGeneratorComponent.

* Adjust password and attachments dialog sizes.

* run lint:fix

* Remove unnecessary form from button.

* Add missing provider in test.

* Remove password generation events.

* Add WebVaultGeneratorDialogComponent and WebCipherFormGenerationService

* Move and rename CipherFormQueryParams

* Use WebCipherFormGenerationService to launch password / user generation modals.

* Add WebVaultGeneratorDialogComponent tests.

* Remove unnecessary functionality and corresponding tests.

* Fix failing tests.

* Remove unused properties from AddEditComponentV2

* Pass CipherFormConfig to dialog.

* Clean up unused attachment dialog functionality.

* Update AddEdit cancel functionality to prevent navigating user.

* Make attachment dialog open a static method.

* Add addCipherV2 method and clean up tests.

* Remove changes to QueryParams.

* Add tests for WebCipherFormGenerationService

* Remove unused onCipherSaved method.

* Remove cipherSaved event.

* Remove unused password generator component

* Refactor to simplify editCipherId for extensionRefresh flag.

* Add additional comments to AddEditComponentV2.

* Simplify open vault generator dialog comment.

* Remove unused organizationService

* Remove unnecessary typecasting.

* Remove extensionRefreshEnabled and related.

* Remove slideIn animation

* Remove unused AddEditComponentV2 properties.

* Add back generic typing.

* Condesnse properties into single form config.

* Remove onDestroy and related code.

* Run prettier

* fix injection warning

* Handle cipher save.

* Redirect to vault on delete and make actions consistent.

* Update comment.
2024-09-18 12:48:47 -05:00
Jordan Aasen c9bcdd60ac
use tw classes for svg colors in no-credentials.svg (#11129) 2024-09-18 18:50:49 +02:00
Aftab Ali 0f3d8a6f89
[PM-11882] Handled identity item and unsupported items during ProtonPass import. (#10967) 2024-09-18 19:28:47 +03:00
Daniel James Smith be6f257398
Fix click on copy send link and delete send buttons (#11120)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-09-18 09:17:07 -04:00
Victoria League bd4b3933a4
[PM-8582] Improve search performance in Safari (#11088) 2024-09-18 09:13:58 -04:00
Marc Bärtschi 502d8ed729
fix wrong buffer conversion for Uint8Array (#8787)
If the BufferSource is already an Uint8Array which is a view of a subset of the underlying ArrayBuffer then accessing .buffer caused the whole backing buffer to be returned. Fix this by just returning the original Uint8Array as-is.

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2024-09-18 08:11:22 -04:00
Jordan Aasen f8fc6269f2
[PM-11899] - send text details component (#11002)
* Temporary local changes not meant to be merged

* WIP - send text details

* send text details

* remove extraneous code

* create base send details component

* remove file components

* fix send text details form

* remove comments

* fix send text details component

* revert type changes

* send created redirect

* Revert "send created redirect"

This reverts commit 36711d54a3.

* Removed hint under textArea, as per design

* Removed unused message keys

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-09-18 14:04:51 +02:00
Shane Melton 99ba56785d
[PM-11393] Remove the need for TotpCaptureService in Autofill Options View component (#11093) 2024-09-17 13:15:11 -07:00
Jordan Aasen 1a961ee294
fix send list item button hover (#11109) 2024-09-17 21:05:19 +02:00
Nick Krantz d68853a4a2
[PM-11131] Screen Reader Announcements for Copy (#11091)
* add copy specific aria-labels for login ciphers

* add copy specific aria-labels for card ciphers

* add copy translations for identity to web translations
2024-09-17 13:23:15 -05:00
Nick Krantz a42006763d
[PM-9455] FireFox back handling (#10867)
* Refactor `POPUP_VIEW_MEMORY` to use `disk` rather than memory for the browser extension.

- When FireFox opens the popup in an standalone window memory is lost, thus causing the `popup-route-history` to be lost and back navigation ceases to work

* spelling

* revert state definition change

* add `onUpdated` event for firefox

* rework observable handling

* remove unneeded `from`
2024-09-17 08:42:57 -05:00
Rui Tomé c05b6eb116
[PM-11667] Remove all code related to the outdated custom permissions 'Edit/Delete Assigned Collections' (#10904)
* [PM-11667] Remove all code related to the outdated custom permissions 'Edit/Delete Assigned Collections'

* Revert change made to data model in state migration
2024-09-17 14:22:17 +01:00
Alec Rippberger 651f1e586a
PM-11468: Add data-testids for View Item pages (#11043)
* Add data test IDs for identity information.

* Add data test IDs for custom fields.
2024-09-16 17:01:38 -05: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
Victoria League 112bad03b1
[PM-8582] Move Safari browser check to libs/platform (#11007) 2024-09-16 15:36:05 -04:00
Nick Krantz 26f3dcfc66
add back events for browser refresh extension (#11085)
- something went sideways in a merge
2024-09-16 14:02:20 -05: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
Cesar Gonzalez b0e0e71974
[PM-11517] Improve autofill collection of page details performance (#10816)
* Testing out a rework of the performance improvements introduced into extension

* Working through improvements

* Implementing max_depth methodology for the deepQuery approach used when querying elements

* Refactoring implementation

* Refactoring implementation

* Fixing jest tests

* Incorporating documenation within domQueryService

* [PM-11519] `browser` global reference triggering an error when sending an extension message

* [PM-11517] Working through refactoring and jest testing of the domQueryService

* [PM-11517] Working through refactoring and jest testing of the domQueryService

* [PM-11517] Incorporating tests for the debounce util method

* [PM-11517] Incorporating tests for the debounce util method

* [PM-11517] Removing unnecessary property

* [PM-11517] Starting to work through an idea regarding querying without the shadowDom on pages that definitively do not contain a ShadowDOM element

* [PM-11419] Adjusting implementation to ensure we clear any active requests when the passkeys setting is modified

* [PM-11517] Removing unnecessary comments
2024-09-16 08:35:56 -05: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
Bernd Schoolmann 54cc35e29a
[PM-6037] Fix process reload not triggering on inactive account lock/logout (#9805)
* Send loggedOut/locked events on logout/lock event

* Revert "Send loggedOut/locked events on logout/lock event"

This reverts commit 293f2d6131.

* Ensure loggedOut is sent for non-active user logouts too

* Make loggedOut accept userIds

* Add userBeingLoggedOut in desktop app component

* Await updateconnection calls
2024-09-13 18:11:05 +02:00
Andreas Coroiu a1aa9adb48
feat: simplify lazy.ts (#10951) 2024-09-13 09:09:45 +02:00
Jordan Aasen 023912c53d
[PM-11631] - hide free Bitwarden Families button if user is not eligible (#10971)
* hide  Free Bitwarden Families button if user is not eligible

* use organizationService.canManageSponsorships$ for determining if free bitwarden families is available

* update comment
2024-09-13 11:58:18 +10: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
Justin Baur fe96aa85f2
[PM-12007] Fix vault timeout action logout with account switching (#11008)
* Protect Against Toast Error

* Use `concatMap` Instead of `switchMap`
2024-09-12 15:59:33 -04:00
Nick Krantz a31ecb18a1
[PM-11267] Extension Refresh Events (#10832)
* add `Cipher_ClientViewed` event to browser refresh components

* add `Cipher_ClientToggledPasswordVisible` event to browser refresh components

* add `Cipher_ClientToggledHiddenFieldVisible` event to browser refresh components

* add `Cipher_ClientToggledCardCodeVisible` event to browser refresh components

* add `Cipher_ClientToggledCardNumberVisible` event to browser refresh components

* add `Cipher_ClientToggledTOTPSeedVisible` event to browser refresh components

* add `Cipher_ClientCopiedPassword` event to browser refresh components

* add events for copying cipher fields from the vault menu

* add `Cipher_ClientCopiedHiddenField` event to browser refresh components

* add mock for tests

* add missing `Cipher_ClientCopiedCardCode` event

* remove the need for separate fields input

* add organization id to event collection so events are collected

* update test

* add event collection service to cipher form stories
2024-09-12 14:47:23 -05: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
Daniel James Smith f70b3df2d2
[PM-11949] Fix generating and copying export password (#10999)
* Use password field value instead of local variable for copy to clipboard

Use appCopyClick directive instead of manually copying and showing success toast

* Add missing "copySuccessful" message key to desktop and web

* Remove whitespace from web en/messages.json

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-09-12 20:04:39 +02:00
Jake Fink 07d2e36496
[PM-10914] add option to delete all folders if migration fails (#10983)
* add option to delete all folders if migration fails

* update text and flow to reattempt migration

* clear encrypted folders as well on delete all

* Update messaging
2024-09-12 13:47:35 -04:00
Jason Ng 89751f46d6
[PM-254] Set PDF Attachments in Web to download, add success toast (#10757)
* add success toast to pdf attachment download in web

* update desktop attachments for toastService

* removed trailing comma

---------

Co-authored-by: gbubemismith <gsmithwalter@gmail.com>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
2024-09-11 15:27:53 -04:00
Victoria League a0a0a7ae13
[CL-395] Add and use art colors in svgs (#10990) 2024-09-11 14:54:07 -04:00
Shane Melton 8e4dab5eba
[PM-10996] Remove restrict-provider-access feature flag (#10977) 2024-09-11 10:45:23 -07:00
Jared Snider 546115876f
Move extension refresh redirect util function to libs so other clients can use it (#10979) 2024-09-10 17:47:16 -04:00
✨ Audrey ✨ 4128b18b27
[PM-8279] password generation component (#10805) 2024-09-10 12:43:33 -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
Nick Krantz c161873ce5
reset min-width to zero to override flex from setting min-width to auto (#10936) 2024-09-09 09:38:32 -05:00
Jared Snider e954621761
Auth/PM-10684 - Fix CLI asking for MP even if session key provided as command option (#10917)
* PM-10684 - ServiceContainer - Add better docs

* PM-10684 - UserAutoUnlockKeyService - setUserKeyInMemoryIfAutoUserKeySet - refactor method to return a bool instead of nothing so users can know if a user key was retrieved & set without another call.

* PM-10684 - Remove async code ( Program.ts) responsible for setting the auto user key from the session option handler (event emitter which fires when a user passes --session <sessionKey> to a command). Returning this to synchronous execution prevents a race condition between the setting of the user key and the command executing the exitIfLocked logic in the base-program which would check if the user key had been set to determine if the command should be allowed to execute or if the user was locked. When running a loop from a script, the command would often trigger the exitIfLocked before the auto user key could be set in state from the option:session session.

* PM-10684 - Clean up missed item per PR feedback
2024-09-09 10:03:30 -04:00
Conner Turnbull 60e9969017
[AC-2568] Split billing history calls to separately call for invoices and transactions. Added paging buttons (#10697)
* Split billing history calls to separately call for invoices and transactions. Added paging button

* Added missing button types
2024-09-09 09:39:02 -04:00
Jordan Aasen 9e45e32c7d
[PM-8277] - Password generator history component (#10921) 2024-09-09 09:25:41 -04:00
Cesar Gonzalez 2827d338ee
[PM-11419] Fix issues encountered with inline menu passkeys (#10892)
* [PM-11419] Login items do not display after adding passkey

* [PM-11419] Login items do not display after adding passkey

* [PM-11419] Incorporating fixes for deleting a cipher from the inline menu as well as authenticating using passkeys

* [PM-11419] Fixing an issue where master password reprompt is ignored for a set passkey cipher

* [PM-11419] Fixing an issue where saving a passkey does not trigger a clearing of cached cipher values

* [PM-11419] Refactoring implementation

* [PM-11419] Ensuring that passkeys must be enabled in order for ciphers to appear

* [PM-11419] Adding an abort event from the active request manager

* [PM-11419] Adding an abort event from the active request manager

* [PM-11419] Working through jest tests within implementation

* [PM-11419] Fixing jest tests within Fido2ClientService and Fido2AuthenticatorService

* [PM-11419] Adding jest tests for added logic within OverlayBackground

* [PM-11419] Adding jest tests for added logic within OverlayBackground

* [PM-11419] Reworking how we handle assuming user presence when master password reprompt is required

* [PM-11419] Reworking how we handle assuming user presence when master password reprompt is required

* [PM-11419] Reworking how we handle assuming user presence when master password reprompt is required

* [PM-11419] Refactoring implementation

* [PM-11419] Incorporating suggestion for reporting failed passkey authentication from the inline menu

* [PM-11419] Reworking positioning of the abort controller that informs the background script of an error

* [PM-11419] Scoping down the behavior surrounding master password reprompt a bit more tightly

* [PM-11419] Reworking how we handle reacting to active fido2 requests to avoid ambiguity

* [PM-11419] Reworking how we handle reacting to active fido2 requests to avoid ambiguity

* [PM-11419] Adjusting implementation to ensure we clear any active requests when the passkeys setting is modified
2024-09-09 08:44:08 -04:00
Alec Rippberger ee738ac36a
Update "linked" to use "cfTypeLinked" message. (#10841)
Co-authored-by: Shane Melton <smelton@bitwarden.com>
2024-09-07 21:20:39 -05:00
Jonathan Prusik 9881c7842b
[PM-10418] Bugfix - Expiration date on cards does not always autofill the correct format (#10705)
* add branching logic for alternative card expiration autofill strategy

* simplify logic and fix some pattern-matching bugs

* add EnableNewCardCombinedExpiryAutofill feature flag

* update default format for card expiry date and update tests

* review reccs
2024-09-06 11:24:04 -04:00
Alex Morask 2aa4b07d68
Move braintree.service and stripe.service from jslib-services.module into web (#10923) 2024-09-06 09:51:00 -04:00
Nick Krantz fb1a294c97
update aria label of the character count toggle (#10915) 2024-09-06 08:49:46 -05:00
Justin Baur 92e71d9252
[PM-11661]Add New Reseed - Fill Buffer Behind Feature Flag (#10905)
* Add New Reseed - Fill Buffer Behind Feature Flag

* Add Tests

* Lint
2024-09-06 09:48:27 -04:00
Todd Martin 03b3345bf6
[PM-11619] Replace client-side feature flag with server-side flag (#10709) 2024-09-06 09:25:15 -04:00
Todd Martin f0fe397307
Changed temp password reset phrase names to match translations (#10756) 2024-09-06 09:20:41 -04:00
Victoria League 3f25b9bbfc
[CL-357] Remove border radius when displayed in web app (#10884) 2024-09-05 16:38:20 -04:00
Nick Krantz 7dcfaf8271
add title for attachment name (#10908)
- adds the ability for a user to see the attachment name while hovering over it
2024-09-05 14:41:39 -05:00
Justin Baur ef3b3c1cb5
Remove Comments (#10914) 2024-09-05 15:36:43 -04:00
Justin Baur 3bbc2cc691
Change AppIdService to Use Storage Directly (#10835) 2024-09-05 14:44:19 -04:00
Jared Snider 352ab29665
Auth/PM-11635 - Extension Registration Bugfix - Unable to login after account creation issue (#10896)
* PM-11635 - Refactor Base Login Component NgOnInit to properly connect the loading of email settings from state to the processing of query params. If an email is not passed via query params (like registration / normal login), then we will try to load the email from state.

* PM-11635 - Extension login component - call parent ngOnInit as it is responsible for processing / setting email from either query params or state. The addition of the child ngOnInit prevented the parent component ngOnInit from executing.
2024-09-05 13:55:30 -04:00
Daniel James Smith 74d510332d
[PM-9884] Create empty send add/edit page for browser (#10155)
* 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

* Create empty Send add edit page

- Introduces conditional routing based on extension refresh feature flag
- After selecting a Send type via the New button navigate to the new send-add-edit page and build a SendFormConfig

* Fix service injection on DefaultSendFormService

* Rename setHeader into getHeaderText, make it private and add documentation

* Set radix/base to 10 for parseInt

* Add documentation

* Rename local variable

* Removed unneeded loading state

* Remove unused originalSendId

* Run prettier

* Add link to edit an existing send

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-09-05 17:46:03 +02:00
Jordan Aasen 7cfd6577ac
fix typography to match design (#10888) 2024-09-05 13:26:12 +02:00
Jordan Aasen a21e4afba8
[PM-11439] - add padding to import file input (#10870)
* add padding to import file input

* favor padding over margin

* reduce padding on import input button
2024-09-05 13:24:59 +02:00
Alec Rippberger fdd2c774c6
[PM-11339] [Defect] Owner information in Item details section needs spacing and alignment (#10762)
* Add vault files to config.content array.

* Adjust unordered list spacing.
2024-09-04 15:45:23 -07: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
Jonathan Prusik 44f1fc156c
[PM-11458] Bugfix - If two digit year was entered for card, the expired card message shows if card is not expired (#10801)
* normalize card expiry year before determining if it is expired

* add tests
2024-09-04 13:39:48 -04:00
Nick Krantz 72dab94216
remove brand from logic that determines if the card section should show (#10871) 2024-09-04 11:44:52 -05:00
Will Martin fdeac58469
[CL-312] fix dialog scroll blocking + virtual scroll (#9606) 2024-09-04 12:12:47 -04:00
Nick Krantz 3e9fb2009e
[PM-10934] Remove last form-field bottom border (#10751)
* match API of new CL FormField component

* remove readonly border for additional options component

* remove readonly border for last autofill option

* remove readonly border for last custom-field form field

* remove readonly border for when collection,org or folder is available

* add `ReadOnlyCipherCardComponent` to handle readonly border

* remove readonly border for the last identity form field

* remove readonly border for the last card form field

* remove readonly border for the last login form field

* remove unneeded true value
2024-09-04 10:50:34 -05:00
Bernd Schoolmann 192fd885d5
Return null in derivePublicKey if privateKey is null (#10882) 2024-09-04 17:16:57 +02: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
Jonathan Prusik 5f2eecd7be
[PM-11350] Use shared expiration year normalization util function (#10735)
* use shared expiration year normalization util function

* use shared exp year normalization in web and desktop client

* handle cases where input has leading zeroes

* add utils tests

* handle cases where input is all zeroes
2024-09-03 15:12:36 -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
Nick Krantz 1951b70fd1
implement bitLink for password history (#10769) 2024-09-03 10:25:10 -05:00
aj-rosado 76021b4817
Fix mSecure importer and added tests (#10698) 2024-09-02 15:59:28 +02: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
Jason Ng d5cbc19187
PM-11428 Ensure TOTP background color is in sync with other view inputs (#10827) 2024-08-30 15:59:51 -04:00
SmithThe4th 5a73639946
[PM-8125] Move Trash to the Vault settings page (#10736)
* created trash and trash container component

* added trash to vault settings

created observable to get deleted ciphers

* export icon

added locales

* remove edit and delete footver from trash view cipher

* Added helper text when viewing deleted ciphers

* prevent premature access of isDeleted from the cipher object

* simplified the condition to show the edit button

* return cipherView for deletedCiphers$ since that is what is used in the component

* changed section header to h6

* added routing animation

* Added restore to footer
2024-08-30 15:46:26 -04:00
Jason Ng 963e339e4f
PM-11429 Users with Except PW permissions will not get Copy Password Option Vault V2 (#10831) 2024-08-30 15:38:37 -04:00
Jordan Aasen 2882fa3077
[AC-2268] - migrate toast to CL service for admin-console (#10663)
* migrate toast to CL service for admin-console

* fix spec

* add missing dep for toastService

* fix toastService args

* fix toastService args

* fix toastService args
2024-08-30 11:16:06 -07:00
Jason Ng d9ff8b0944
PM-11427 Copy Totp Code without space (#10800) 2024-08-30 12:27:56 -04:00
Rui Tomé 4453a5c114
[PM-11333] Rename deleteOrganizationUser to removeOrganizationUser in BaseMembersComponent, OrganizationUserService and related files 2024-08-30 15:01:29 +01:00
Victoria League f44b7b361d
[CL-442] Fix toggle group display in extension and add fullWidth input to main (#10803) 2024-08-30 09:25:16 -04:00
Jason Ng c1870a37c7
PM-10374 remove margin from collection in item details if no folder (#10777) 2024-08-29 17:45:17 -04:00
Jason Ng 2d753f2778
PM-11130 add aria labels to pw count and website launch in view v2 (#10776) 2024-08-29 17:44:53 -04: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
Andreas Coroiu 9f7350d085
[PM-6727] Implement new `setUserKeys` function in `CryptoService` (#10655)
* feat: implement new `setUserKeys` function

* feat: add explicit error for failed decryption
2024-08-29 15:42:42 +02:00
✨ Audrey ✨ 7e1706a0ec
[PM-5607] password generator component & configuration (#10767) 2024-08-29 09:27:10 -04:00
rr-bw 33f66263fa
remove unnecessary width class (#10781) 2024-08-28 16:14:05 -07:00
Alex Morask a58642e370
[AC-2959] ACH Direct Debit POC (#10746)
* (No Logic) Fix typo in billing-api-service.abstraction file name

* (Cleanup) Remove payment method components and API methods from provider portal

Product team decided not to have a payment method page in the provider portal for consolidated billing. This just removes all the unused components and API methods.

* Add organization endpoints to support new payment method behavior

* Add payment-v2.component

This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.

* (No Logic) Move existing payment.component into new payment component folder

* Add verify-bank-account.component

This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.

* Add adjust-payment-dialog-v2.component

* (No Logic) Move existing adjust-payment-dialog.component into new adjust-payment-dialog component folder

* Add organization-payment-method.component

* Add feature flag: AC-2476-deprecate-stripe-sources-api

* Pivot organization payment method route on new feature flag

* Fix broken test
2024-08-28 10:48:22 -04:00