1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-12-03 13:33:32 +01:00
Commit Graph

619 Commits

Author SHA1 Message Date
Jacob Fink
7b7fa276be
add better tests to crypto service 2023-06-28 16:39:18 -04:00
Jacob Fink
b41248cece
fix tests 2023-06-28 11:27:52 -04:00
Andreas Coroiu
657373dbdc
Merge branch 'master' into feature/PM-1049-TDE-flow-3-login-decryption-options 2023-06-28 16:29:52 +02:00
Jacob Fink
97a2d5b962
revert sharing disk cache between contexts 2023-06-28 10:21:31 -04:00
Andreas Coroiu
a73525a80c
[PM-2135] [BEEEP] Refactor and refresh web user verification components (#5377)
* [PM-2135] feat: create new user-verification module

* [PM-2136] feat: add ability to remove form field bottom margin

(cherry picked from commit 05925ff77ed47f3865c2aecade8271390d9e2fa6)

* [PM-2135] feat: refactor user-verification component

* [PM-2135] feat: refactor user-verification-prompt

* [PM-2135] feat: use form validation in prompt

* [PM-2135] feat: change autofocus target

* [PM-2135] chore: clean up old code

* [PM-2135] feat: allow user verification to show invalid password error

* [PM-2135] feat: hack mark as touched to get error to display

* [PM-2135] chore: move to auth

* [PM-2135] fix: hardcoded dialog buttons

* [PM-2135] feat: add onDestroy handler

* [PM-2135] fix: remove unecessary directive input

* [PM-2135] feat: add password toggle

* [PM-2135] chore: add hack comment

* [PM-2135] chore: move services to auth folder and rename

* [PM-2135] fix: show correct error messages

* [PM-2135] fix: re-add non-existant files to whitelist

I honestly don't know why the linter is complaining about this

* Fix capital letters whitelist

* [PM-2135] chore: remove rows that were mistakenly added during merge from master

* [PM-2135] chore: remove rows that were mistakenly added during merge from master

* [PM-2135] feat: disable built-in browser validations

* Revert "[PM-2135] feat: disable built-in browser validations"

This reverts commit 969f75822a.

---------

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
2023-06-28 09:02:22 -04:00
Jared Snider
fa11b60c5b
Feature/PM-1049 - TDEFflow 3 login decryption options - PR feedback changes (#5642)
* PM-1049 - PR Feedback change - Browser - replace incorrect use of routerlink with manual attribute styling to keep anchor styling + tab focus while not having a router action race condition for the log out action to complete.

* PM-1049 - PR Feedback - State Service changes - rename get/setAcctDecryptionOptions to  get/setAccountDecryptionOptions

* PM-1049 - PR Feedback changes - LoginDecryptionOptionsComp - Remove unncessary appA11yTitle directives as title / aria text would be identical to the displayed inner button text.

* DeviceType - Create sets of device types which other components can reference to avoid having to manually define groups of device types.

* PM-1049 - PR Feedback Changes - Update base-login-decryption-options component to leverage async piped observables per best practices. Updated all client templates to leverage new data streams.

* PM-1049 - BaseLoginDecryptionOptionsComp - Add validation service for generic error handling

* PM-1049 - DeviceResponse mistakenly had name as a number instead of a string

* PM-1049 - First draft of creating observable based data store service for Devices so that the base login comp can leverage it instead of calling the devices API service directly (as it will be moved into the SDK in the future).

* PM-1049 - Register new DevicesService on jslib-services module for use in components.

* PM-1049 - Add new hasDevicesOfTypes call to devices data store svc + devices API service.

* PM-1049 - BaseLoginDecryptionOptionsComp - wire up call to devicesService.hasDevicesOfTypes to replace getDevices() to avoid bringing down all trusted device information unnecessarily.

* PM-1049 - LoginDecryptionOptionsComp - Web HTML - clean up loading state so it displays spinner centered properly.

* PM-1049 - LoginDecryptionOptionsComp - Desktop HTML - Don't show login initiated title while page is loading to match other clients behavior.

* PM-1049 - Devices Services - Update naming of hasDevicesOfTypes to match new name on back end + route change to getDevicesExistenseByTypes

* PM-1049 - Device Response & View models - remove keys which are going to be deprecated on the base model

* PM-1049 - DevicesService - devicesBSubject --> devicesSubject rename per PR feedback

* PM-1049 - Devices Services - correct spelling of existence (*facepalm*)

* PM-1049 - Update comment for clarity per PR feedback

* PM-1049 - DevicesSvc - UserSymKey --> UserKey rename

* PM-1049 - BaseLoginDecryptionOptions - replace user email source - get from stateService vs tokenService.

* PM-1049 - BaseLoginDecryptionOptions - Remove uncessary check for userEmail as we will always have it here otherwise everything in the app is broken.

* PM-1049 - BaseLoginDecryptionOptions - Finish cleaning up removal of user email from showReqAdminApprovalBtn$ stream

* PM-1049 - LoginDecryptionOptionsComp - HTML revisions in web & browser to better space out buttons using tailwind or top margin to avoid need for multiple async pipes and shareReplay.

* PM-1049 - DevicesService - of course all observables should have $ suffix. Facepalm.

* PM-1049 - BaseLoginDecryptionOptionsComp - Update verbiage and style of destroy observable used for hooking into ngOnDestroy lifecycle to clean up all observables

* PM-1049 - BaseLoginDecryptionOptions - PR feedback changes - refactor user email to have an underlying bSubject stream to ensure subscription/promise execution separately from the template async pipe subscribing to the stream.

* PM-1049 - DevicesApiService - getDevicesExistenceByTypes - PR feedback - explicitly convert result to boolean instead of casting.

* PM-1049 - BaseLoginDecryptionOptionsComp - Add ShareReplay for getAccountDecryptionOptions + context per PR feedback

* PM-1049 - LoginDecryptionOptionsComp - Completely back away from template async pipe reactive approach as it caused massively increased complexity for little gain. Instead, just focus on reactively pulling asynchronously retrieved data and setting page loading state simply. This just works and is so much less overhead. + Add comments re flows of the component to be done later

* PM-1049- Revert DevicesService implementation from smart data store cache service giant mess into simple, clean data passthrough service to avoid complexity and keep moving forward. YAGNI

Co-authored-by: Andreas Coroiu <andreas@andreascoroiu.com>

* PM-1049 -  DeviceCryptoService - Add decryptUserKey method (WIP)

* PM-1049 - AccountDecryptionOptions - add get helpers for checking for trusted device / key connector decryption option existence.

* PM-1049 - SSO Login Strategy - added comments in setUserKey method for where we will probably be consuming device keys and determining if the device is trusted or not (i.e., if we can get a decrypted user sym key in memory)

* PM-1049 - DeviceCryptoSvc.decryptUserKey - Update method to properly use state service device key retrieval + add TODO to figure out what to do if user has previously had a device key and has cleared their local cache (which will result in the device being untrusted now)

* PM-1049 - SSO Login Strategy - add comment re future passkey login strategy support

* PM-2759 - SSO & 2FA components updated with v0 of navigation logic to send users to LoginDecryptionOptions

* PM-1049 - Account > AccountDecryptionOptions - can't create getter helper methods for determining if user has decryption options b/c of issues w/ account deserialization. Moving past b/c I can just easily check if the given options are not undefined.

* PM-2759 - Add TODOs for deprecation of id token response resetMasterPassword logic and replacement with use of accountDecryptionOptions

---------

Co-authored-by: Andreas Coroiu <andreas@andreascoroiu.com>
2023-06-27 19:58:59 -04:00
Jared Snider
9ff4bbbbe0
Merge branch 'master' into feature/PM-1049-TDE-flow-3-login-decryption-options 2023-06-27 19:11:06 -04:00
Jacob Fink
0debdc5514
more crypto service refactors
- check for auto key when getting user key
- consolidate getUserKeyFromMemory and FromStorage methods
- move bio key references out of base crypto service
- update either pin key when setting user key instead of lock component
- group deprecated methods
- rename key legacy method
2023-06-27 18:53:40 -04:00
Danielle Flinn
6ef6140b29
Storybook docs (#5552)
* updated sort order

* Update preview.tsx

* Create avatar.mdx

Added avatar documentation based on Figma docs

* Added badge docs

* fixed typos

* added breadcrumb docs

* Added callout docs

* added color password docs

* Added dialog docs

* fixed typo

* Updated Dialogs docs

Added a dialogs.mdx page for general docs that apply to both main Dialogs and Simple Dialogs.

Updated the sub-docs pages

* Update simple-dialog.mdx

* Added documentation from Figma to Forms docs

* Create icon-button.mdx

* added link docs

* Added menu docs

* Added progress indicator docs

* Updated table docs

* Added tab docs

* Added toggle group docs

* Revert "Update preview.tsx"

This reverts commit 4671d9726a.

* added docs for appA11yTitle

* Fixed typos

* Update libs/components/src/link/link.mdx

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Update libs/components/src/menu/menu.mdx

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Addressed feedback

* Addressed feedback on callout, menu, and progress

* moved stories mdx files to proper location

* Addressed feedback on dialogs.mdx

* Update libs/components/src/tabs/tabs.mdx

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Addressed feedback on Tabs

* ran prettier

* Fixed title formatting

* ran prettier

* Update libs/components/src/dialog/dialogs.mdx

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* ran prettier

---------

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2023-06-27 12:46:44 -07:00
Jacob Fink
2efec1d880
options is nullable while setting user key 2023-06-27 11:58:05 -04:00
Jacob Fink
230532875b
fix cipher service test 2023-06-27 10:42:42 -04:00
Jacob Fink
156c58fd94
clear deprecated keys when setting new user key 2023-06-27 09:52:06 -04:00
Jacob Fink
0bbba9c6f7
rename retrieveUserKeyFromStorage 2023-06-27 09:16:16 -04:00
Jacob Fink
1e8dde81b7
refactor makeShareKey to be more clear its for orgs 2023-06-27 09:05:57 -04:00
Jacob Fink
f1761c6afc
use org key or user key for encrypting attachments 2023-06-26 23:08:25 -04:00
Jacob Fink
57d270b08b
pass key to encrypt service 2023-06-26 16:45:14 -04:00
Jacob Fink
3e11a9b092
migrate master key if found 2023-06-26 16:42:34 -04:00
Jacob Fink
3f496f8fb0
move biometric check to electron crypto service 2023-06-26 15:27:44 -04:00
Jacob Fink
71ebb17a56
change isPinLockSet to union type 2023-06-26 13:41:37 -04:00
Jacob Fink
817b491fb6
require key in validateUserKey 2023-06-26 10:08:38 -04:00
Jacob Fink
d14240fb92
use encrypt service in crypto service 2023-06-26 09:38:35 -04:00
Jacob Fink
64ca08ef8a
use encrypt service in crypto service 2023-06-26 09:35:32 -04:00
Jacob Fink
3adfffeabd
jsdoc deprecate account properties 2023-06-23 16:22:33 -04:00
Jacob Fink
c942bc08ca
Merge branch 'tde-key-model-migration' into feature/PM-1049-TDE-flow-3-login-decryption-options 2023-06-23 13:54:15 -04:00
Jacob Fink
a4b329b413
Merge branch 'master' into tde-key-model-migration 2023-06-23 13:05:13 -04:00
André Bispo
c31504cab4
[PM-1593] send password as null if it is not in state (#5634) 2023-06-23 17:21:48 +01:00
Jacob Fink
6349410ec2
rename 'user symmetric key' with 'user key' 2023-06-23 10:59:54 -04:00
Jacob Fink
e4bfa62e70
add tests to crypto service 2023-06-23 09:55:19 -04:00
Jacob Fink
91f6943709
use user sym key for account changing unlock verification 2023-06-22 11:29:28 -04:00
Andreas Coroiu
44bfca0da1
Merge branch 'master' into feature/PM-1049-TDE-flow-3-login-decryption-options 2023-06-22 08:24:35 +02:00
Jacob Fink
a1e61feec3
Revert "share disk cache between contexts on browser"
This reverts commit 56a590c491.
2023-06-21 10:39:26 -04:00
Jacob Fink
56a590c491
share disk cache between contexts on browser 2023-06-21 09:31:04 -04:00
André Bispo
4124f7bdc8
[PM-2676] Fix web set environment urls after state init (#5632)
* [PM-2676] Fix web set env urls after state init.

* [PM-2676] Add note to remove workaround
2023-06-20 20:44:46 +01:00
Jared Snider
d7e29a0d22
Merge remote-tracking branch 'origin/master' into feature/PM-1049-TDE-flow-3-login-decryption-options 2023-06-20 15:25:44 -04:00
Jacob Fink
d16f76524c
fix cli crypto service calls 2023-06-20 11:49:54 -04:00
Jacob Fink
690e9ffc4a
cleanup old TODOs, add missing crypto service parameters 2023-06-20 11:22:32 -04:00
Jacob Fink
8f225bf541
use master key for device approvals still 2023-06-20 11:18:12 -04:00
Jacob Fink
a8f1e7858d
fix tests imports 2023-06-20 10:06:02 -04:00
Jacob Fink
ef8db575a9
remove cryptoMasterKeyB64 from account 2023-06-20 10:01:30 -04:00
Jacob Fink
87bf80a461
add new types to tests 2023-06-20 09:15:15 -04:00
Jacob Fink
a24c49adae
fix linter 2023-06-19 16:34:25 -04:00
Jacob Fink
abd2adb0b6
remove state no longer needed and add JSDOC 2023-06-19 14:36:25 -04:00
Jacob Fink
3e5e45f147
check for ephemeral pin before process reload 2023-06-19 09:49:26 -04:00
Jacob Fink
7f0749ca5c
share disk cache to fix syncing issues between contexts 2023-06-19 09:49:26 -04:00
Jacob Fink
c5384cd5f2
clear bio key when pin is migrated as bio is refreshed 2023-06-19 09:49:25 -04:00
Jacob Fink
b9de7535ca
improve error strings in crypto service 2023-06-19 09:49:25 -04:00
Jacob Fink
61ba9692bc
migrate native messaging for biometrics to use new key model
- support backwards compatibility
- update safari web extension to send user key
- add error handling
2023-06-19 09:49:24 -04:00
Jacob Fink
9c6739f40a
update account model with new keys serialization 2023-06-19 09:49:24 -04:00
Jacob Fink
7110e3cda6
fix EncString serialization issues & various fixes
Co-authored-by: Matt Gibson <MGibson1@users.noreply.github.com>
2023-06-19 09:49:24 -04:00
Jacob Fink
8353d67e1f
add org key type and new method to build a data enc key for orgs 2023-06-19 09:49:23 -04:00
Jacob Fink
2789fdc393
move crypto service jsdoc to abstraction 2023-06-19 09:49:22 -04:00
Jacob Fink
92d714ae29
remove clearEncKey from crypto service 2023-06-19 09:46:43 -04:00
Jacob Fink
42db4eb0ac
remove old EncKey methods from crypto service 2023-06-19 09:46:43 -04:00
Jacob Fink
d79f2e24be
update device-crypto service with new crypto service 2023-06-19 09:46:42 -04:00
Jacob Fink
7583c959eb
update assortment of leftover old crypto service calls 2023-06-19 09:46:42 -04:00
Jacob Fink
3b7f57fd20
update change password components with new crypto service 2023-06-19 09:46:42 -04:00
Jacob Fink
2aa303d17e
fix crypto calls for key connector and vault timeout settings 2023-06-19 09:46:41 -04:00
Jacob Fink
9a12cb099a
migrate biometrics key
- migrate only on retrieval
2023-06-19 09:46:41 -04:00
Jacob Fink
56c750d375
finish migrate auto key if needed
- migrate whenever retrieved from storage
- add back the user symmetric key toggle
2023-06-19 09:46:41 -04:00
Jacob Fink
7963d3c996
clean up the old pin keys in more flows
- in the case that the app is updated while logged in and the user changes their pin, this will clear the old pin keys
2023-06-19 09:46:40 -04:00
Jacob Fink
62c43794e9
remove additional keys in state service clean 2023-06-19 09:46:40 -04:00
Jacob Fink
c2893bd0a8
migrate auto key
- add helper to internal crypto service method to migrate
2023-06-19 09:46:40 -04:00
Jacob Fink
9ce3b4976b
set user symmetric key on lock component
- add missed key suffix types to crypto service methods
2023-06-19 09:46:39 -04:00
Jacob Fink
6fc7c406a4
update pin key when the user symmetric key is set
- always set the protected pin so we can recreate pin key from user symmetric key
- stop using EncryptionPair in account
- use EncString for both pin key storage
- update migration from old strategy on lock component
2023-06-19 09:46:39 -04:00
Jacob Fink
7837202180
migrate pin to use user's symmetric key instead of master key
- set up new state
- migrate on lock component
- use new crypto service methods
2023-06-19 09:46:39 -04:00
Jacob Fink
91ac281da0
migrate login strategies to new key model
- decrypt and set user symmetric key if Master Key is available
- rename keys where applicable
- update unit tests
2023-06-19 09:46:06 -04:00
Jacob Fink
82bc7662a1
update collection service to use new crypto service 2023-06-19 09:42:54 -04:00
Jacob Fink
46abba2135
update vault timeout service with new crypto service 2023-06-19 09:42:54 -04:00
Jacob Fink
ffc23bfcdb
update password generation service to use new crypto service 2023-06-19 09:42:54 -04:00
Jacob Fink
7a037724d5
update cipher service to use new crypto service 2023-06-19 09:42:54 -04:00
Jacob Fink
7d8c4a430a
update folder service to use new crypto service methods 2023-06-19 09:42:53 -04:00
Jacob Fink
3452e39b9d
update send service to use new crypto service methods 2023-06-19 09:42:53 -04:00
Jacob Fink
076ab184fd
update sync service to use new crypto service methods 2023-06-19 09:42:53 -04:00
Jacob Fink
51d744132b
update register component again with more crypto service 2023-06-19 09:42:52 -04:00
Jacob Fink
23e6d1117a
update register component in lib to use new crypto service 2023-06-19 09:42:52 -04:00
Jacob Fink
f466c91469
update auth service to use new crypto service 2023-06-19 09:42:52 -04:00
Jacob Fink
4772166e83
separate the user key in memory from user keys in storage 2023-06-19 09:42:51 -04:00
Jacob Fink
f0438e5dd2
add setUserSymKeyMasterKey so we can set the encrypted user sym key from server 2023-06-19 09:42:51 -04:00
Jacob Fink
c7feae6238
add type to parameter of setUserKey in abstraction of crypto service 2023-06-19 09:42:50 -04:00
Jacob Fink
820c71d1a1
update makeKeyPair on crypto service to be generic 2023-06-19 09:42:50 -04:00
Jacob Fink
6dc454e5e7
add decryption with MasterKey method to crypto service 2023-06-19 09:42:02 -04:00
Jacob Fink
acd3ef2204
remove provided key from getKeyForUserEncryption 2023-06-19 09:42:01 -04:00
Jacob Fink
4ce2a17ea4
Begin refactor of crypto service to support new key structure 2023-06-19 09:42:01 -04:00
Jacob Fink
bc4b3f3d74
add storage for master key encrypted user symmetric key 2023-06-19 09:35:51 -04:00
Jacob Fink
702dfb7eaf
add new storage to replace MasterKey with UserSymKey 2023-06-19 09:35:50 -04:00
Rui Tomé
d3d17f1496
[AC-1144] Warn admins when removing or revoking users without master password (#5494)
* [AC-1144] Added new messages for warning removing/revoking user without master password

* [AC-1144] Added property 'hasMasterPassword' to OrganizationUserUserDetailsResponse and OrganizationUserView

* [AC-1144] Added user's name to 'No master password' warning

* [AC-1144] Added property 'hasMasterPassword' to ProviderUserResponse

* [AC-1144] Added alert to bulk "remove/revoke users" action when a selected user has no master password

* [AC-1144] Moved 'noMasterPasswordConfirmationDialog' method to BasePeopleComponent

* [AC-1144] Removed await from noMasterPasswordConfirmationDialog

* [AC-1144] Changed ApiService.getProviderUser to output ProviderUserUserDetailsResponse

* [AC-1144] Added warning on removing a provider user without master password

* [AC-1144] Added "No Master password" warning to provider users

* [AC-1144] Added "no master password" warning when removing/revoking user in modal view

* [AC-1144] Reverted changes made to ProviderUsers

* [AC-1144] Converted showNoMasterPasswordWarning() into a property

* [AC-1144] Fixed issue when opening invite member modal
2023-06-16 16:38:55 +01:00
André Bispo
1052f00b87
[PM-2475][PM-2536] Clicking "US" in region selector sets base URL (#5604) 2023-06-16 14:09:16 +01:00
Vincent Salucci
5cd51374d7
[AC-1416] Expose Organization Fingerprint (#5557)
* refactor: change getFingerprint param to fingerprintMaterial, refs PM-1522

* feat: generate and show fingerprint for organization (WIP), refs AC-1416

* feat: update legacy params subscription to best practice (WIP), refs AC-1461

* refactor: update to use reactive forms, refs AC-1416

* refactor: remove boostrap specific classes and update to component library paradigms, refs AC-1416

* refactor: remove boostrap specific classes and update to component library paradigms, refs AC-1416

* refactor: create shared fingerprint component to redude boilerplate for settings fingerprint views, refs AC-1416

* refactor: use grid to emulate col-6 and remove unnecessary theme extensions, refs AC-1416

* refactor: remove negative margin and clean up extra divs, refs AC-1416

* [AC-1431] Add missing UserVerificationModule import (#5555)

* [PM-2238] Add nord and solarize themes (#5491)

* Fix simple configurable dialog stories (#5560)

* chore(deps): update bitwarden/gh-actions digest to 72594be (#5523)

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

* refactor: remove extra div leftover from card-body class, refs AC-1416

* refactor: use bitTypography for headers, refs AC-1416

* fix: update crypto service abstraction path, refs AC-1416

* refactor: remove try/catch on handler, remove bootstrap class, update api chaining in observable, refs AC-1416

* fix: replace faulty combineLatest logic, refs AC-1416

* refactor: simplify observable logic again, refs AC-1416

---------

Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-15 21:03:48 -05:00
Shane Melton
0afbd90a2d
[AC-1192] Create new device approvals component for TDE (#5548)
* Add feature flag route guard and tests

* Add additional test for not showing error toast

* Strengthen error toast test with message check

* Cleanup leaking test state in platformService mock

* Negate if statement to reduce nesting

* Update return type to CanActivateFn

* Use null check instead of undefined

* Introduce interface to support different feature flag types

- Switch to observable pattern to access serverConfig$ subject
- Add catchError handler to allow navigation in case of unexpected exception
- Add additional tests

* Add additional test for missing feature flag

* Remove subscription to the serverConfig observable

Introduce type checking logic to determine the appropriately typed flag getter to use in configService

* [AC-1192] Create initial device approvals component and route

* [AC-1192] Introduce appIfFeature directive for conditionally rendering content based on feature flags

* [AC-1192] Add DeviceApprovals link in Settings navigation

* Remove align middle from bitCell directive

The bitRow directive supports alignment for the entire row and should be used instead

* [AC-1192] Add initial device approvals page template

* [AC-1192] Introduce fingerprint pipe

* [AC-1192] Create core organization module in bitwarden_license directory

* [AC-1192] Add support for new Devices icon to no items component

- Add new Devices svg
- Make icon property of bit-no-items an Input property

* [AC-1192] Introduce organization-auth-request.service.ts with related views/responses

* [AC-1192] Display pending requests on device approvals page

- Add support for loading spinner and no items component

* [AC-1192] Add method to bulk deny auth requests

* [AC-1192] Add functionality to deny requests from device approvals page

* [AC-1192] Add organizationUserId to pending-auth-request.view.ts

* [AC-1192] Add approvePendingRequest method to organization-auth-request.service.ts

* [AC-1192] Add logic to approve a device approval request

* [AC-1192] Change bitMenuItem directive into a component and implement ButtonLikeAbstraction

Update the bitMenuItem to be a component and implement the ButtonLikeAbstraction to support the bitAction directive.

* [AC-1192] Update menu items to use bitActions

* [AC-1192] Update device approvals description copy

* [AC-1192] Revert changes to bitMenuItem directive

* [AC-1192] Rework menus to use click handlers

- Wrap async actions to catch/log any exceptions, set an in-progress state, and refresh after completion
- Show a loading spinner in the header when an action is in progress
- Disable all menu items when an action is in progress

* [AC-1192] Move Devices icon into admin-console web directory

* [AC-1192] bit-no-items formatting

* [AC-1192] Update appIfFeature directive to hide content on error

* [AC-1192] Remove deprecated providedIn for OrganizationAuthRequestService

* [AC-1192] Rename key to encryptedUserKey to be more descriptive

* [AC-1192] Cleanup loading/spinner logic on data refresh

* [AC-1192] Set middle as the default bitRow.alignContent

* [AC-1192] Change default alignRowContent for table story

* [AC-1192] Rename userId to fingerprintMaterial to be more general

The fingerprint material is not always the userId so this name is more general

* [AC-1192] Remove redundant alignContent attribute

* [AC-1192] Move fingerprint pipe to platform
2023-06-15 14:53:21 -07:00
Daniel Chateau
9ed59c6fa9
Update request headers sent to AnonAddy API. (#5565) 2023-06-14 22:59:29 +02:00
Robyn MacCallum
2b65b3f0f7
[AC-1383] Move collections to Vault (#5424)
* Move CollectionDialog to Vault

* Fix CollectionDialogModule imports

* Move CollectionAdminService and View to Vault

* Move CollectionService to Vault

* Split GroupService into internal and public facing classes

* Move collection models to vault

* lint spacing fix

* Move collection spec file

* Fix spec import

* Update apps/web/src/app/core/core.module.ts

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* Remove CoreOrganizationModule from CollectionDialogModule

---------

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2023-06-14 08:38:24 -04:00
Andreas Coroiu
37010a6414
[PM-2642] Fix feature flags not working properly when urls load from storage (#5598)
* fix: feature flags not working properly

Due to race conditions the api url is not set during the first fetch och server config. This causes the config to be fetched from `api.bitwarden.com`. The config is then supposed to be re-fetched when the api url is set by the environment service, but due to a missing line this is not done when the urls are set from storage.

* feat: change to `Observable<void>`
2023-06-14 14:10:39 +02:00
Daniel James Smith
3b708d9311
Remove try-catch to display proper api-errors (#5570) 2023-06-14 11:28:32 +02:00
Daniel James Smith
72a5ba455c
[PM-2367] [BEEEP]: Extract password strength from password-generation-service (#5502)
* Extract passwordStrength from passwordGenerationService

Extract passwordStrength from password-generation.service.ts
Create new password-strength.service.ts
Create new password-strength.service.abstraction.ts
Register new password-strength service
Fix usages in libs

* Fix usage in web

* Fix usage in desktop

* Fix usage in CLI

* Fix usage in browser

Move password-generation-factory to tools

* Fix tests

* Change dependency in jslib-services.module
2023-06-13 23:22:25 +02:00
Jared Snider
b6c2c83936
Merge branch 'master' into feature/PM-1049-TDE-flow-3-login-decryption-options 2023-06-13 16:13:53 -04:00
Thomas Rittson
22caae116c
Restrict angular imports (#5597)
* Refactor restricted imports eslint rule, add angular deps

* Move FormValidationErrorsService into libs/angular

* Remove angular decorators from configService

* Remove angular decorator from anonymousHubService
2023-06-13 10:03:32 +10:00
Jared Snider
285617bf4a
PM-1049 - TODO: replace base component with business service 2023-06-12 10:53:48 -04:00
Rui Tomé
0ab982038c
[AC-1088] Truncating collection names on Groups table (#5236)
* [AC-1088] Set no-wrap to 'select all' column on groups table

* [AC-1088] Using EllipsisPipe on GroupsComponent to truncate group names

* [AC-1088] Reverted using no-wrap on column header

* [AC-1088] Removed truncateCollectionNames

* [AC-1088] Added 'truncate' option to badge and badge-list components

* [AC-1088] Truncating collection names on groups component

* [AC-1088] Marked EllipsisPipe as deprecated

* [AC-1088] Removed EllipsisPipe from GroupsComponent

* [AC-1088] Added badge truncate to storybook stories

* [AC-1088] Setting badge css requirements for truncate

* [AC-1088] Added storybook stories for truncated badges

* [AC-1088] Set badges truncate default value to true

* [AC-1088] Set badges to use class tw-inline-block and tw-align-text-top

* [AC-1088] Set title on each badge list item if truncated

* [AC-1088] Set title on badge if truncated

* [AC-1088] Removed duplicate truncate on badge-list component

* [AC-1088] Swapped setting badge title from ngAfterContentInit to HostBinding

* [AC-1088] Configured badge stories to have the truncate option

* [AC-1088] Fixed badges tooltip to not include commas added for screen readers on badge lists

* [AC-1088] Added lengthy text to single badge on storybook

* [AC-1088] In badge-list moved the commas out from the badges

* [AC-1088] Removed irrelevant comment and moved the text align class next to other font classes
2023-06-12 10:56:03 +01:00
Jared Snider
5afc9ffd75
PM-1049 - Add TODOs for future changes needed as part of the Login Approval flows for TDE 2023-06-10 20:20:42 -04:00
Jared Snider
8eb182ffda
PM-1049 - (1) Updated dependencies in parent BaseLoginDecryptionOptionsComponent class + child components (2) Retrieve userEmail b/c needed for displaying which email the user is logging in with (3) Add log out functionality (4) Add comments regarding future implementation details for each login approval flow. 2023-06-10 15:21:47 -04:00