1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-25 12:15:18 +01:00
Commit Graph

1049 Commits

Author SHA1 Message Date
Shane Melton
a0fe4f4ca6
[PM-13892] Browser Refresh - Organization item clone permission fix (#11660)
* [PM-13892] Introduce canClone$ method on CipherAuthorizationService

* [PM-13892] Use new canClone$ method for the 3dot menu in browser extension

* [PM-13892] Add todo for vault-items.component.ts
2024-10-24 14:12:04 -07:00
Cesar Gonzalez
da1e508c25
[PM-8833] Implement on page autofill menu for password generation (#11114) 2024-10-24 13:20:00 -05:00
Bernd Schoolmann
9264e6775c
Add logging for userkey / device trust rotation (#11682)
* Add logging for userkey rotation

* Fix tests
2024-10-24 19:54:39 +02:00
Shane Melton
a9d9130f01
[PM-13907] [PM-13849] Browser Refresh - Improve launch login UX (#11680)
* [PM-13907] Move canLaunch logic to CipherView

* [PM-13907] Add external link icon to vault list items

* [PM-13907] Remove launch option from more options dropdown

* [PM-13849] Add double click to launch support
2024-10-24 10:51:38 -07:00
Bernd Schoolmann
b486fcc689
[Pm-13097] Rename cryptoservice to keyservice and move it to km ownership (#11358)
* Rename cryptoservice to keyservice

* Rename cryptoservice to keyservice

* Move key service to key management ownership

* Remove accidentally added file

* Fix cli build

* Fix browser build

* Run prettier

* Fix builds

* Fix cli build

* Fix tests

* Fix incorrect renames

* Rename webauthn-login-crypto-service

* Fix build errors due to merge conflicts

* Fix linting
2024-10-24 19:41:30 +02:00
Bernd Schoolmann
b3b311e164
Add logging for decryption failures (#11683)
* Add logging to decryption routines

* Fix case of uknown encryption type

* Remove enum to string mapping
2024-10-24 15:43:49 +02:00
Cesar Gonzalez
9b471e6633
[PM-13715] Launching a website from the extension does not trigger an update to reference the correct autofill value (#11587)
* [PM-13715] Launching page from cipher does not set correct autofill action

* [PM-13715] Fix autofill not triggering for correct cipher after page has been launched from browser extension
2024-10-24 08:22:43 -05:00
Bernd Schoolmann
74dabb97bf
Move process reload ownership to key-management (#10853) 2024-10-23 19:05:24 +02:00
✨ Audrey ✨
eff9a423da
[PM-8280] email forwarders (#11563)
* forwarder lookup and generation support
* localize algorithm names and descriptions in the credential generator service
* add encryption support to UserStateSubject
* move generic rx utilities to common
* move icon button labels to generator configurations
2024-10-23 18:11:42 +02:00
SmithThe4th
4a30782939
[PM-12281] [PM-12301] [PM-12306] [PM-12334] Move delete item permission to Can Manage (#11289)
* Added inputs to the view and edit component to disable or remove the delete button when a user does not have manage rights

* Refactored editByCipherId to receive cipherview object

* Fixed issue where adding an item on the individual vault throws a null reference

* Fixed issue where adding an item on the AC vault throws a null reference

* Allow delete in unassigned collection

* created reusable service to check if a user has delete permission on an item

* Registered service

* Used authorizationservice on the browser and desktop

Only display the delete button when a user has delete permission

* Added comments to the service

* Passed active collectionId to add edit component

renamed constructor parameter

* restored input property used by the web

* Fixed dependency issue

* Fixed dependency issue

* Fixed dependency issue

* Modified service to cater for org vault

* Updated to include new dependency

* Updated components to use the observable

* Added check on the cli to know if user has rights to delete an item

* Renamed abstraction and renamed implementation to include Default

Fixed permission issues

* Fixed test to reflect changes in implementation

* Modified base classes to use new naming

Passed new parameters for the canDeleteCipher

* Modified base classes to use new naming

Made changes from base class

* Desktop changes

Updated reference naming

* cli changes

Updated reference naming

Passed new parameters for the canDeleteCipher$

* Updated references

* browser changes

Updated reference naming

Passed new parameters for the canDeleteCipher$

* Modified cipher form dialog to take in active collection id

used canDeleteCipher$ on the vault item dialog to disable the delete button when user does not have the required permissions

* Fix number of arguments issue

* Added active collection id

* Updated canDeleteCipher$ arguments

* Updated to pass the cipher object

* Fixed up refrences and comments

* Updated dependency

* updated check to canEditUnassignedCiphers

* Fixed unit tests

* Removed activeCollectionId from cipher form

* Fixed issue where bulk delete option shows for can edit users

* Fix null reference when checking if a cipher belongs to the unassigned collection

* Fixed bug where allowedCollection passed is undefined

* Modified cipher by adding a isAdminConsoleAction argument to tell when a reuqest comes from the admin console

* Passed isAdminConsoleAction as true when request is from the admin console
2024-10-22 09:15:15 -04:00
Alex Morask
470ddf79ab
[PM-12425] Remove FF: AC-2828_provider-portal-members-page (#11241)
* Remove FF: AC-2828_provider-portal-members-page

* Thomas' feedback: Fix provider layout
2024-10-22 08:46:45 -04:00
Alex Morask
77c50860a9
[PM-12290] Show self-host options for CB MSP managed orgs (#11465)
* (No Logic) organization-subscription-cloud.component.ts cleanup

* Show only selfhost options for org owners and provider admins for managed orgs

* Fix messages.json issue
2024-10-21 13:30:25 -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
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
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
Brandon Treston
1f330b078d
Remove platformUtilService.showToast call (#11410) 2024-10-16 09:52:45 -04:00
Thomas Rittson
178a418850
Conditionally disable client-side policy validation (#11550) 2024-10-16 08:46:03 +10: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
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
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
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
Conner Turnbull
49b26db27e
Split invoice history table into two tables for paid and open (#11459) 2024-10-08 14:55:59 -04:00
Tom
cfbe180352
Adding client side access intelligence feature flag (#11463) 2024-10-08 19:36:13 +02:00
Thomas Rittson
7c72795d1c
[PM-12747] Move CollectionService and models to AC Team (#11278) 2024-10-08 10:14:39 -04:00
Jason Ng
7098a243ca
[PM-10378] Unassigned Items Readonly After Edit Bug Fix (#11340) 2024-10-07 11:15:00 -04: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
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
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
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
cyprain-okeke
8b034cda7d
Remove the delete provider flag (#11336) 2024-10-01 22:01:01 +01: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
Bernd Schoolmann
dafe795854
Move asymmetric crypto functions out of crypto service (#10903) 2024-10-01 17:47:41 +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
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
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
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
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
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
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
✨ 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
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
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
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
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
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
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
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
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
Shane Melton
8e4dab5eba
[PM-10996] Remove restrict-provider-access feature flag (#10977) 2024-09-11 10:45:23 -07:00
✨ Audrey ✨
4128b18b27
[PM-8279] password generation component (#10805) 2024-09-10 12:43:33 -04: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
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
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
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
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
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
Bernd Schoolmann
192fd885d5
Return null in derivePublicKey if privateKey is null (#10882) 2024-09-04 17:16:57 +02: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
Rui Tomé
4453a5c114
[PM-11333] Rename deleteOrganizationUser to removeOrganizationUser in BaseMembersComponent, OrganizationUserService and related files 2024-08-30 15:01:29 +01: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
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
✨ Audrey ✨
8c4b8d71ea
[PM-5609] passphrase settings component & services (#10535) 2024-08-28 09:26:17 -04:00
Addison Beck
76b9adf50b
Enable event logs to show events logged by the Public API (#10660)
* Add PublicApi to event system users

* Remove `import` api service method
2024-08-27 18:21:33 -04:00
Cesar Gonzalez
5b4e4d8f1a
[PM-10669] Fix inconsistencies with notification bar when saving or updating login credentials (#10617)
* [PM-10669] Notification bar appears inconsistently after login

* [PM-10669] Notification bar appears inconsistently after login

* [PM-10669] Migrating work from POC branch into feature branch

* [PM-10669] Incorporating styles for select element

* [PM-10669] Incorporating styles for select element

* [PM-10669] Fixing notification bar lifespan const

* [PM-10669] Incorporating logic that conditionally loads specific bootstrap autofill feature files

* [PM-10669] Incorporating logic to more smoothly handle transitioning between pages within the notification bar0

* [PM-10669] Incorporating logic to more smoothly handle transitioning between pages within the notification bar0

* [PM-10669] Incorporating logic to more smoothly handle transitioning between pages within the notification bar0

* [PM-10669] Incorporating a circle checkmark icon within the success message of the notification bar

* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab

* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab

* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab

* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab

* [PM-10669] Fixing how we handle keyup events on the submit button

* [PM-10669] Fixing how we handle keyup events on the submit button

* [PM-10669] Fixing jest tests within notification bar

* [PM-10669] Adding a jest tests to validate behavior within AutofillInit

* [PM-10669] Adding a jest tests to validate behavior within AutofillInit

* [PM-11170] Addressing test coverage within CollectAutofillContentService

* [PM-11170] Addressing test coverage within CollectAutofillContentService

* [PM-10669] Refactoring implementation

* [PM-10669] Adding documentation to the methods incorporated within the AutofillOverlayContentService

* [PM-10669] Incorporating jest tests for the AutofillOverlayContentService

* [PM-10669] Migrating logic associated with the DomQuerySevice away from the CollectAutofillContentService

* [PM-10669] Fixing required references to DomQueryService within the implementation

* [PM-10669] Holding off on re-incorporating the userTreeWalkerStrategyFlag

* [PM-10669] Incorporating jest tests for DomQueryService

* [PM-10669] Adding jest test to validate changes within AutofillService

* [PM-10669] Adding jest tests to validate changes within AutofillOverlayContentService

* [PM-10669] Adding documentation to the OverlayNotificationsBackground class

* [PM-10669] Adding documentation to the OverlayNotificationsBackground class

* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class

* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class

* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class

* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class

* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class

* [PM-10669] Refactoring OverlayNotificationsContentService and incorporating logic that triggers a fade out of the notification bar on success of a saved password

* [PM-10669] Refactoring OverlayNotificationsContentService and incorporating logic that triggers a fade out of the notification bar on success of a saved password

* [PM-10669] Refactoring OverlayNotificationsContentService and incorporating logic that triggers a fade out of the notification bar on success of a saved password

* [PM-10669] Finalizing jest tests for OverlayNotificationsContentService

* [PM-10669] Finalizing jest tests for OverlayNotificationsContentService

* [PM-10669] Adding new copy for the password saved/updated event in the notification bar

* [PM-10669] Fixing visual presentation of sucesss message

* [PM-10669] Fixing visual presentation of sucesss message

* [PM-10418] Incorporating fallback for when we cannot capture the form button effectively

* [PM-10669] Incorporating fixes for form submission button not being captured

* [PM-10669] Incorporating a guard to ensure that an AJAX submission captures form data after the user has entered their credentials

* [PM-10669] Incorporating a field qualification rule to ensure that we capture forms that are non-viewable on load

* [PM-10669] Incorporating a document readyState listener to ensure that we populate the notification bar once the document body is loaded

* [PM-10669] Incorporating a match pattern for subdomains of a main domain when filtering out web requests

* [PM-10669] Incorporating a match pattern for subdomains of a main domain when filtering out web requests

* [PM-10669] Incorporating a redundant methodology to capture `GET` requests that trigger after a form submisson

* [PM-10669] Incorporating a redundant methodology to capture `GET` requests that trigger after a form submisson

* [PM-10669] Adding jest tests to validate changes within OverlayNotificationsBackground

* [PM-10669] Adjusting timeout for modified login credentials to ensure user can enter data on form

* [PM-10669] Refining how we handle re-capturing user credentails on before request to better handle multi-part forms

* [PM-10669] Refining how we handle re-capturing user credentails on before request to better handle multi-part forms

* [PM-10669] Adjusting jest tests to ensure code coverage

* [PM-10669] Fixing issues with Safari

* [PM-10669] Fixing an invalid qualification rule

* [PM-10669] Ensuring that we capture input changes correctly when a field is going from a hidden to non-hidden state

* [PM-10669] Fixing jest tests within overlay content service

* [PM-10669] Fixing jest tests within overlay content service

* [PM-10669] Adding a jest test to validate changes to overlay content service
2024-08-27 13:31:44 -05:00
Justin Baur
11eba8d779
Add Null Check On diskAccount (#10550) 2024-08-27 13:11:42 -04:00
SmithThe4th
e926aa4bc9
fixed user state type (#10744) 2024-08-27 10:01:04 -04:00
Bernd Schoolmann
3c9b3ea2cc
[PM-6296] Fix biometrics error prompt when biometrics are temporarily unavailable in browser extension (v2) (#10374)
* Create unavailable message for biometrics when in clamshell mode

* Move browser biometrics

* Inject nativemessagingbackground instead of using constructor

* Fix linting

* Fix build on browser
2024-08-27 06:25:20 +00: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
Justin Baur
c18a7cb3e8
[PM-8748] Ensure Reasonable ConfigService Emission (#10452)
* Add Slow Emission Guard

* Remove Jest Timer Call

* Do Slow Emission Guard For All Environments

* Update Comment
2024-08-26 14:23:33 -04:00
slonkazoid
f2be150b70
[PM-9552] add a toggle for the routing animation (#10005)
* add a toggle for the routing animation

* add missing period (thanks mat)

* rename routingAnimation to enableRoutingAnimation for consistency

* move animation-control.service.ts into abstractions

* simplify config option

* fixup! simplify config option

remove dead aria reference

---------

Co-authored-by: Shane Melton <smelton@bitwarden.com>
2024-08-23 14:13:43 -07:00
Matt Gibson
c2829cd71b
Remove password hint responses from API (#10523)
* Log reloading behavior

* Remove hints from responses.

changing password implies updating the hint, but no longer displays the old one. This is a security risk for shoulder surfing and breaks the escrow model we have where it is only shared via email when requested.

* Update change password hint label
2024-08-23 13:51:42 -04:00
Cesar Gonzalez
c782c92f6c
[PM-11170] Inline menu should not show incomplete login item along passkey (#10635)
* [PM-11170] Inline menu should not show incomplete login items along with passkeys

* [PM-11170] Inline menu should not show incomplete login items along with passkeys

* [PM-11170] Incorporating a fix for ciphers not being updated within the inline menu on user actions

* [PM-11170] Ensuring that conditional mediated auth does not trigger the authenticator

* [PM-11170] Adding a jest test to verify conditional mediated UI calls do not trigger the authenticator

* [PM-11170] Adding a jest test to verify conditional mediated UI calls do not trigger the authenticator

* [PM-11170] Reworking implementation to have the BrowserFido2UserInterfaceService trigger the expected behavior for the conditional mediated auth

* [PM-11170] Reworking implementation to have the BrowserFido2UserInterfaceService trigger the expected behavior for the conditional mediated auth

* [PM-11170] Following up on feedback provided during code review, reworking inline menu bypass of the fido2 authenticator to function based on assumeUserPresence param when triggering from the inline menu

* [PM-11170] Following up on feedback provided during code review, reworking inline menu bypass of the fido2 authenticator to function based on assumeUserPresence param when triggering from the inline menu

* [PM-11170] Following up on feedback provided during code review, reworking inline menu bypass of the fido2 authenticator to function based on assumeUserPresence param when triggering from the inline menu
2024-08-22 13:32:31 -04:00
Shane Melton
a8edce2cc1
[PM-10381] Fix waiting for last sync - Browser Refresh (#10438)
* [PM-10381] Add activeUserLastSync$ to SyncService

* [PM-10381] Introduce waitUtil operator

* [PM-10381] Use new activeUserLastSync$ observable to wait until a sync completes before attempting to get decrypted ciphers

* [PM-10381] Fix failing test

---------

Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
2024-08-21 14:54:09 -07:00
Alex Morask
b030c6e27b
[AC-2858] Remove code supporting payment method warning banners (#10615)
* Remove errant payment method warning banner implementation

* Removing unused endpoint
2024-08-21 10:17:42 -04:00
SmithThe4th
dedd7f1b5c
[PM-10607] Require userId for getKeyForCipherKeyDecryption (#10509)
* updated cipher service to stop using the deprecated getUserKeyWithLegacySupport and use the version that requires a user id

* Added account service mock

* fixed cipher test

* Fixed test

* removed async from encryptCipher

* updated encryptSharedCipher to pass userId to the encrypt function

* Pass userId to getUserKeyWithLegacySupport on encryptSharedCipher

* pass in userid when setting masterKeyEncryptedUserKey

* Added activer usedId to new web refresh function
2024-08-20 11:00:48 -05:00
Addison Beck
1ccc4508fb
Add AccountDeprovisioning feature flag (#10531) 2024-08-16 10:05:40 +01:00