Commit Graph

16476 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
Shane Melton 81d7f319f6
[PM-13896] Avoid sorting when a search term is applied (#11661) 2024-10-24 14:11:48 -07:00
cd-bitwarden bacb7cd7a0
removing the Share component (#11373) 2024-10-24 16:03:41 -04:00
rr-bw df8f234b9e
[PM-8111] Browser Refresh: LoginComponent (#10856)
* setup new LoginComponent files in libs/auth

* update pageTitle

* handle loading email settings

* setup web-login.service.ts

* implement web onInit

* fill out webOnInit

* refactor getOrgPolicies call

* update import

* add validateEmail logic

* handle registerRoute

* add showPasswordless flag

* handle captcha

* handle startAuthRequestLogin()

* add handleMigrateEncryptionKey to default and web service

* handle submit routing (web)

* fix typo

* incorporate loginEmailService changes

* minor updates to comments for clarity

* create a defaultOnInit()

* update defaultOnInit()

* handle master password input focus

* handle post-login routing on Browser/Desktop

* handle browser/desktop syncService

* handle browser ngOnInit

* handle browser routing and basic browser template

* setup desktop router

* add template for desktop first UI state: email entry

* rename 'response' to 'authResult'

* refactor handleMigrateEncryptionKey()

* refactor captcha methods and add return types

* refactor submit logic

* refactor submit logic further to use if statements with returns instead of if...else if...else

* remove toast error on invalid form for Browser/Desktop

* refactor to handleAuthResult() method

* refactor webOnInit

* add comment to revisit ngOnInit logic

* refactor handlCaptchaRequired()

* create a LoginSecondaryContentComponent for AnonLayout use

* minor formatting for consistency

* add clarifying comment to handleAuthResult()

* minor refactor to use destructuring

* setup desktopOnInit()

* add continue() method

* handle desktop ngOnDestroy()

* add clarifying comment regarding secondary content

* fill out desktop template and submit()

* add descriptive comment to top of HTML file

* refactor to use a uiState enum for UI states

* handle oss-routing swap

* handle registerRoute$ in secondary content

* web template modifications

* change email validation to only run on submit (or when clicking continue button)

* add dynamic anon-layout wrapper data

* remove static element ref

* desktop HTML template updates

* remove 'showPassword' property b/c now handled by bitPasswordInputToggle

* Extension: setup EmailEntry state UI

* Extension: setup MasterPasswordEntry state UI

* ensure full sync happens on all clients before navigation

* update icon stroke color

* change old components to V1

* remove 'V2' from new component

* update captcha iframe on all clients

* add browser redirect from /home to /login with FF on

* add todo comment regarding browser template

* add launchSsoBrowser to extension template

* move extension launchSsoBrowserWindow() to extension service

* cleanup & comments

* add launchSsoBrowserWindow() to default service

* setup launchSsoBrowserWindow() for Desktop

* refactor to use toastService

* remove unnecessary service injection

* rename LoginService to LoginComponentService to avoid confusion with the LoginStrategyService

* add jsdocs to LoginComponentService

* rename loginService prop to loginComponentService

* Add vault icon to anon layout.

* Prevent email address validation on blur.

* Fix comment typo.

* Prefill email field when "create account" is clicked.

* Use factory function to provide LoginEmailService.

* Add test for RegisterFormComponent.

* Remove back button todo.

* Consolidate clearing loginEmailService values and routing

* Remove unnecessary navigation.

* Fix client navigation after login.

* Consolidate login templates.

* Break up LoginComponent into client-specific services.

* Rename login.component to login-v1.component

* Rename login.component to login-v1.component

* Revert "Rename login.component to login-v1.component"

This reverts commit 9a277d6ca5.

* Revert "Rename login.component to login-v1.component"

This reverts commit 588a7af906.

* Rename login.component to login-v1.component except browser.

* Comment out debug code.

* Remove debug code.

* Rename login.component to login-v1.component for browser.

* Add login-with-passkey route to desktop.

* Set feature flag to false.

* Fix linting errors.

* Populate email on registration start form.

* Implement email population on all clients add add safeProviders.

* Remove comment re. passing email to registration.

* Add unauthUiRefreshRedirect utility function.

* Add transparent border.

* Merge main and add satisfies RouteDataProperties

* PM-8111 - Extension - AppRoutingModule - Home route now redirects conditionally based on unauthenticated ui refresh feature flag.

* PM-8111 - New Login Comp + Login Comp Svc - (1) Refactor naming and returns of getShowPasswordlessFlag to isLoginViaAuthRequestSupported (2) Replace showPasswordless with better composed variable names.

* PM-8111 - TODO cleanup

* PM-8111 - (1) Cleanup DefaultLoginComponentService (2) Sso Connector now checks client id property instead of reading it from state

* PM-8111 - Two TODO cleanups

* Remove specific client services.

* Add isLoginWithPasskeySupported function to reduce client type checking in template.

* Add styles missing from Browser to Create Account link.

* Confirmed inline form errors working and removing todo comments.

* Convert refactoring todo-rr-bw to standard todos.

* Add login component services tests.

* Cleanup formatting and remove unused provider.

* Add comment to explain call to setLoginEmail.

* Rearrange imports to fix lint error.

* Adjust styles for password hint link.

* Address PR feedback: use strict comparison.

* Ensure Login with Passkey button is shown by setting clientType.

* Update "continue" button from "submit" to "button" type.

* Ensure Passkey login available for web and desktop.

* Validate email on enter keypress.

* Use click event to trigger goToHint.

* Restructure handAuthResult to ensure we redirect to vault.

* Add await to saveEmailSettings function.

* Directly set clientType in individual login component services.

* Get clientType via service.

* Add back button.

* Remove hardcoded colors from Vault Icon

* Removing register component changes.

* Removing register component changes.

* Ensure isLoginWithPasskeySupported is only returns true for web client.

* Remove Web/Desktop comment from html template

* Update Storybook with initialLoginEmail

* Fix translation error

* Add test for unauthUiRefreshRedirect.

* Rename goAfterLogIn to evaluatePassword and borrow logic from lock component.

* Add DefaultLoginComponent tests.

* Integrate changes to translations.

* Simplify ngOnInit: remove webOnInit and move getLoginWithDevice to defaultOnInit

I couldn't find any usages of qParams.org or qParams.sponsorshipToken on QA (signing up for family membership, creating organization, manually modifying query params), so I think these are safe to remove.

* Fix translations.

* Clean up and flush out register form tests.

* Update variable name.

* Remove unused enforcedPasswordPolicyOptions property.

* Run prettier.

* Add back safeProviders for LoginEmailService

* Remove duplicate import.

* Update v1 web login title.

* Adjust overlay position of EnvironmentSelectorComponent for new layout.

Since the switcher is located at the bottom of the screen we need to position it up above the trigger button so that it is not cut off.

* Add new wave icon

* Only send email in query parameters if set.

* Remove test/debug code.

* Replace loggedEmail with this.emailFormControl.value.

* Move getLoginWithDevice call to loadEmailSettings.

* Replace loggedEmail with this.emailFormControl.value.

* Add todo comment re. inline errors.

* Remove unused setPreviousUrl function.

* Remove height / width from vault icon svg.

* Use continue method unanimously

* WIP remove validated email&  display extension back button

* Simplify getting query params

* Rework ExtensionAnonLayoutWrapperDataService to use BehaviorSubject

* Simplify validateEmail method

* Hide back button on init

* Revert "Hide back button on init"

This reverts commit e8de5e2bfc.

* Revert "Simplify validateEmail method"

This reverts commit c9141a1cb5.

* Revert "Rework ExtensionAnonLayoutWrapperDataService to use BehaviorSubject"

This reverts commit 8889ed3d3c.

* simplify validateEmail method

* Add primary / accent colors to wave icon

* Remove debug code

* PM-8111 - Tweak ShowBackButton to work

* PM-8111 - LoginCompService - finish removal of setPreviousUrl from implementations.

* PM-8111 - (1) Remove overriden default logo in anon layout (2) Update routing modules to have proper default login logo (3) LoginComp - update toggleLoginUiState to include logic to swap the icon back and forth as user navigates.

* PM-8111 - LoginComp - on UI state change from MP entry to email entry, remove subtitle (this isn't supported yet, but it will be)

* PM-8111 - LoginComp - Simplify toggleLoginUiState

* PM-8111 - LoginComponent - Add known device logic into UI state change handler

* PM-8111 - LoginComp - (1) Refactor name of getLoginWithDevice to be more accurate as getKnownDevice (2) Refactor calls to getKnownDevice to only occur if loginViaAuthRequestSupported

* PM-8111 - LoginComp - add getKnownDevice docs

* PM-8111 - LoginComponent - tweak docs

* PM-8111 - LoginComp - Continue() - remove toast as the validation on submit logic currently shows validation errors - toast is extra and not needed.

* Add isLoginViaAuthRequestSupported for DesktopLoginComponentService

* Remove validating email on init

* PM-8111 - ExtensionLoginComponentService - add tests for showBackButton

* PM-8111 - style tweaks

* PM-8111 - Extension - Refactor Overlay position to include extension default const to avoid repetition.

* PM-8111 - Desktop AppRouting Module - remove login with passkey route as it isn't supported on desktop.

* PM-8111 - Desktop - add default overlay position const

* PM-8111 - DesktopLoginCompSvc - tests were not actually testing super method calls + finish testing launchSsoBrowserWindow

* PM-8111 - Desktop Main.ts - remove dev test code

* PM-8111 - WebLoginCompSvcTests - add success test cases for getOrgPolicies

* PM-8111 - Remove duplicate translation keys

* PM-8111 - DefaultLoginComponentSvcTests - add missing test

* PM-8111 - DefaultLoginComponentServiceTests - add describes

* PM-8111 - LoginSecondaryContentComponent  - Add missing bitLink

* Update to test both browser and desktop

* Remove registration form test

* Remove aliasing CryptoFunctionService and PlatformUtilsService as abstractions

* Remove aliasing PlatformUtilsService and CryptoFunctionService as abstractions

---------

Co-authored-by: Alec Rippberger <alec@livefront.com>
Co-authored-by: Jared Snider <jsnider@bitwarden.com>
Co-authored-by: Alec Rippberger <127791530+alec-livefront@users.noreply.github.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
2024-10-24 15:53:34 -04:00
✨ Audrey ✨ 0254550b07
increase minimum number of words on passphrases to 6 (#11675) 2024-10-24 15:16:10 -04:00
bw-ghapp[bot] c44476788f
Bumped client version(s) (#11696)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-10-24 18:41:17 +00: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
Alex Morask 554171b688
Only show client org CB experience when provider status is Billable (#11693) 2024-10-24 12:18:03 -04:00
Jason Ng 2e9177d268
[PM-13854] update autofill label in browser (#11687) 2024-10-24 12:13:01 -04:00
Todd Martin ed4071c7d4
Revert [PM-11312] Add "prevent screenshot" setting (#11685)
This reverts commit 1b7bb014d2.
2024-10-24 12:06:08 -04:00
Nick Krantz 44e182e32e
[PM-13187] Hide "Assign To Collections" when the user has no orgs (#11668)
* web - hide assign to collections button when the user has no organizations

* browser - hide assign to collections button when the user has no organizations

* hide assign to collections in the bulk edit menu when the user doesn't belong to an organization
2024-10-24 10:30:46 -05:00
Rui Tomé 548abfe906
[PM-12758] Add managed status to OrganizationUserDetailsResponse, OrganizationUserUserDetailsResponse, OrganizationUserView and OrganizationUserAdminView (#11640)
* Add managedByOrganization property to OrganizationUserUserDetailsResponse and OrganizationUserView

* Add managedByOrganization property to OrganizationUserDetailsResponse and OrganizationUserAdminView

* Move response mapping from UserAdminService to method in OrganizationUserAdminView
2024-10-24 15:39:41 +01:00
Jonathan Prusik 15c301d39f
Do not redirect after saving changes to excluded domains (#11676) 2024-10-24 10:15:24 -04: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
✨ Audrey ✨ d5643f42b3
[PM-13723] track history in generator components (#11673)
* add history support to generator components
* increase generator history length
2024-10-23 21:38:26 +02:00
✨ Audrey ✨ a2a15d42d5
add test ids (#11674) 2024-10-23 20:58:49 +02:00
✨ Audrey ✨ 22be52d2f3
[PM-12303] fix password state spurious emissions (#11670)
* trace generation requests
* eliminate spurious save caused by validator changes
* fix emissions caused by setting bounds attrbutes
---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-10-23 14:23:28 -04:00
SamFrank234 7c79487f04
[PM-7565] fix filter icon alignment (#8790)
update styles so that folders and subfolders are correctly aligned in vault filters on web and desktop
2024-10-23 14:21:56 -04:00
✨ Audrey ✨ a8299e7040
fix generate a11y binding (#11671) 2024-10-23 14:17:24 -04:00
Jordan Aasen 7b8aac229c
[PM-13456] - Password health service (#11658)
* add password health service

* add spec. fix logic in password reuse

* move service to bitwarden_license

* revert change to tsconfig

* fix spec

* fix import
2024-10-23 13:30:25 -04: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
cd-bitwarden e67577cc39
Updating chipSelect to be the new styling (#11593) 2024-10-23 11:40:11 -04:00
cd-bitwarden 79d7d506df
[PM-12996] Updating UI Spacing for bit section header (#11609)
* Adding space to the section header

* Updating spacing to the left of the bit section header
2024-10-23 11:39:57 -04:00
Nick Krantz c4fcd53ad2
[PM-13776] Generator Icon Button labels (#11623)
* update aria labels for generate and copy buttons within the generator components

- Using the `appA11yTitle` across all icon buttons
- Updated all labels to be targeted towards the credential type rather than just "password"

* add copy/generate passphrase translations to desktop

* add fixme comments for translations

* remove reference to JIRA ticket
2024-10-23 10:23:51 -05:00
Jordan Aasen dfa7509c8e
account for potential null config in SendFilePopoutDialogContainerComponent (#11372) 2024-10-23 17:20:34 +02:00
Tom 947e4154a4
Tools team code ownership for license lib files (#11664) 2024-10-23 10:25:29 -04:00
Oscar Hinton 9b474264e6
[CL-343] Create a new table component for virtual scrolling (#10113)
This creates a new component called bit-table-scroll as it's a breaking change in how tables works. We could probably conditionally support both behaviors in the existing table component if we desire.

Rather than iterating the rows in the consuming component, we now need to define a row definition, bitRowDef which provides access to the rows data through angular let- syntax. This allows the table component to own the behaviour which is needed in order to use the cdkVirtualFor directive which must be inside the cdk-virtual-scroll-viewport component.
2024-10-22 21:51:45 +02:00
Oscar Hinton 801d9a870b
Delete @types/gulp & @types/minimatch on posinstall (#11509)
This can be reverted once https://github.com/electron/asar/issues/330 is resolved.
2024-10-22 13:58:13 -04:00
Oscar Hinton 173a5e2574
[PM-13277] Gulp: Remove unnecessary filtering (#11456)
Part of the browser build script refactor effort. bitwarden.atlassian.net/browse/PM-6683

We seem to have some very old filters related to fonts and safari build files. These predates our modern usage of webpack for bundling only used assets.

I've run diff -qr on Chrome, Firefox and Safari builds and the only difference is that we now include a bwi-font.svg resource. bwi-font.svg is referenced in our css files and "should" be included.
2024-10-22 18:53:30 +02:00
Jason Ng 023abe2969
[PM-11199] added permission labels to ciphers in AC (#11210)
* added permission labels to ciphers in AC
2024-10-22 10:07:22 -04: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
renovate[bot] 9a1879b96c
[deps] Tools: Update @types/papaparse to v5.3.15 (#11645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-22 10:07:45 +02:00
Jared Snider c16d1e0e74
AnonLayoutWrapperComponents - Add reset support for null values (#11651) 2024-10-21 18:52:07 -04:00
bw-ghapp[bot] 79cdf3bf50
Bumped client version(s) (#11648)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-10-21 20:53:30 +00:00
Jordan Aasen ecc597110b
[PM-13809] - add remove password button (#11641)
* add remove password button

* adjust comment

* use bitAction directive
2024-10-21 22:36:27 +02:00
Jordan Aasen c89d8a00a1
fix voiceover on send created screen (#11628) 2024-10-21 20:50:50 +02:00
Nick Krantz 116d2166c3
remove slideIn animation as it doesn't support the "show animations" setting (#11591) 2024-10-21 13:05:15 -05:00
Jordan Aasen 4b9fbfc832
[PM-13769] - fix routing for send created page (#11629)
* fix routing for send created page

* fix test

---------

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2024-10-21 19:45:07 +02: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
Tom 2fd8c8b8b7
[PM-13402] Adding the service to get member cipher details (#11544)
* Adding the service to get member cipher details

* Moving member cipher details to bitwarden license

* Adding documentation to the api call
2024-10-21 12:07:28 -04:00
Jonas Hendrickx ca3e9fc1bc
[PM-12527] [Defect] Remove unnecessary "General Information" Header in Organizat… (#11198) 2024-10-21 17:56:50 +02:00
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
Jonathan Prusik c9de05de95
[PM-13675] Adjust browser autofill override instructions conditions and placement in the settings view (#11559)
* adjust browser autofill override instructions conditions and placement in the settings view

* adjust placement of override instructions in the refresh component for Firefox
2024-10-21 09:50:59 -04:00
Jonathan Prusik 6335dd6cd7
update search state to show contextual no results view messages (#11570) 2024-10-21 09:47:01 -04:00