* PM-13318 - AnonLayoutWrapperData refactor to support all possible string scenarios (untranslated string, translated string, and translated string with placeholders)
* PM-13318 - Fix accidental check in
* PM-13318 - Revert the correct change.
* PM-13318 - Fix test failures
* [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
* Create web-specifc credential-generator component
* Add missing entries in en/messages.json
* Import and use conditional routing for new credential generator component
* Add comment about temporary using password-generator component
* Update comment to include FIXME which is more easily searchable
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Migrate `ResetPasswordComponent` off of bootstrap
* Remove redundant `[appApiAction]` directive usage
* Replace `app-callout` with `bit-callout`
* Remove `formPromise` from compononent. It is unused.
* Implement new password strength component
* WIP - access intelligence page
* finish access intelligence page
* finish access intelligence page
* use tab label directive
* remove extension swap change
* only show when feature flag enabled
* Move files under tools ownership
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-13284] Notification bar does not display for certain websites
* [PM-13284] Notification bar does not display for certain websites
* [PM-13284] Notification bar does not display for certain websites
We ran into some inconsistencies between how manifest v2 and v3 are handled in browsers. To resolve this we have a different flow for manifest v2 which dynamically imports, while v3 uses the sync importScripts.
* add `hideFolderSelection` for admin console ciphers
* hide folder form field when configuration has `hideFolderSelection` set to true
* add `addCipherV2` method in the admin console vault
* add browser refresh logic for add/edit form
* add admin console implementation of `AdminConsoleCipherFormConfigService`
* only allow edit dialog in admin console
* remove duplicate check
* refactor comments
* initial integration of combined dialog
* integrate add cipher with admin console vault
* account for special admin console collection permissions
* add `edit` variable to AC ciphers when the user has permissions
* Move comment to JSDoc
* pass full cipher to view component
* validate edit access when opening view form
* partial-edit not applicable for admin console
* refactor hideIndividualFields to be more generic and hide favorite button
* pass entire cipher into edit logic to match view logic
* add null check for cipher when attempting to view
* remove logic for personal ownership, not needed in AC
* [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
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.
* Added sorting to vault, name, permission and group
Added default sorting
* Fixed import
* reverted test on template
* Only add sorting functionality to admin console
* changed code order
* 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.
* Create desktop-specifc full credential-generator component
* Add missing entries in en/messages.json
* Import and use conditional routing for new credential generator component
app.component: The original if, didn't make any sense as it meant that it would behave differently on the Send page vs Vault, which it doesn't, in addition to a duplicate message receiver was added in vault.component which I also removed.
Old generator for cipher add/edit is still in place and will be replaced by the vault team
* Update comment to include FIXME which is more easily searchable
* Add fixme comment for future extension
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* add password/username generator strings to web app
* remove JSLibServicesModule from generator dependencies
* integrate username and password generators into browser extension
* integrate username and password generators into web app
* move Jslib order back
* remove margin from within the generator components
* add alternative background to web generator dialog
* remove unneeded margin from username generator
* remove disable margin from div
* Revert "remove unneeded margin from username generator"
This reverts commit ae3067e3f2.
* remove CSS to alter internal margins of the generator components
* [PM-12389] Cleanup attachment dialog UI bugs
* [PM-12389] Add formReady event to CipherForm
* [PM-12389] Use ngOnChanges for CipherView component initialization
* [PM-12389] Cleanup web specific services and components
* [PM-12389] Introduce combined Vault Item Dialog component
* [PM-12389] Use the new VaultItemDialog in the Individual Vault
* [PM-12389] Deprecate the AddEditV2 and View dialogs in Web
* [PM-12389] Fix failing test
* [PM-12389] Fix broken imports after move
* [PM-12389] Remove messages.json addition that is taken care of in another PR
* Add "back" functionality for Desktop.
* Return user to email field when logo is clicked in Web.
* Update function name.
* Move hideLogo to anchor wrapper.
* Use "/" route for logo back link.
* PM-9449 - Init stub of new lock comp
* PM-9449 - (1) Add new lock screen title to all clients (2) Add to temp web routing module config
* PM-9449 - LockV2Comp - Building now with web HTML
* PM-9449 - Libs/Auth LockComp - bring in all desktop ts code; WIP, need to stand up LockCompService to facilitate ipc communication.
* PM-9449 - Create LockComponentService for facilitating client logic; potentially will decompose later.
* PM-9449 - Add extension lock comp service.
* PM-9449 - Libs/auth LockComp - bring in browser extension logic
* PM-9449 - Libs/auth LockComp html start
* PM-9449 - Libs/Auth LockComp - (1) Remove unused dep (2) Update setEmailAsPageSubtitle to work.
* PM-9449 - Add getBiometricsError to lock comp service for extension.
* PM-9449 - LockComp - (1) Save off client type as public comp var (2) Rename biometricLock as biometricLockSet
* PM-9449 - Work on lock comp service getAvailableUnlockOptions
* PM-9449 - WIP libs/auth LockComp
* PM-9449 - (1) Remove default lock comp svc (2) Add web lock comp svc.
* PM-9449 - UnlockOptions - replace incorrect type
* PM-9449 - DesktopLockComponentService -get most of observable based getAvailableUnlockOptions$ logic in place.
* PM-9449 - LockCompSvc - getAvailableUnlockOptions in place for all clients.
* PM-9449 - Add getBiometricsUnlockBtnText to LockCompSvc and put TODO for wiring it up later
* PM-9449 - Lock Comp - Replace all manual bools with unlock options.
* PM-9449 - Desktop Lock Comp Svc - adjust spacing
* PM-9449 - LockCompSvc - remove biometricsEnabled method
* PM-9449 - LockComp - Clean up commented out code
* PM-9449 - LockComp - webVaultHostname --> envHostName
* PM-9449 - Fix lock comp svc deps
* PM-9449 - LockComp - HTML progress
* PM-9449 - LockComp cleanup
* PM-9449 - Web Routing Module - wire up lock vs lockv2 using extension swap
* PM-9449 - Wire up loading state
* PM-9449 - LockComp - start wiring up listenForActiveUnlockOptionChanges logic with reactivity
* PM-9449 - Update desktop & extension lock comp service to use new biometrics service vs platform utils for biometrics information.
* PM-9449 - LockV2 - Swap platform util usage with toast svc
* PM-9449 - LockV2Comp - Bring over user id logic from PM-8933
* PM-9449 - LockV2Comp - Adjust everything to use activeAccount.id.
* PM-9449 - LockV2Comp - Progress on wiring up unlock option reactive stream.
* PM-9449 - LockComp ts - some refactoring and minor progress.
* PM-9449 - LockComp HTML - refactoring based on new idea to keep unlock options as separate as possible.
* PM-9449 - Add PIN translation to web
* PM-9449 - (1) Lock HTML refactor to make as independent verticals as possible (2) Refactor Lock ts (3) LockSvc - replace type with enum.
* PM-9449 - LockV2Comp - remove hardcoded await.
* PM-9449 - LockComp HTML - add todo
* PM-9449 - Web - Routing module - cleanup commented out stuff
* PM-9449 - LockV2Comp - Wire up biometrics + mild refactor.
* PM-9449 - Desktop - Wire up lockV2 redirection
* PM-9449 - LockV2 - Desktop - don't focus until unlock opts defined.
* PM-9449 - Fix accidental check in
* PM-9449 - LockV2 - loading state depends on unlock opts
* PM-9449 - LockV2 comp - remove unnecessary hr
* PM-9449 - Migrate "yourVaultIsLockedV2" translation to desktop & browser.
* PM-9449 - LockV2 - Layout tweaks for biometrics
* PM-9449 - LockV2 - Biometric btn text
* PM-9449 - LockV2 - Wire up biometrics loading / disable state + remove unnecessary conditions around biometricsUnlockBtnText
* PM-9449 - DesktopLockSvc - Per discussion with Bernd, remove interval polling and just check once for biometric support and availability.
* PM-9449 - AuthGuard - Add todo to remove promptBiometric
* PM-9449 - LockV2 - Refactor primary and desktop init logic + misc clean up
* PM-9449 - LockV2 - Reorder init methods
* PM-9449 - LockV2 - Per discussion with Product, deprecate windows biometric settings update warning
* PM-9449 - Add TODO per discussion with Justin and remove TODO
* PM-9449 - LockV2 - Restore hide password on desktop window hidden functionality.
* PM-9449 - Clean up accomplished todo
* PM-9449 - LockV2 - Refactor func name.
* PM-9449 - LockV2 Comp - (1) TODO cleanup (2) Add browser logic to handleBiometricsUnlockEnabled
* PM-9449 - LockCompSvc changes - (1) Observability for isFido2Session (2) Adjust errors and returns per discussion with Justin
* PM-9449 - Per product, no longer need to support special fido2 case on extension.
* PM-9449 - LockCompSvc - add getPreviousUrl support
* PM-9449 - LockV2 - Continued ts cleanup
* PM-9449 - LockV2Comp - clean up unused props
* PM-9449 - LockV2Comp - Rename response to masterPasswordVerificationResponse
* PM-9449 - LockV2 - Remove unused formPromise prop
* PM-9449 - Add missing translations + update desktop to showReadonlyHostName
* PM-9449 - LockV2 - cleanup TODO
* PM-9449 - LockV2 - more cleanup
* PM-9449 - Desktop Routing Module - only allow LockV2 access if extension refresh flag is enabled.
* PM-9449 - Extension - AppRoutingModule - Add extension redirect + new lockV2 route.
* PM-9449 - Extension - AppRoutingModule - Add lockV2 to the ExtensionAnonLayoutWrapperComponent intead of the regular one.
* PM-9449 - Extension - CurrentAccountComp - add null checks as anon layout components don't have a state today. This prevents the account switcher from working on the new lockV2 comp.
* PM-9449 - Extension AppRoutingModule - LockV2 should use ExtensionAnonLayoutWrapperData
* PM-9449 - LockComp - BiometricUnlock - cancelling is a valid action.
* PM-9449 - LockV2 - Biometric autoprompt cleanup
* PM-9449 - LockV2 - (1) Add TODO for KM team (2) Fix submit logic.
* PM-9449 - Tweak TODO to add task #
* PM-9449 - Test WebLockComponentService
* PM-9449 - ExtensionLockComponentService tested
* PM-9449 - Tweak extension lock comp svc test
* PM-9449 - DesktopLockComponentService tested
* PM-9449 - Add task # to TODO
* PM-9449 - Update apps/browser/src/services/extension-lock-component.service.ts per PR feedback
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* PM-9449 - Per PR feedback, replace from with defer for better reactive execution of promise based functions.
* PM-9449 - Per PR feedback replace enum with type.
* PM-9449 - Fix imports and tests due to key management file moves.
* PM-9449 - Another test file import fix
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* 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>
* refactor vault-list-item to be a button so it is keyboard accessible
- an anchor tag without an `href` isn't included in the tab order
* allow bit-item-content focus state to be visible
- cdk-virtual-scroll-viewport applied certain styles that hid overflow. Because each bit-item-group isn't a scroll container for vault items, these should be safe to alter.
* [deps]: Lock file maintenance
* Lock glob version to the _very_ old one we need
This seems to be due to electron-builder having old dependencies. REMOVE when electron-builder is updated
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
* 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>
* Add missing column header to weak-password report
* Add missing column header to exposed-password report
* Add missing column header to reused-password report
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* add username and email engines to generators
* introduce username and email settings components
* introduce generator algorithm metadata
* inline generator policies
* wait until settings are available during generation
* Simplify the filter(toggle group) to filter by organizationId instead of a orgFilterStatus property which is not present on the CipherView
* Add sorting to weak password report table
- Create new type to represent a row within the report
- Add types and remove usage of any
- Include the score/badge within the data passed to the datasource/table instead of looking it up via the `passwordStrengthMap`
- Remove unneeded passwordStrengthCache
- Enable sorting via bitSortable
- Set default sort to order by weakness
* Show headers and sort also within AC version of weak-password report, but hide the Owner column
* Clarify that we are filtering by OrgId
* Use a typed object for the reportValue instead of an array
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [deps]: Lock file maintenance
* Works on my machine
* Lock minimatch types version to the _very_ old one we need
This is yet another dependency locked to years old due to gulp. REMOVE THIS OVERRIDE WHEN WE DROP GULP
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
* 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.
* 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
* add appearance option to disable animations
* add check to only show the form after it's populated to avoid flash of inaccurate values
* switch to form loading while waiting for form values
* autofill name for new ciphers
* only include name and uri when the extension is not popped out
* only populate name and uri for login ciphers
* source the URL directly from the new item dropdown component
* fix new item dropdown tests
* 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>
* Added skipLocationChange while navigating to the view cipher to prevent pushing view cipher route to state
* Fix navigation bug after restore or delete
* Simplified to just use popupRouterCacheService.back
* [PM-281] Visual distinction required for login page links
* add bitLink to report links
* add bitLink to billing history
* [PM-281] Adding more references to bitLink and incorporating changes to aria labels for a variety of buttons
* Added editItemWithName to announce links within reports even better
---------
Co-authored-by: Vicki League <vleague@bitwarden.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-11343] Add param to conditionally disable the edit button
* [PM-11343] Cleanup router navigation and move query param handling to callers of the View dialog
* [PM-11343] Fix failing test
* [PM-11343] Fix missing router after merge
* [PM-11343] Add null checks in case the dialog result is undefined (due to closing via the ESC key)
* [PM-11343] Add support to provide a list of collections to the cipher view component
* [PM-11343] Add collections as an optional view cipher dialog parameter
* [PM-11343] Update the org vault to provide collections when opening the View cipher dialog
* [PM-11343] Fix import
* [PM-11343] Use [replaceUrl] for cipher items to avoid needing double back button
* 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
* [deps] Tools: Update electron to v32.1.1
* Bump version in electron-builder.json
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* 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.
* Add sorting to exposed passwords report
- Create new type to represent a row within the report
- Add types and remove usage of any
- Include the exposed number of times within the data passed to the datasource/table instead of looking it up via the `exposedPasswordMap`
- Enable sorting via bitSortable
- Set default sort to order by exposed number of times in descending order
* Show headers and sort also within AC version of exposed-passwords report but hide the Owner column
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Resolve the discount issues
* Resolve the payment cvv alignment
* Resolve the wrong message for secrets manager
* Remove unused commented code
* resolve the display message bug on sm flow
* 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>
* add copy specific aria-labels for login ciphers
* add copy specific aria-labels for card ciphers
* add copy translations for identity to web translations
* 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`
* [PM-11667] Remove all code related to the outdated custom permissions 'Edit/Delete Assigned Collections'
* Revert change made to data model in state migration
* Move Lock All To Happen in Background
- Make it done serially
- Have the promise only resolve once it's complete
* Unlock Active Account Last
* Add Tests
* Update Comment
* 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
* setup component, services, and web HTML
* make Web and Browser functional
* make desktop functional
* update template to solidify common client HTML
* simplify template and class
* update browser routing
* move canActivate to correct location
* simplify post submit routing
* update routing to use unauthUiRefreshSwap()
* constrain AnonLayout title/subtitle width, reduce height on destkop to account for header
* reduce height on browser to account for header (otherwise have to scroll to see EnvSelector
* resolve email issue when clicking 'cancel' on extension popout
* update routing for web
* persist email to popout
* update web router and anon-layout min-h based on client
* change anchor link to button
* remove unnecessary formatting changes
* add new icon
* remove unnecessary call to loginEmailService
* 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
* hide Free Bitwarden Families button if user is not eligible
* use organizationService.canManageSponsorships$ for determining if free bitwarden families is available
* update comment
* add check for `ExtensionRefresh` in StripeService
- Stripe components need new styles to match the new CL components
* add global styles for Stripe components
- Matches closer to the browser refresh components
* add browser refresh component details to Stripe JS initialization
* add component to match the display of the new component library that shows only when the `ExtensionRefresh` flag is enabled
* update both payment components to use payment label component
- This styling of the label is separate from the `AC2476_DeprecateStripeSourcesAPI` flag
* update security code copy
* change layout of the trial component to account for new CL components
* absolutely position label to remove extra spacing around the label
* remove unneeded logic
* 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
* Resolve the recommended issue
* Resolve the discount display issues
* remove unused tw property
* Resolve all the outstanding bugs
* Fix the A11y bug
* Resolve the base storage issue
* Rename service account in the summary
* changes for the A11y bug
* Fix the improper keyboard navigation in modal
* Add some additional ui changes
* Use password field value instead of local variable for copy to clipboard
Use appCopyClick directive instead of manually copying and showing success toast
* Add missing "copySuccessful" message key to desktop and web
* Remove whitespace from web en/messages.json
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* 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
* replace icon in "new" button on admin-console
* replace icon in "new" button on secrets manager
* reduce flash of "new item" button by checking the availability of the organization
* Refactored the showDelete function to check if a user can manage a collection
Removed the can edit or manage cipher check from the show delete function
* Add check for AC vault to return true when user has admin access
* Check user is an admin or custom user with editAnyCollection
* Check user is an admin or custom user with editAnyCollection
* PM-11252 - Registration with email verification - Add new signup redirect connector
* PM-11252 - Make the redirect connector generic and extensible while updating it to reference the new fragment based approach which prevents open redirects and prevents the query string from being sent to servers or proxies.
* PM-11252 - PR feedback - refactor redirect to simply forward any fragment onward with no query param parsing required leading to an even more generic solution.
* PM-11252 - Docs
* PM-11252 - PR Feedback - Include styles in chunks to remove need to manually import scss
* PM-11252 - Update redirect html to tailwind.
* [deps] Tools: Update electron to v32.0.2
* Bump version electron-builder.json
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
* Initial setup and modifications for member access report api implementation
* Adding the permissions logic for getting the permissions text
* fixing the test cases
* Some refactoring on async calls
* Comments on the model
* Resolving the mock issue
* messages
* Localization of text
* One more file to fix merge
* 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
* Revert "Remove unnecessary plist keys in desktop_proxy (#10933)"
This reverts commit 4dbb036df1.
* Revert "Fix TestFlight errors caused by desktop_proxy (#10928)"
This reverts commit 40cb4b5353.
* Revert "[PM-5506] Enable electron fuses (#10073)"
This reverts commit 78c5e9c706.
* Revert "[PM-7846] Implement a rust based native messaging proxy and IPC system (#9894)"
This reverts commit 55874b72bf.
* [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
Fixes errors and high CPU usage / browser lockup on offending webpages.
HTMLTableCellElement.cellIndex will be -1 if the cell is not part of any row, which will cause getTextContentFromElement to fail since it will not receive a valid sibling cell.
* [PM-11481] Incorporate TOTP field qualification to ensure inline menu appears correctly for login forms
* [PM-11481] Incorporate TOTP field qualification to ensure inline menu appears correctly for login forms
* [PM-11689] Incorporate refined submit button capture logic within auto-submit login content script
* [PM-11689] Refactoring implementation to better unify logic
* [PM-11689] Adjusting regex value in order to avoid iterating over element unnecessarily
* [PM-11689] Adjusting regex value in order to avoid iterating over element unnecessarily
* [PM-11689] Adjusting regex value in order to avoid iterating over element unnecessarily
* 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
* Resolve the wrong subscription expiration date
* Refactor the change to include flag
* refactor the change to consider the flag
* Resolve the year bug for all subscription
* Changes for the premium user
* resolve the premium issue
* PM-11635 - Refactor Base Login Component NgOnInit to properly connect the loading of email settings from state to the processing of query params. If an email is not passed via query params (like registration / normal login), then we will try to load the email from state.
* PM-11635 - Extension login component - call parent ngOnInit as it is responsible for processing / setting email from either query params or state. The addition of the child ngOnInit prevented the parent component ngOnInit from executing.
* Move SendV2component into send-v2 subFolder
* Create SendFormContainer and related services
* Add initial SendFormComponent which uses the SendFormContainer
* Remove AdditionalOptionsSectionComponent which will be added with a future PR
* Add libs/tools/send to root tsconfig
* Register libs/tools/send/send-ui with root jest.config.js
* Register libs/tools/send/send-ui with root tailwind.config.js
* Create empty Send add edit page
- Introduces conditional routing based on extension refresh feature flag
- After selecting a Send type via the New button navigate to the new send-add-edit page and build a SendFormConfig
* Fix service injection on DefaultSendFormService
* Rename setHeader into getHeaderText, make it private and add documentation
* Set radix/base to 10 for parseInt
* Add documentation
* Rename local variable
* Removed unneeded loading state
* Remove unused originalSendId
* Run prettier
* Add link to edit an existing send
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Add premium-v2.component
* (No Logic) Move existing premium.component into new premium folder
* Add new premium-v2.component to /premium route behind FF
* [PM-7846] Implement a rust based native messaging proxy and IPC system
* Only build desktop_proxy
* Bundle the desktop_proxy file
* Make sys deps optional for the proxy
* Restore accidentally deleted after-sign
* Update native cache to contain dist folder
* Add some test logging
* Native module cache seems very aggressive
* Fix invalid directory
* Fix debug print
* Remove cache force
* Remove cache debug code
* Only log to file in debug builds
* Place the binary in the correct place for mac and make sure it's signed
* Fix platform paths
* Test unsigned appx
* Revert "Test unsigned appx"
This reverts commit e47535440a.
* Fix comment
* Remove logs
* Use debug builds in native code, and test private path on MacOS
* Add connected message
* Update IPC API comments
* Update linux to also use XDG_ dir
* Update main.rs comment
* Improve docs and split some tasks spawned into separate functions
* Update send docs and return number of elements sent
* Mark `listen` as async to ensure it runs in a tokio context, handle errors better
* Add log on client channel closed
* Move binary to MacOS folder, and sign it manually so it gets the correct entitlements
* Fix some review comments
* Run prettier
* Added missing zbus_polkit dep
* Extract magic number and increase it to match spec
* Comment fix
* Use Napi object, combine nativeBinding export, always log to file
* Missed one comment
* Remove unnecessary generics
* Correct comment
* Select only codesigning identities
* Filter certificates
* Also add local dev cert
* Remove log
* Fix package ID
* debug_assert won't run the pop() in release mode
* Better error messages
* Fix review comments
* Remove unnecessary comment
* Update napi generated TS file
* Temporary fix for DDG
* Fix account switcher on logged out account on startup
* Undo space removal
* Add additional checks for null values
* Fix account switching on timeout on browser
* Fix linting
* Fix broken init in browser
* Split access-selector stories into separate stories and files
* Tweak existing stories to better represent actual use cases in our app
* Add jsdoc comments
* Add stories
- 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
* [PM-11386] Limit presentation of inline menu for identities strictly to fields that contain valid autocomplete attribute
* [PM-11386] Limit presentation of inline menu for identities strictly to fields that contain valid autocomplete attribute
* [PM-11474] Delay cleanup of injected passkey script
* [PM-11474] Incorporating changes to ensure passkeys function within Safari script effectively
* [PM-11474] Fixing jest tests
* [PM-11474] Fixing jest tests
* rename existing fido2 components to use v1 designation
* use fido2 message type value constants in components
* add v2 fido2 components
* add search to login UX of fido2 v2 component
* add new item button in top nav of fido2 v2 component
* get and pass activeUserId to cipher key decription methods
* cleanup / PR suggestions
* Add adjust-storage-dialog-v2.component
* (No Logic) Rename old adjust-storage.component to adjust-storage-dialog.component
* (No Logic) Move existing adjust-storage-dialog.component into new adjust-storage-dialog folder
* Use adjust-storage-dialog-v2.component in adjustStorage methods when FF is on
* 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
* update base anon-layout logo/icon
* update ExtensionAnonLayout logo/icon based on theme
* remove hard-coded fill
* remove solarizedDark class
---------
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
* created trash and trash container component
* added trash to vault settings
created observable to get deleted ciphers
* export icon
added locales
* remove edit and delete footver from trash view cipher
* Added helper text when viewing deleted ciphers
* prevent premature access of isDeleted from the cipher object
* simplified the condition to show the edit button
* return cipherView for deletedCiphers$ since that is what is used in the component
* changed section header to h6
* added routing animation
* Added restore to footer
* [PM-11519] `browser` global reference triggering an error when sending an extension message
* [PM-11519] `browser` global reference triggering an error when sending an extension message
* PM-11318 - Registration Finish - Log user in after registration
* PM-11318 - Adjust registration and login message to be one msg
* PM-11318 - RegistrationFinish - Adjust messaging based on product feedback.
* PM-11318 - RegistrationFinishComp - Tweak redirect and error logic.
* Remove Firefox Exemption
* Do Not Open Sidebar On Install
* Run `chrome.runtime.reload` on All Browsers
* Update Docs & Test Name
* Should Probably Call The Sut In Test
* Update Doc Comment
* Update apps/browser/src/platform/browser/browser-api.ts
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
---------
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
* (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
* [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
* [deps] Tools: Update electron to v32
* Bump version in electron-builder.json
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Create unavailable message for biometrics when in clamshell mode
* Move browser biometrics
* Inject nativemessagingbackground instead of using constructor
* Fix linting
* Fix build on browser
* 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>
Migrate the index.html to use tailwind instead of bootstrap
* Extracted some more global styles to override the bootstrap styles for layout
frontend. We should revisit this when we remove bootstrap.
* Removed Angular specific logo for anon pages. Now uses the same css class as
loading page to prevent duplicated assets.
* 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
* [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
* [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>
* Make keypair setting more robust to prevent vault corruption on set-password component
* Use non-deprecated way to get private key
* Fix build error due to missing service
* update back logic for add/edit component to account for how the user arrived at the add/edit screen
* add tests for handle back
* update comment for cipher saved navigation
* 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
* refactor open-attachments component to push attachments route before opening the popout
* use popupRouterCache for navigating the user back
* use the PopupRouterCache for navigating the user after an attachment
* override firefox extension styles for text alignment
* remove CSS override
* turn off browser specific sidebar styles
- which solves the text-alignment issue in FF
* [deps] Tools: Update electron to v31.4.0
* Bump version in electron-builder.json
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Upgrade storybook to version v8 which is a major upgrade. Storybook provides an
upgrade wizard which did most of the work.
- Ran npx storybook upgrade.
- Manually updated `remark-gfm` since the newer mdx requires v 4.
- Migrated all old stories still using `Story` to `StoryObj`.
* add new premium component
* finish new premium component
* revert change to config service
* hide copy changes behind feature flag
* revert keys back to original
* remove stateService and translation key
* add missing translation key
* add missing key
* [PM-10667] Implement manifest v3 on Firefox and Safari
* [PM-10667] Fixing issues with CORS present in sandboxed iframe on Firefox
* [PM-10667] Updating gulp build process to ensure dist files are created correctly
* [PM-10667] Adding build processes to the Github workflow
* [PM-10667] Removing faulty Safari mv3 build workflow
* [PM-10667] Fixing jest tests
* [PM-10667] Reworking logic within inline menu
* Update apps/browser/webpack.config.js
Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
---------
Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
* [PM-10897] Fixing invalid url reference when creating login ciphers from inline menu
* [PM-10897] Ensuring that a subframe that contains a full set of data for a login cipher is treated as authoritative
* [PM-10796] Fix inline menu setting of scroll class when showing new item button with a list of ciphers
* [PM-10796] Fix inline menu setting of scroll class when showing new item button with a list of ciphers
* reset `maxWidth` attribute during page change
* set default value for `maxWidth` if null or undefined is passed
* implement `maxWidth` for extension implementation of Anon Layout
* refactor params subscription variable names
* refactor param subscription to return a tuple
- this is going to be helpful when multiple params are involved
* navigate the user back to the vault when a new cipher is created
* add unit tests for view-v2 component
* prefer replaceUrl to avoid having to pass a query param
* Fix grammar of mocking comment
* Updated all sets of user key to pass in userId
* Added userId on auth request login.
* Fixed tests.
* Fixed tests to pass in UserId
* Added parameter to tests.
* Addressed PR feedback.
* Merged main
* Fix account switcher on logged out account on startup
* Undo space removal
* Add additional checks for null values
* Fix account switching on timeout on browser
Save the extension popup route history and restore it after closing and re-opening the popup.
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Add additional extension refresh menu behind feature flag.
* Open new cipher dialog with proper cipher type selected.
* Adjust onboarding copy and default to login cipher.
* Update "New item" button styles.
* Add test to ensure onboarding component always calls onAddCipher.emit with the login cipher type.
* Hide onboarding and new item changes behind feature flag
* Fix missing mock in test.
* Remove extensionRefreshEnabled$ and conditional styles from the "add new" button.
* Remove rounding class from menu "new" button.
* add no folders icon to icon library
* add/edit folder contained within a dialog
* add/edit folder dialog contained new item dropdown
* browser refresh folders page component
* swap in v2 folder component for extension refresh
* add copy for all folder related changes
* [PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs
* [PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs
* created guard to clear search text when navigating between tabs
* removed reset filter from from vault list filter component on destroy and move to guard
renamed guard to clear vault state
* Fixed bug on chip select when comparing complex objects
moved compare values function to utils
* Added comment for future reference
* moved compare values to a seperate file
* fixed lint issue
* [deps] Platform: Update angular-cli monorepo to v16.2.14 (#9380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [PM-8789] Move desktop_native into subcrate (#9682)
* Move desktop_native into subcrate
* Add publish = false to crates
* [PM-6394] remove policy evaluator cache (#9807)
* [PM-9364] Copy for Aggregate auto-scaling invoices for Teams and Enterprise customers (#9875)
* Change the seat adjustment message
* Move changes from en_GB file to en file
* revert changes in en_GB file
* Add feature flag to the change
* use user verification as a part of key rotation (#9722)
* Add the ability for custom validation logic to be injected into `UserVerificationDialogComponent` (#8770)
* Introduce `verificationType`
* Update template to use `verificationType`
* Implement a path for `verificationType = 'custom'`
* Delete `clientSideOnlyVerification`
* Update `EnrollMasterPasswordResetComponent` to include a server-side hash check
* Better describe the custom scenerio through comments
* Add an example of the custom verficiation scenerio
* Move execution of verification function into try/catch
* Migrate existing uses of `clientSideOnlyVerification`
* Use generic type option instead of casting
* Change "given" to "determined" in a comment
* Restructure the `org-redirect` guard to be Angular 17+ compliant (#9552)
* Document the `org-redirect` guard in code
* Make assertions about the way the `org-redirect` guard should behave
* Restructure the `org-redirect` guard to be Angular 17+ compliant
* Convert data parameter to function parameter
* Convert a data parameter to a function parameter that was missed
* Pass redirect function to default organization route
* don't initialize kdf with validators, do it on first set (#9754)
* add testids for attachments (#9892)
* Bug fix - error toast in 2fa (#9623)
* Bug fix - error toast in 2fa
* Bug fix - Yubikey code obscured
* 2FA error fix
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* [PM-2858] Fixing icon color
* [PM-2858] Adding subtitle for identity inline menu list items
* [PM-2858] Fixing jest tests
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Scaffolding add new identity logic
* [PM-2858] Implementing add new identity
* [PM-2858] Implementing add new identity
* [PM-2858] Scaffolding add new identity logic
* [PM-2858] Scaffolding add new identity logic
* [PM-2858] Scaffolding add new identity logic
* [PM-2857] Fixing an issue with how we parse the last digits for credit card aria description
* [PM-2857] Setting up logic to ensrue we use a set email address as a fallback for a username
* [PM-2857] Fixing an issue with how we parse the last digits for credit card aria description
* [PM-2858] Reverting forced email address in inline menu identity autofill
* Restructure the `is-paid-org` guard to be Angular 17+ compliant (#9598)
* Document that `is-paid-org` guard in code
* Remove unused `MessagingService` dependency
* Make assertions about the way the is-paid-org guard should behave
* Restructure the `is-paid-org` guard to be Angular 17+ compliant
* Random commit to get the build job moving
* Undo previous commit
* Bumped client version(s) (#9895)
* [PM-9344] Clarify accepted user state (#9861)
* Prefer `Needs confirmation` to `Accepted` display status
This emphasizes that action is still required to complete setup.
* Remove unused message
* Bumped client version(s) (#9906)
* Revert "Bumped client version(s) (#9906)" (#9907)
This reverts commit 78c2829793.
* fix duo subscriptions and org vs individual duo setup (#9859)
* [PM-5024] Migrate tax-info component (#9872)
* Changes for the tax info migration
* Return for invalid formgroup
* Restructure the `org-permissions` guard to be Angular 17+ compliant (#9631)
* Document the `org-permissions` guard in code
* Restructure the `org-permissions` guard to be Angular 17+ compliant
* Update the `org-permissions` guard to use `ToastService`
* Simplify callback function sigantures
* Remove unused test object
* Fix updated route from merge
* Restructure the `provider-permissions` guard to be Angular 17+ compliant (#9609)
* Document the `provider-permissions` guard in code
* Restructure the `provider-permissions` guard to be Angular 17+ compliant
* [deps] Platform: Update @types/argon2-browser to v1.18.4 (#8180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Bumped client version(s) (#9914)
* [PM-7162] Cipher Form - Item Details (#9758)
* [PM-7162] Fix weird angular error regarding disabled component bit-select
* [PM-7162] Introduce CipherFormConfigService and related types
* [PM-7162] Introduce CipherFormService
* [PM-7162] Introduce the Item Details section component and the CipherFormContainer interface
* [PM-7162] Introduce the CipherForm component
* [PM-7162] Add strongly typed QueryParams to the add-edit-v2.component
* [PM-7162] Export CipherForm from Vault Lib
* [PM-7162] Use the CipherForm in Browser AddEditV2
* [PM-7162] Introduce CipherForm storybook
* [PM-7162] Remove VaultPopupListFilterService dependency from NewItemDropDownV2 component
* [PM-7162] Add support for content projection of attachment button
* [PM-7162] Fix typo
* [PM-7162] Cipher form service cleanup
* [PM-7162] Move readonly collection notice to bit-hint
* [PM-7162] Refactor CipherFormConfig type to enforce required properties with Typescript
* [PM-7162] Fix storybook after config changes
* [PM-7162] Use new add-edit component for clone route
* [deps]: Update @yao-pkg/pkg to ^5.12.0 (#9820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Autosync the updated translations (#9922)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9923)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9924)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* [AC-2830] Unable to create a free organization (#9917)
* Resolve the issue free org creation
* Check that the taxForm is touched
* [PM-7162] Fix broken getter when original cipher is null (#9927)
* [PM-8525] Edit Card (#9901)
* initial add of card details section
* add card number
* update card brand when the card number changes
* add year and month fields
* add security code field
* hide number and security code by default
* add `id` for all form fields
* update select options to match existing options
* make year input numerical
* only display card details for card ciphers
* use style to set input height
* handle numerical values for year
* update heading when a brand is available
* remove unused ref
* use cardview types for the form
* fix numerical input type
* disable card details when in partial-edit mode
* remove hardcoded height
* update types for formBuilder
* [PM-9440] Fix: handle undefined value in migration 66 (#9908)
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* Rename "encryptionAlgorithm" to "hashAlgorithmForEncryption" for clarity (#9891)
* [PM-7972] Account switching integration with "remember email" functionality (#9750)
* add account switching logic to login email service
* enforce boolean and fix desktop account switcher order
* [PM-9442] Add tests for undefined state values and proper emulation of ElectronStorageService in tests (#9910)
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* feat: duplicate error behavior in fake storage service
* feat: fix all migrations that were setting undefined values
* feat: add test for disabled fingrint in migration 66
* fix: default single user state saving undefined value to state
* revert: awaiting floating promise
gonna fix this in a separate PR
* Revert "feat: fix all migrations that were setting undefined values"
This reverts commit 034713256c.
* feat: automatically convert save to remove
* Revert "fix: default single user state saving undefined value to state"
This reverts commit 6c36da6ba5.
* [AC-2805] Consolidated Billing UI Updates (#9893)
* Add empty state for invoices
* Make cards on create client dialog tabbable
* Add space in $ / month per member
* Mute text, remove (Monthly) and right align menu on clients table
* Made used seats account for all users and fixed column sort for used/remaining
* Resize pricing cards
* Rename assignedSeats to occupiedSeats
* [PM-9460][deps] Tools: Update electron to v31 (#9921)
* [deps] Tools: Update electron to v31
* Bump version in electron-builder
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [AC-1452] Restrict access to 'Organization Info' and 'Two-Step Login' settings pages with a permission check (#9483)
* Guard Organization Info route - Owners only
* Guard TwoFactor route - Owners only and Organization must be able to use 2FA
* Update guards to use function syntax
---------
Co-authored-by: Addison Beck <hello@addisonbeck.com>
* [PM-9437] Use CollectionAccessDetailsResponse type now that is always the type returned from the API (#9951)
* Add required env variables to desktop native build script (#9869)
* [AC-2676] Remove paging logic from GroupsComponent (#9705)
* remove infinite scroll, use virtual scroll instead
* use TableDataSource for search
* allow sorting by name
* replacing PlatformUtilsService.showToast with ToastService
* misc FIXMEs
* [PM-9441] Catch and log exceptions during migration (#9905)
* feat: catch and log exceptions during migration
* Revert "feat: catch and log exceptions during migration"
This reverts commit d68733b7e5.
* feat: use log service to log migration errors
* Autosync the updated translations (#9972)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9973)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Updated codeowners for new design system team (#9913)
* Updated codeowners for new design system team.
* Moved Angular and Bootstrap dependencies
* Moved additional dependencies.
* Updated ownership
Co-authored-by: Will Martin <contact@willmartian.com>
---------
Co-authored-by: Will Martin <contact@willmartian.com>
* [SM-1016] Fix new access token dialog (#9918)
* swap to bit-dialog title & subtitle
* remove dialogRef.disableClose & use toastService
* Add shared two-factor-options component (#9767)
* Communicate the upcoming client vault privacy changes to MSPs (#9994)
* Add a banner notification to the provider portal
* Feature flag the banner
* Move banner copy to messages.json
* Allow for dismissing the banner
* Auth/PM-7321 - Registration with Email Verification - Registration Finish Component Implementation (#9653)
* PM-7321 - Temp add input password
* PM-7321 - update input password based on latest PR changes to test.
* PM-7321 - Progress on testing input password component + RegistrationFinishComponent checks
* PM-7321 - more progress on registration finish.
* PM-7321 - Wire up RegistrationFinishRequest model + AccountApiService abstraction + implementation changes for new method.
* PM-7321 - WIP Registration Finish - wiring up request building and API call on submit.
* PM-7321 - WIP registratin finish
* PM-7321 - WIP on creating registration-finish service + web override to add org invite handling
* PM-7321 - (1) Move web-registration-finish svc to web (2) Wire up exports (3) wire up RegistrationFinishComponent to call registration finish service
* PM-7321 - Get CLI building
* PM-7321 - Move all finish registration service and content to registration-finish feature folder.
* PM-7321 - Fix RegistrationFinishService config
* PM-7321 - RegistrationFinishComponent- handlePasswordFormSubmit - error handling WIP
* PM-7321 - InputPasswordComp - Update to accept masterPasswordPolicyOptions as input instead of retrieving it as parent components in different scenarios will need to retrieve the policies differently (e.g., orgInvite token in registration vs direct call via org id post SSO on set password)
* PM-7321 - Registration Finish - Add web specific logic for retrieving master password policies and passing them into the input password component.
* PM-7321 - Registration Start - Send email via query param to registration finish page so it can create masterKey
* PM-7321 - InputPassword comp - (1) Add loading input (2) Add email validation to submit logic.
* PM-7321 - Registration Finish - Add submitting state and pass into input password so that the rest of the registration process keeps the child form disabled.
* PM-7321 - Registration Finish - use validation service for error handling.
* PM-7321 - All register routes must be dynamic and change if the feature flag changes.
* PM-7321 - Test registration finish services.
* PM-7321 - RegisterRouteService - Add comment documenting why the service exists.
* PM-7321 - Add missing input password translations to browser & desktop
* PM-7321 - WebRegistrationFinishSvc - apply PR feedback
* [deps] Autofill: Update rimraf to v5.0.8 (#10008)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [PM-9318] Fix username on protonpass import (#9889)
* Fix username field used for ProtonPass import
ProtonPass has changed their export format and userName is not itemEmail
* Import additional field itemUsername
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-8943] Update QRious script initialization in Authenticator two-factor provider (#9926)
* create onload() for qrious as well as error messaging if QR code cannot be displayed
* button and message updates and formpromise removal
* load QR script async
* rename and reorder methods
* Delete Unused Bits of StateService (#9858)
* Delete Unused Bits of StateService
* Fix Tests
* remove getBgService for auth request service (#10020)
* [PM-2858] Fixing an issue found when the first or last names of an identity are not filled
* [PM-2858] Fixing an issue found where keyboard navigation can potentially close the inline menu
* [PM-2858] Fixing jest tests within inline menu list
* [PM-2858] Fixing jest tests within inline menu list
* [PM-2858] Setting up login items to be presented when an account creation form is shown to the user
* [PM-2858] Refactoring implementation used for creating the inline menu cipher data
* [PM-2858] Refactoring implementation used for creating the inline menu cipher data
* [PM-2858] Refactoring implementation used for creating the inline menu cipher data
* [PM-2858] Refactoring implementation
* [PM-2858] Refactoring implementation
* [PM-2858] Refactoring implementation
* [PM-2858] Refactoring implementation
* [PM-2858] Changing how we populate login ciphers within create account
* [PM-2858] Adding documentation
* [PM-2858] Working through jest tests for the OverlayBackground
* [PM-2858] Working through jest tests for the OverlayBackground
* [PM-2858] Working through jest tests for the AutofillInlineMenuList class
* [PM-2858] Adding documentation to inline menu list methods
* [PM-2857] Fixing a jest test
* [PM-2858] Fixing jest tests within inline menu list
* [PM-2858] Addressing jest tests within AutofillOverlayContentService
* [PM-2858] Addressing jest tests within AutofillOverlayContentService
* [PM-2858] Addressing jest tests within InlineMenuFieldQualificationService
* [PM-9267] Implement feature flag for inline menu re-architecture (#9845)
* [PM-9267] Implement Feature Flag for Inline Menu Re-Architecture
* [PM-9267] Incorporating legacy OverlayBackground implementation
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Adjusting naming convention for page files
* [PM-9267] Adjusting naming convention for page files
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* PM-4950 - Fix hint and verify delete components that had the data in the wrong place (#9877)
* PM-4661: Add passkey.username as item.username (#9756)
* Add incoming passkey.username as item.username
* Driveby fix, was sending wrong username
* added username to new-cipher too
* Guarded the if-block
* Update apps/browser/src/vault/popup/components/vault/add-edit.component.ts
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Fixed broken test
* fixed username on existing ciphers
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* PM-4878: Add passkey information to items when signing in (#9835)
* Added username to subtitle
* Added subName to cipher
* Moved subName to component
* Update apps/browser/src/vault/popup/components/fido2/fido2-cipher-row.component.ts
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
* Fixed double code and added comment
* Added changeDetection: ChangeDetectionStrategy.OnPush as per review
---------
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
* [AC-2791] Members page - finish component library refactors (#9727)
* Replace PlatformUtilsService with ToastService
* Remove unneeded templates
* Implement table filtering function
* Move member-only methods from base class to subclass
* Move utility functions inside new MemberTableDataSource
* Rename PeopleComponent to MembersComponent
* [deps] Platform: Update angular-cli monorepo to v16.2.14 (#9380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [PM-8789] Move desktop_native into subcrate (#9682)
* Move desktop_native into subcrate
* Add publish = false to crates
* [PM-6394] remove policy evaluator cache (#9807)
* [PM-9364] Copy for Aggregate auto-scaling invoices for Teams and Enterprise customers (#9875)
* Change the seat adjustment message
* Move changes from en_GB file to en file
* revert changes in en_GB file
* Add feature flag to the change
* use user verification as a part of key rotation (#9722)
* Add the ability for custom validation logic to be injected into `UserVerificationDialogComponent` (#8770)
* Introduce `verificationType`
* Update template to use `verificationType`
* Implement a path for `verificationType = 'custom'`
* Delete `clientSideOnlyVerification`
* Update `EnrollMasterPasswordResetComponent` to include a server-side hash check
* Better describe the custom scenerio through comments
* Add an example of the custom verficiation scenerio
* Move execution of verification function into try/catch
* Migrate existing uses of `clientSideOnlyVerification`
* Use generic type option instead of casting
* Change "given" to "determined" in a comment
* Restructure the `org-redirect` guard to be Angular 17+ compliant (#9552)
* Document the `org-redirect` guard in code
* Make assertions about the way the `org-redirect` guard should behave
* Restructure the `org-redirect` guard to be Angular 17+ compliant
* Convert data parameter to function parameter
* Convert a data parameter to a function parameter that was missed
* Pass redirect function to default organization route
* don't initialize kdf with validators, do it on first set (#9754)
* add testids for attachments (#9892)
* Bug fix - error toast in 2fa (#9623)
* Bug fix - error toast in 2fa
* Bug fix - Yubikey code obscured
* 2FA error fix
* Restructure the `is-paid-org` guard to be Angular 17+ compliant (#9598)
* Document that `is-paid-org` guard in code
* Remove unused `MessagingService` dependency
* Make assertions about the way the is-paid-org guard should behave
* Restructure the `is-paid-org` guard to be Angular 17+ compliant
* Random commit to get the build job moving
* Undo previous commit
* Bumped client version(s) (#9895)
* [PM-9344] Clarify accepted user state (#9861)
* Prefer `Needs confirmation` to `Accepted` display status
This emphasizes that action is still required to complete setup.
* Remove unused message
* Bumped client version(s) (#9906)
* Revert "Bumped client version(s) (#9906)" (#9907)
This reverts commit 78c2829793.
* fix duo subscriptions and org vs individual duo setup (#9859)
* [PM-5024] Migrate tax-info component (#9872)
* Changes for the tax info migration
* Return for invalid formgroup
* Restructure the `org-permissions` guard to be Angular 17+ compliant (#9631)
* Document the `org-permissions` guard in code
* Restructure the `org-permissions` guard to be Angular 17+ compliant
* Update the `org-permissions` guard to use `ToastService`
* Simplify callback function sigantures
* Remove unused test object
* Fix updated route from merge
* Restructure the `provider-permissions` guard to be Angular 17+ compliant (#9609)
* Document the `provider-permissions` guard in code
* Restructure the `provider-permissions` guard to be Angular 17+ compliant
* [deps] Platform: Update @types/argon2-browser to v1.18.4 (#8180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Bumped client version(s) (#9914)
* [PM-7162] Cipher Form - Item Details (#9758)
* [PM-7162] Fix weird angular error regarding disabled component bit-select
* [PM-7162] Introduce CipherFormConfigService and related types
* [PM-7162] Introduce CipherFormService
* [PM-7162] Introduce the Item Details section component and the CipherFormContainer interface
* [PM-7162] Introduce the CipherForm component
* [PM-7162] Add strongly typed QueryParams to the add-edit-v2.component
* [PM-7162] Export CipherForm from Vault Lib
* [PM-7162] Use the CipherForm in Browser AddEditV2
* [PM-7162] Introduce CipherForm storybook
* [PM-7162] Remove VaultPopupListFilterService dependency from NewItemDropDownV2 component
* [PM-7162] Add support for content projection of attachment button
* [PM-7162] Fix typo
* [PM-7162] Cipher form service cleanup
* [PM-7162] Move readonly collection notice to bit-hint
* [PM-7162] Refactor CipherFormConfig type to enforce required properties with Typescript
* [PM-7162] Fix storybook after config changes
* [PM-7162] Use new add-edit component for clone route
* [deps]: Update @yao-pkg/pkg to ^5.12.0 (#9820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Autosync the updated translations (#9922)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9923)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9924)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* [AC-2830] Unable to create a free organization (#9917)
* Resolve the issue free org creation
* Check that the taxForm is touched
* [PM-7162] Fix broken getter when original cipher is null (#9927)
* [PM-8525] Edit Card (#9901)
* initial add of card details section
* add card number
* update card brand when the card number changes
* add year and month fields
* add security code field
* hide number and security code by default
* add `id` for all form fields
* update select options to match existing options
* make year input numerical
* only display card details for card ciphers
* use style to set input height
* handle numerical values for year
* update heading when a brand is available
* remove unused ref
* use cardview types for the form
* fix numerical input type
* disable card details when in partial-edit mode
* remove hardcoded height
* update types for formBuilder
* [PM-9440] Fix: handle undefined value in migration 66 (#9908)
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* Rename "encryptionAlgorithm" to "hashAlgorithmForEncryption" for clarity (#9891)
* [PM-7972] Account switching integration with "remember email" functionality (#9750)
* add account switching logic to login email service
* enforce boolean and fix desktop account switcher order
* [PM-9442] Add tests for undefined state values and proper emulation of ElectronStorageService in tests (#9910)
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* feat: duplicate error behavior in fake storage service
* feat: fix all migrations that were setting undefined values
* feat: add test for disabled fingrint in migration 66
* fix: default single user state saving undefined value to state
* revert: awaiting floating promise
gonna fix this in a separate PR
* Revert "feat: fix all migrations that were setting undefined values"
This reverts commit 034713256c.
* feat: automatically convert save to remove
* Revert "fix: default single user state saving undefined value to state"
This reverts commit 6c36da6ba5.
* [AC-2805] Consolidated Billing UI Updates (#9893)
* Add empty state for invoices
* Make cards on create client dialog tabbable
* Add space in $ / month per member
* Mute text, remove (Monthly) and right align menu on clients table
* Made used seats account for all users and fixed column sort for used/remaining
* Resize pricing cards
* Rename assignedSeats to occupiedSeats
* [PM-9460][deps] Tools: Update electron to v31 (#9921)
* [deps] Tools: Update electron to v31
* Bump version in electron-builder
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [AC-1452] Restrict access to 'Organization Info' and 'Two-Step Login' settings pages with a permission check (#9483)
* Guard Organization Info route - Owners only
* Guard TwoFactor route - Owners only and Organization must be able to use 2FA
* Update guards to use function syntax
---------
Co-authored-by: Addison Beck <hello@addisonbeck.com>
* [PM-9437] Use CollectionAccessDetailsResponse type now that is always the type returned from the API (#9951)
* Add required env variables to desktop native build script (#9869)
* [AC-2676] Remove paging logic from GroupsComponent (#9705)
* remove infinite scroll, use virtual scroll instead
* use TableDataSource for search
* allow sorting by name
* replacing PlatformUtilsService.showToast with ToastService
* misc FIXMEs
* [PM-9441] Catch and log exceptions during migration (#9905)
* feat: catch and log exceptions during migration
* Revert "feat: catch and log exceptions during migration"
This reverts commit d68733b7e5.
* feat: use log service to log migration errors
* Autosync the updated translations (#9972)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9973)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Updated codeowners for new design system team (#9913)
* Updated codeowners for new design system team.
* Moved Angular and Bootstrap dependencies
* Moved additional dependencies.
* Updated ownership
Co-authored-by: Will Martin <contact@willmartian.com>
---------
Co-authored-by: Will Martin <contact@willmartian.com>
* [SM-1016] Fix new access token dialog (#9918)
* swap to bit-dialog title & subtitle
* remove dialogRef.disableClose & use toastService
* Add shared two-factor-options component (#9767)
* Communicate the upcoming client vault privacy changes to MSPs (#9994)
* Add a banner notification to the provider portal
* Feature flag the banner
* Move banner copy to messages.json
* Allow for dismissing the banner
* Auth/PM-7321 - Registration with Email Verification - Registration Finish Component Implementation (#9653)
* PM-7321 - Temp add input password
* PM-7321 - update input password based on latest PR changes to test.
* PM-7321 - Progress on testing input password component + RegistrationFinishComponent checks
* PM-7321 - more progress on registration finish.
* PM-7321 - Wire up RegistrationFinishRequest model + AccountApiService abstraction + implementation changes for new method.
* PM-7321 - WIP Registration Finish - wiring up request building and API call on submit.
* PM-7321 - WIP registratin finish
* PM-7321 - WIP on creating registration-finish service + web override to add org invite handling
* PM-7321 - (1) Move web-registration-finish svc to web (2) Wire up exports (3) wire up RegistrationFinishComponent to call registration finish service
* PM-7321 - Get CLI building
* PM-7321 - Move all finish registration service and content to registration-finish feature folder.
* PM-7321 - Fix RegistrationFinishService config
* PM-7321 - RegistrationFinishComponent- handlePasswordFormSubmit - error handling WIP
* PM-7321 - InputPasswordComp - Update to accept masterPasswordPolicyOptions as input instead of retrieving it as parent components in different scenarios will need to retrieve the policies differently (e.g., orgInvite token in registration vs direct call via org id post SSO on set password)
* PM-7321 - Registration Finish - Add web specific logic for retrieving master password policies and passing them into the input password component.
* PM-7321 - Registration Start - Send email via query param to registration finish page so it can create masterKey
* PM-7321 - InputPassword comp - (1) Add loading input (2) Add email validation to submit logic.
* PM-7321 - Registration Finish - Add submitting state and pass into input password so that the rest of the registration process keeps the child form disabled.
* PM-7321 - Registration Finish - use validation service for error handling.
* PM-7321 - All register routes must be dynamic and change if the feature flag changes.
* PM-7321 - Test registration finish services.
* PM-7321 - RegisterRouteService - Add comment documenting why the service exists.
* PM-7321 - Add missing input password translations to browser & desktop
* PM-7321 - WebRegistrationFinishSvc - apply PR feedback
* [deps] Autofill: Update rimraf to v5.0.8 (#10008)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [PM-9318] Fix username on protonpass import (#9889)
* Fix username field used for ProtonPass import
ProtonPass has changed their export format and userName is not itemEmail
* Import additional field itemUsername
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-8943] Update QRious script initialization in Authenticator two-factor provider (#9926)
* create onload() for qrious as well as error messaging if QR code cannot be displayed
* button and message updates and formpromise removal
* load QR script async
* rename and reorder methods
* Delete Unused Bits of StateService (#9858)
* Delete Unused Bits of StateService
* Fix Tests
* remove getBgService for auth request service (#10020)
---------
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Anders Åberg <anders@andersaberg.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com>
Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: vinith-kovan <156108204+vinith-kovan@users.noreply.github.com>
Co-authored-by: Bitwarden DevOps <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com>
Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Co-authored-by: Addison Beck <hello@addisonbeck.com>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
* [PM-1223] Passkeys Mediated Conditional UI
* [PM-1223] Passkeys Mediated Conditional UI
* [PM-1223] Finished migrating existing POC solution
* [PM-1223] Setting up passkeys to appear before login ciphers
* [PM-6471] Implement on-page autofill menu for passkeys
* [PM-6471] Working through visual presentation of passkeys within inline menu
* [PM-6471] Implementing visual and behavior differences between inline menu passkeys and regular login elements
* [PM-6471] Adding a11y content within inline menu list elements
* [PM-6471] Fixing issue with SVG path fill on new passkey icon
* [PM-6471] Working through scroll event triggers
* [PM-6471] Refactoring onScroll implementation
* [PM-6471] Adding a methodology for allow users to cancel a conditional UI workflow, but still be able to re-trigger the passkey fill
* [PM-2858] Fixing an issue found where password fields addedin new account forms do not properly pull their value into the add cipher flow
* [PM-6471] Implementing a methodology for exlusively displaying credentials that are authorized within the fido2 request
* [PM-6471] Adding the webAuthn autocomplete value to the field qualification service
* [PM-6471] Fixing issues within OverlayBackground jest tests
* [PM-6471] Fixing issues within AutofillInlineMenuList jest tests
* [PM-6471] Adding jest tests for the OverlayBackground
* [PM-6471] Adding jest tests for the OverlayBackground
* [PM-6471] Adding jest tests for the OverlayBackground
* [PM-6471] Re-adding an optimization to the inline menu list
* [PM-6471] Refactoring implementation, optimizing scroll behavior within the inline menu, and adding a method for ensureing passkeys get set as the most recently used cipher when fill occurs
* [PM-6471] Refactoring implementation, optimizing scroll behavior within the inline menu, and adding a method for ensureing passkeys get set as the most recently used cipher when fill occurs
* [PM-6471] Refactoring how we identify a cipher as a passkey cipher
* [PM-6471] Reworking implementation to loop mediated conditional request until a valid value is returned rather than re-calling navigator API
* [PM-6471] Adding jest tests for the inline menu list logic
* [PM-6471] Adding jest tests for the inline menu list logic
* [PM-6471] Adding jest tests for conditional mediated webauthn request
* [PM-6471] Removing unnecessary comment
* [PM-6471] Adding jest tests for incorporated Fido2ClientService changes
* [PM-6471] Adding jest tests to the Fido2AuthenticatorService changes
* [PM-6471] Adding jest tests for the Fido2ActiveRequestManager class
* [PM-6471] Fixing issue with master password reprompt not triggering for cipher when user verification is discouraged
* [PM-2858] Adjusting scrollbar stylings
* [PM-2858] Adjusting how we handle instantiating the feature flag guarded overlay background and how we handle instantiating identities and card ciphers in the inline menu
* [PM-2858] Adjusting how we handle instantiating the feature flag guarded overlay background and how we handle instantiating identities and card ciphers in the inline menu
* [PM-2858] Adjusting how we handle instantiating the feature flag guarded overlay background and how we handle instantiating identities and card ciphers in the inline menu
* [PM-2858] Incorporating some changes that ensure the inline menu list fades in as expected
* [PM-2858] Incorporating some changes that ensure the inline menu list fades in as expected
* [PM-2858] Incorporating some changes that ensure the inline menu list fades in as expected
* [PM-2858] Adjusting how we inject translations for a couple of aria label elements
* [PM-6471] Merging changes from identities branch
* [PM-6471] Fixing an issue relating to a current tab reference
* [PM-6471] Fixing an issue relating to a current tab reference
* [PM-6471] Optimizing conditional logic for OverlayBackground.showCipherAsPasskey
* [PM-6471] Refactoring implementation
* [PM-6471] Refactoring implementation
* [PM-6471] Adding coverage for cases where a mediated conditional request is aborted
* [PM-6471] Fixing typechecking error
* [PM-6471] Moving webauthn-specific files from Vault ownership to autofill and cleaning up some nits from codereview
* [PM-10706] URL exclusions should ensure passkeys within inline menu are not present
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com>
Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: vinith-kovan <156108204+vinith-kovan@users.noreply.github.com>
Co-authored-by: Bitwarden DevOps <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com>
Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Co-authored-by: Addison Beck <hello@addisonbeck.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: Anders Åberg <anders@andersaberg.com>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
* PM-4661: Add passkey.username as item.username (#9756)
* Add incoming passkey.username as item.username
* Driveby fix, was sending wrong username
* added username to new-cipher too
* Guarded the if-block
* Update apps/browser/src/vault/popup/components/vault/add-edit.component.ts
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Fixed broken test
* fixed username on existing ciphers
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* PM-4878: Add passkey information to items when signing in (#9835)
* Added username to subtitle
* Added subName to cipher
* Moved subName to component
* Update apps/browser/src/vault/popup/components/fido2/fido2-cipher-row.component.ts
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
* Fixed double code and added comment
* Added changeDetection: ChangeDetectionStrategy.OnPush as per review
---------
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
* [AC-2791] Members page - finish component library refactors (#9727)
* Replace PlatformUtilsService with ToastService
* Remove unneeded templates
* Implement table filtering function
* Move member-only methods from base class to subclass
* Move utility functions inside new MemberTableDataSource
* Rename PeopleComponent to MembersComponent
* [deps] Platform: Update angular-cli monorepo to v16.2.14 (#9380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [PM-8789] Move desktop_native into subcrate (#9682)
* Move desktop_native into subcrate
* Add publish = false to crates
* [PM-6394] remove policy evaluator cache (#9807)
* [PM-9364] Copy for Aggregate auto-scaling invoices for Teams and Enterprise customers (#9875)
* Change the seat adjustment message
* Move changes from en_GB file to en file
* revert changes in en_GB file
* Add feature flag to the change
* use user verification as a part of key rotation (#9722)
* Add the ability for custom validation logic to be injected into `UserVerificationDialogComponent` (#8770)
* Introduce `verificationType`
* Update template to use `verificationType`
* Implement a path for `verificationType = 'custom'`
* Delete `clientSideOnlyVerification`
* Update `EnrollMasterPasswordResetComponent` to include a server-side hash check
* Better describe the custom scenerio through comments
* Add an example of the custom verficiation scenerio
* Move execution of verification function into try/catch
* Migrate existing uses of `clientSideOnlyVerification`
* Use generic type option instead of casting
* Change "given" to "determined" in a comment
* Restructure the `org-redirect` guard to be Angular 17+ compliant (#9552)
* Document the `org-redirect` guard in code
* Make assertions about the way the `org-redirect` guard should behave
* Restructure the `org-redirect` guard to be Angular 17+ compliant
* Convert data parameter to function parameter
* Convert a data parameter to a function parameter that was missed
* Pass redirect function to default organization route
* don't initialize kdf with validators, do it on first set (#9754)
* add testids for attachments (#9892)
* Bug fix - error toast in 2fa (#9623)
* Bug fix - error toast in 2fa
* Bug fix - Yubikey code obscured
* 2FA error fix
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* [PM-2858] Fixing icon color
* [PM-2858] Adding subtitle for identity inline menu list items
* [PM-2858] Fixing jest tests
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Scaffolding add new identity logic
* [PM-2858] Implementing add new identity
* [PM-2858] Implementing add new identity
* [PM-2858] Scaffolding add new identity logic
* [PM-2858] Scaffolding add new identity logic
* [PM-2858] Scaffolding add new identity logic
* [PM-2857] Fixing an issue with how we parse the last digits for credit card aria description
* [PM-2857] Setting up logic to ensrue we use a set email address as a fallback for a username
* [PM-2857] Fixing an issue with how we parse the last digits for credit card aria description
* [PM-2858] Reverting forced email address in inline menu identity autofill
* Restructure the `is-paid-org` guard to be Angular 17+ compliant (#9598)
* Document that `is-paid-org` guard in code
* Remove unused `MessagingService` dependency
* Make assertions about the way the is-paid-org guard should behave
* Restructure the `is-paid-org` guard to be Angular 17+ compliant
* Random commit to get the build job moving
* Undo previous commit
* Bumped client version(s) (#9895)
* [PM-9344] Clarify accepted user state (#9861)
* Prefer `Needs confirmation` to `Accepted` display status
This emphasizes that action is still required to complete setup.
* Remove unused message
* Bumped client version(s) (#9906)
* Revert "Bumped client version(s) (#9906)" (#9907)
This reverts commit 78c2829793.
* fix duo subscriptions and org vs individual duo setup (#9859)
* [PM-5024] Migrate tax-info component (#9872)
* Changes for the tax info migration
* Return for invalid formgroup
* Restructure the `org-permissions` guard to be Angular 17+ compliant (#9631)
* Document the `org-permissions` guard in code
* Restructure the `org-permissions` guard to be Angular 17+ compliant
* Update the `org-permissions` guard to use `ToastService`
* Simplify callback function sigantures
* Remove unused test object
* Fix updated route from merge
* Restructure the `provider-permissions` guard to be Angular 17+ compliant (#9609)
* Document the `provider-permissions` guard in code
* Restructure the `provider-permissions` guard to be Angular 17+ compliant
* [deps] Platform: Update @types/argon2-browser to v1.18.4 (#8180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Bumped client version(s) (#9914)
* [PM-7162] Cipher Form - Item Details (#9758)
* [PM-7162] Fix weird angular error regarding disabled component bit-select
* [PM-7162] Introduce CipherFormConfigService and related types
* [PM-7162] Introduce CipherFormService
* [PM-7162] Introduce the Item Details section component and the CipherFormContainer interface
* [PM-7162] Introduce the CipherForm component
* [PM-7162] Add strongly typed QueryParams to the add-edit-v2.component
* [PM-7162] Export CipherForm from Vault Lib
* [PM-7162] Use the CipherForm in Browser AddEditV2
* [PM-7162] Introduce CipherForm storybook
* [PM-7162] Remove VaultPopupListFilterService dependency from NewItemDropDownV2 component
* [PM-7162] Add support for content projection of attachment button
* [PM-7162] Fix typo
* [PM-7162] Cipher form service cleanup
* [PM-7162] Move readonly collection notice to bit-hint
* [PM-7162] Refactor CipherFormConfig type to enforce required properties with Typescript
* [PM-7162] Fix storybook after config changes
* [PM-7162] Use new add-edit component for clone route
* [deps]: Update @yao-pkg/pkg to ^5.12.0 (#9820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Autosync the updated translations (#9922)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9923)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9924)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* [AC-2830] Unable to create a free organization (#9917)
* Resolve the issue free org creation
* Check that the taxForm is touched
* [PM-7162] Fix broken getter when original cipher is null (#9927)
* [PM-8525] Edit Card (#9901)
* initial add of card details section
* add card number
* update card brand when the card number changes
* add year and month fields
* add security code field
* hide number and security code by default
* add `id` for all form fields
* update select options to match existing options
* make year input numerical
* only display card details for card ciphers
* use style to set input height
* handle numerical values for year
* update heading when a brand is available
* remove unused ref
* use cardview types for the form
* fix numerical input type
* disable card details when in partial-edit mode
* remove hardcoded height
* update types for formBuilder
* [PM-9440] Fix: handle undefined value in migration 66 (#9908)
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* Rename "encryptionAlgorithm" to "hashAlgorithmForEncryption" for clarity (#9891)
* [PM-7972] Account switching integration with "remember email" functionality (#9750)
* add account switching logic to login email service
* enforce boolean and fix desktop account switcher order
* [PM-9442] Add tests for undefined state values and proper emulation of ElectronStorageService in tests (#9910)
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* feat: duplicate error behavior in fake storage service
* feat: fix all migrations that were setting undefined values
* feat: add test for disabled fingrint in migration 66
* fix: default single user state saving undefined value to state
* revert: awaiting floating promise
gonna fix this in a separate PR
* Revert "feat: fix all migrations that were setting undefined values"
This reverts commit 034713256c.
* feat: automatically convert save to remove
* Revert "fix: default single user state saving undefined value to state"
This reverts commit 6c36da6ba5.
* [AC-2805] Consolidated Billing UI Updates (#9893)
* Add empty state for invoices
* Make cards on create client dialog tabbable
* Add space in $ / month per member
* Mute text, remove (Monthly) and right align menu on clients table
* Made used seats account for all users and fixed column sort for used/remaining
* Resize pricing cards
* Rename assignedSeats to occupiedSeats
* [PM-9460][deps] Tools: Update electron to v31 (#9921)
* [deps] Tools: Update electron to v31
* Bump version in electron-builder
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [AC-1452] Restrict access to 'Organization Info' and 'Two-Step Login' settings pages with a permission check (#9483)
* Guard Organization Info route - Owners only
* Guard TwoFactor route - Owners only and Organization must be able to use 2FA
* Update guards to use function syntax
---------
Co-authored-by: Addison Beck <hello@addisonbeck.com>
* [PM-9437] Use CollectionAccessDetailsResponse type now that is always the type returned from the API (#9951)
* Add required env variables to desktop native build script (#9869)
* [AC-2676] Remove paging logic from GroupsComponent (#9705)
* remove infinite scroll, use virtual scroll instead
* use TableDataSource for search
* allow sorting by name
* replacing PlatformUtilsService.showToast with ToastService
* misc FIXMEs
* [PM-9441] Catch and log exceptions during migration (#9905)
* feat: catch and log exceptions during migration
* Revert "feat: catch and log exceptions during migration"
This reverts commit d68733b7e5.
* feat: use log service to log migration errors
* Autosync the updated translations (#9972)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9973)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Updated codeowners for new design system team (#9913)
* Updated codeowners for new design system team.
* Moved Angular and Bootstrap dependencies
* Moved additional dependencies.
* Updated ownership
Co-authored-by: Will Martin <contact@willmartian.com>
---------
Co-authored-by: Will Martin <contact@willmartian.com>
* [SM-1016] Fix new access token dialog (#9918)
* swap to bit-dialog title & subtitle
* remove dialogRef.disableClose & use toastService
* Add shared two-factor-options component (#9767)
* Communicate the upcoming client vault privacy changes to MSPs (#9994)
* Add a banner notification to the provider portal
* Feature flag the banner
* Move banner copy to messages.json
* Allow for dismissing the banner
* Auth/PM-7321 - Registration with Email Verification - Registration Finish Component Implementation (#9653)
* PM-7321 - Temp add input password
* PM-7321 - update input password based on latest PR changes to test.
* PM-7321 - Progress on testing input password component + RegistrationFinishComponent checks
* PM-7321 - more progress on registration finish.
* PM-7321 - Wire up RegistrationFinishRequest model + AccountApiService abstraction + implementation changes for new method.
* PM-7321 - WIP Registration Finish - wiring up request building and API call on submit.
* PM-7321 - WIP registratin finish
* PM-7321 - WIP on creating registration-finish service + web override to add org invite handling
* PM-7321 - (1) Move web-registration-finish svc to web (2) Wire up exports (3) wire up RegistrationFinishComponent to call registration finish service
* PM-7321 - Get CLI building
* PM-7321 - Move all finish registration service and content to registration-finish feature folder.
* PM-7321 - Fix RegistrationFinishService config
* PM-7321 - RegistrationFinishComponent- handlePasswordFormSubmit - error handling WIP
* PM-7321 - InputPasswordComp - Update to accept masterPasswordPolicyOptions as input instead of retrieving it as parent components in different scenarios will need to retrieve the policies differently (e.g., orgInvite token in registration vs direct call via org id post SSO on set password)
* PM-7321 - Registration Finish - Add web specific logic for retrieving master password policies and passing them into the input password component.
* PM-7321 - Registration Start - Send email via query param to registration finish page so it can create masterKey
* PM-7321 - InputPassword comp - (1) Add loading input (2) Add email validation to submit logic.
* PM-7321 - Registration Finish - Add submitting state and pass into input password so that the rest of the registration process keeps the child form disabled.
* PM-7321 - Registration Finish - use validation service for error handling.
* PM-7321 - All register routes must be dynamic and change if the feature flag changes.
* PM-7321 - Test registration finish services.
* PM-7321 - RegisterRouteService - Add comment documenting why the service exists.
* PM-7321 - Add missing input password translations to browser & desktop
* PM-7321 - WebRegistrationFinishSvc - apply PR feedback
* [deps] Autofill: Update rimraf to v5.0.8 (#10008)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [PM-9318] Fix username on protonpass import (#9889)
* Fix username field used for ProtonPass import
ProtonPass has changed their export format and userName is not itemEmail
* Import additional field itemUsername
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-8943] Update QRious script initialization in Authenticator two-factor provider (#9926)
* create onload() for qrious as well as error messaging if QR code cannot be displayed
* button and message updates and formpromise removal
* load QR script async
* rename and reorder methods
* Delete Unused Bits of StateService (#9858)
* Delete Unused Bits of StateService
* Fix Tests
* remove getBgService for auth request service (#10020)
* [PM-2858] Fixing an issue found when the first or last names of an identity are not filled
* [PM-2858] Fixing an issue found where keyboard navigation can potentially close the inline menu
* [PM-2858] Fixing jest tests within inline menu list
* [PM-2858] Fixing jest tests within inline menu list
* [PM-2858] Setting up login items to be presented when an account creation form is shown to the user
* [PM-2858] Refactoring implementation used for creating the inline menu cipher data
* [PM-2858] Refactoring implementation used for creating the inline menu cipher data
* [PM-2858] Refactoring implementation used for creating the inline menu cipher data
* [PM-2858] Refactoring implementation
* [PM-2858] Refactoring implementation
* [PM-2858] Refactoring implementation
* [PM-2858] Refactoring implementation
* [PM-2858] Changing how we populate login ciphers within create account
* [PM-2858] Adding documentation
* [PM-2858] Working through jest tests for the OverlayBackground
* [PM-2858] Working through jest tests for the OverlayBackground
* [PM-2858] Working through jest tests for the AutofillInlineMenuList class
* [PM-2858] Adding documentation to inline menu list methods
* [PM-2857] Fixing a jest test
* [PM-2858] Fixing jest tests within inline menu list
* [PM-2858] Addressing jest tests within AutofillOverlayContentService
* [PM-2858] Addressing jest tests within AutofillOverlayContentService
* [PM-2858] Addressing jest tests within InlineMenuFieldQualificationService
* [PM-9267] Implement feature flag for inline menu re-architecture (#9845)
* [PM-9267] Implement Feature Flag for Inline Menu Re-Architecture
* [PM-9267] Incorporating legacy OverlayBackground implementation
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Adjusting naming convention for page files
* [PM-9267] Adjusting naming convention for page files
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* PM-4950 - Fix hint and verify delete components that had the data in the wrong place (#9877)
* PM-4661: Add passkey.username as item.username (#9756)
* Add incoming passkey.username as item.username
* Driveby fix, was sending wrong username
* added username to new-cipher too
* Guarded the if-block
* Update apps/browser/src/vault/popup/components/vault/add-edit.component.ts
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Fixed broken test
* fixed username on existing ciphers
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* PM-4878: Add passkey information to items when signing in (#9835)
* Added username to subtitle
* Added subName to cipher
* Moved subName to component
* Update apps/browser/src/vault/popup/components/fido2/fido2-cipher-row.component.ts
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
* Fixed double code and added comment
* Added changeDetection: ChangeDetectionStrategy.OnPush as per review
---------
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
* [AC-2791] Members page - finish component library refactors (#9727)
* Replace PlatformUtilsService with ToastService
* Remove unneeded templates
* Implement table filtering function
* Move member-only methods from base class to subclass
* Move utility functions inside new MemberTableDataSource
* Rename PeopleComponent to MembersComponent
* [deps] Platform: Update angular-cli monorepo to v16.2.14 (#9380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [PM-8789] Move desktop_native into subcrate (#9682)
* Move desktop_native into subcrate
* Add publish = false to crates
* [PM-6394] remove policy evaluator cache (#9807)
* [PM-9364] Copy for Aggregate auto-scaling invoices for Teams and Enterprise customers (#9875)
* Change the seat adjustment message
* Move changes from en_GB file to en file
* revert changes in en_GB file
* Add feature flag to the change
* use user verification as a part of key rotation (#9722)
* Add the ability for custom validation logic to be injected into `UserVerificationDialogComponent` (#8770)
* Introduce `verificationType`
* Update template to use `verificationType`
* Implement a path for `verificationType = 'custom'`
* Delete `clientSideOnlyVerification`
* Update `EnrollMasterPasswordResetComponent` to include a server-side hash check
* Better describe the custom scenerio through comments
* Add an example of the custom verficiation scenerio
* Move execution of verification function into try/catch
* Migrate existing uses of `clientSideOnlyVerification`
* Use generic type option instead of casting
* Change "given" to "determined" in a comment
* Restructure the `org-redirect` guard to be Angular 17+ compliant (#9552)
* Document the `org-redirect` guard in code
* Make assertions about the way the `org-redirect` guard should behave
* Restructure the `org-redirect` guard to be Angular 17+ compliant
* Convert data parameter to function parameter
* Convert a data parameter to a function parameter that was missed
* Pass redirect function to default organization route
* don't initialize kdf with validators, do it on first set (#9754)
* add testids for attachments (#9892)
* Bug fix - error toast in 2fa (#9623)
* Bug fix - error toast in 2fa
* Bug fix - Yubikey code obscured
* 2FA error fix
* Restructure the `is-paid-org` guard to be Angular 17+ compliant (#9598)
* Document that `is-paid-org` guard in code
* Remove unused `MessagingService` dependency
* Make assertions about the way the is-paid-org guard should behave
* Restructure the `is-paid-org` guard to be Angular 17+ compliant
* Random commit to get the build job moving
* Undo previous commit
* Bumped client version(s) (#9895)
* [PM-9344] Clarify accepted user state (#9861)
* Prefer `Needs confirmation` to `Accepted` display status
This emphasizes that action is still required to complete setup.
* Remove unused message
* Bumped client version(s) (#9906)
* Revert "Bumped client version(s) (#9906)" (#9907)
This reverts commit 78c2829793.
* fix duo subscriptions and org vs individual duo setup (#9859)
* [PM-5024] Migrate tax-info component (#9872)
* Changes for the tax info migration
* Return for invalid formgroup
* Restructure the `org-permissions` guard to be Angular 17+ compliant (#9631)
* Document the `org-permissions` guard in code
* Restructure the `org-permissions` guard to be Angular 17+ compliant
* Update the `org-permissions` guard to use `ToastService`
* Simplify callback function sigantures
* Remove unused test object
* Fix updated route from merge
* Restructure the `provider-permissions` guard to be Angular 17+ compliant (#9609)
* Document the `provider-permissions` guard in code
* Restructure the `provider-permissions` guard to be Angular 17+ compliant
* [deps] Platform: Update @types/argon2-browser to v1.18.4 (#8180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Bumped client version(s) (#9914)
* [PM-7162] Cipher Form - Item Details (#9758)
* [PM-7162] Fix weird angular error regarding disabled component bit-select
* [PM-7162] Introduce CipherFormConfigService and related types
* [PM-7162] Introduce CipherFormService
* [PM-7162] Introduce the Item Details section component and the CipherFormContainer interface
* [PM-7162] Introduce the CipherForm component
* [PM-7162] Add strongly typed QueryParams to the add-edit-v2.component
* [PM-7162] Export CipherForm from Vault Lib
* [PM-7162] Use the CipherForm in Browser AddEditV2
* [PM-7162] Introduce CipherForm storybook
* [PM-7162] Remove VaultPopupListFilterService dependency from NewItemDropDownV2 component
* [PM-7162] Add support for content projection of attachment button
* [PM-7162] Fix typo
* [PM-7162] Cipher form service cleanup
* [PM-7162] Move readonly collection notice to bit-hint
* [PM-7162] Refactor CipherFormConfig type to enforce required properties with Typescript
* [PM-7162] Fix storybook after config changes
* [PM-7162] Use new add-edit component for clone route
* [deps]: Update @yao-pkg/pkg to ^5.12.0 (#9820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Autosync the updated translations (#9922)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9923)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9924)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* [AC-2830] Unable to create a free organization (#9917)
* Resolve the issue free org creation
* Check that the taxForm is touched
* [PM-7162] Fix broken getter when original cipher is null (#9927)
* [PM-8525] Edit Card (#9901)
* initial add of card details section
* add card number
* update card brand when the card number changes
* add year and month fields
* add security code field
* hide number and security code by default
* add `id` for all form fields
* update select options to match existing options
* make year input numerical
* only display card details for card ciphers
* use style to set input height
* handle numerical values for year
* update heading when a brand is available
* remove unused ref
* use cardview types for the form
* fix numerical input type
* disable card details when in partial-edit mode
* remove hardcoded height
* update types for formBuilder
* [PM-9440] Fix: handle undefined value in migration 66 (#9908)
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* Rename "encryptionAlgorithm" to "hashAlgorithmForEncryption" for clarity (#9891)
* [PM-7972] Account switching integration with "remember email" functionality (#9750)
* add account switching logic to login email service
* enforce boolean and fix desktop account switcher order
* [PM-9442] Add tests for undefined state values and proper emulation of ElectronStorageService in tests (#9910)
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* feat: duplicate error behavior in fake storage service
* feat: fix all migrations that were setting undefined values
* feat: add test for disabled fingrint in migration 66
* fix: default single user state saving undefined value to state
* revert: awaiting floating promise
gonna fix this in a separate PR
* Revert "feat: fix all migrations that were setting undefined values"
This reverts commit 034713256c.
* feat: automatically convert save to remove
* Revert "fix: default single user state saving undefined value to state"
This reverts commit 6c36da6ba5.
* [AC-2805] Consolidated Billing UI Updates (#9893)
* Add empty state for invoices
* Make cards on create client dialog tabbable
* Add space in $ / month per member
* Mute text, remove (Monthly) and right align menu on clients table
* Made used seats account for all users and fixed column sort for used/remaining
* Resize pricing cards
* Rename assignedSeats to occupiedSeats
* [PM-9460][deps] Tools: Update electron to v31 (#9921)
* [deps] Tools: Update electron to v31
* Bump version in electron-builder
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [AC-1452] Restrict access to 'Organization Info' and 'Two-Step Login' settings pages with a permission check (#9483)
* Guard Organization Info route - Owners only
* Guard TwoFactor route - Owners only and Organization must be able to use 2FA
* Update guards to use function syntax
---------
Co-authored-by: Addison Beck <hello@addisonbeck.com>
* [PM-9437] Use CollectionAccessDetailsResponse type now that is always the type returned from the API (#9951)
* Add required env variables to desktop native build script (#9869)
* [AC-2676] Remove paging logic from GroupsComponent (#9705)
* remove infinite scroll, use virtual scroll instead
* use TableDataSource for search
* allow sorting by name
* replacing PlatformUtilsService.showToast with ToastService
* misc FIXMEs
* [PM-9441] Catch and log exceptions during migration (#9905)
* feat: catch and log exceptions during migration
* Revert "feat: catch and log exceptions during migration"
This reverts commit d68733b7e5.
* feat: use log service to log migration errors
* Autosync the updated translations (#9972)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9973)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Updated codeowners for new design system team (#9913)
* Updated codeowners for new design system team.
* Moved Angular and Bootstrap dependencies
* Moved additional dependencies.
* Updated ownership
Co-authored-by: Will Martin <contact@willmartian.com>
---------
Co-authored-by: Will Martin <contact@willmartian.com>
* [SM-1016] Fix new access token dialog (#9918)
* swap to bit-dialog title & subtitle
* remove dialogRef.disableClose & use toastService
* Add shared two-factor-options component (#9767)
* Communicate the upcoming client vault privacy changes to MSPs (#9994)
* Add a banner notification to the provider portal
* Feature flag the banner
* Move banner copy to messages.json
* Allow for dismissing the banner
* Auth/PM-7321 - Registration with Email Verification - Registration Finish Component Implementation (#9653)
* PM-7321 - Temp add input password
* PM-7321 - update input password based on latest PR changes to test.
* PM-7321 - Progress on testing input password component + RegistrationFinishComponent checks
* PM-7321 - more progress on registration finish.
* PM-7321 - Wire up RegistrationFinishRequest model + AccountApiService abstraction + implementation changes for new method.
* PM-7321 - WIP Registration Finish - wiring up request building and API call on submit.
* PM-7321 - WIP registratin finish
* PM-7321 - WIP on creating registration-finish service + web override to add org invite handling
* PM-7321 - (1) Move web-registration-finish svc to web (2) Wire up exports (3) wire up RegistrationFinishComponent to call registration finish service
* PM-7321 - Get CLI building
* PM-7321 - Move all finish registration service and content to registration-finish feature folder.
* PM-7321 - Fix RegistrationFinishService config
* PM-7321 - RegistrationFinishComponent- handlePasswordFormSubmit - error handling WIP
* PM-7321 - InputPasswordComp - Update to accept masterPasswordPolicyOptions as input instead of retrieving it as parent components in different scenarios will need to retrieve the policies differently (e.g., orgInvite token in registration vs direct call via org id post SSO on set password)
* PM-7321 - Registration Finish - Add web specific logic for retrieving master password policies and passing them into the input password component.
* PM-7321 - Registration Start - Send email via query param to registration finish page so it can create masterKey
* PM-7321 - InputPassword comp - (1) Add loading input (2) Add email validation to submit logic.
* PM-7321 - Registration Finish - Add submitting state and pass into input password so that the rest of the registration process keeps the child form disabled.
* PM-7321 - Registration Finish - use validation service for error handling.
* PM-7321 - All register routes must be dynamic and change if the feature flag changes.
* PM-7321 - Test registration finish services.
* PM-7321 - RegisterRouteService - Add comment documenting why the service exists.
* PM-7321 - Add missing input password translations to browser & desktop
* PM-7321 - WebRegistrationFinishSvc - apply PR feedback
* [deps] Autofill: Update rimraf to v5.0.8 (#10008)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [PM-9318] Fix username on protonpass import (#9889)
* Fix username field used for ProtonPass import
ProtonPass has changed their export format and userName is not itemEmail
* Import additional field itemUsername
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-8943] Update QRious script initialization in Authenticator two-factor provider (#9926)
* create onload() for qrious as well as error messaging if QR code cannot be displayed
* button and message updates and formpromise removal
* load QR script async
* rename and reorder methods
* Delete Unused Bits of StateService (#9858)
* Delete Unused Bits of StateService
* Fix Tests
* remove getBgService for auth request service (#10020)
---------
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Anders Åberg <anders@andersaberg.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com>
Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: vinith-kovan <156108204+vinith-kovan@users.noreply.github.com>
Co-authored-by: Bitwarden DevOps <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com>
Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Co-authored-by: Addison Beck <hello@addisonbeck.com>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
* [PM-1223] Passkeys Mediated Conditional UI
* [PM-1223] Passkeys Mediated Conditional UI
* [PM-1223] Finished migrating existing POC solution
* [PM-1223] Setting up passkeys to appear before login ciphers
* [PM-6471] Implement on-page autofill menu for passkeys
* [PM-6471] Working through visual presentation of passkeys within inline menu
* [PM-6471] Implementing visual and behavior differences between inline menu passkeys and regular login elements
* [PM-6471] Adding a11y content within inline menu list elements
* [PM-6471] Fixing issue with SVG path fill on new passkey icon
* [PM-6471] Working through scroll event triggers
* [PM-6471] Refactoring onScroll implementation
* [PM-6471] Adding a methodology for allow users to cancel a conditional UI workflow, but still be able to re-trigger the passkey fill
* [PM-2858] Fixing an issue found where password fields addedin new account forms do not properly pull their value into the add cipher flow
* [PM-6471] Implementing a methodology for exlusively displaying credentials that are authorized within the fido2 request
* [PM-6471] Adding the webAuthn autocomplete value to the field qualification service
* [PM-6471] Fixing issues within OverlayBackground jest tests
* [PM-6471] Fixing issues within AutofillInlineMenuList jest tests
* [PM-6471] Adding jest tests for the OverlayBackground
* [PM-6471] Adding jest tests for the OverlayBackground
* [PM-6471] Adding jest tests for the OverlayBackground
* [PM-6471] Re-adding an optimization to the inline menu list
* [PM-6471] Refactoring implementation, optimizing scroll behavior within the inline menu, and adding a method for ensureing passkeys get set as the most recently used cipher when fill occurs
* [PM-6471] Refactoring implementation, optimizing scroll behavior within the inline menu, and adding a method for ensureing passkeys get set as the most recently used cipher when fill occurs
* [PM-6471] Refactoring how we identify a cipher as a passkey cipher
* [PM-6471] Reworking implementation to loop mediated conditional request until a valid value is returned rather than re-calling navigator API
* [PM-6471] Adding jest tests for the inline menu list logic
* [PM-6471] Adding jest tests for the inline menu list logic
* [PM-6471] Adding jest tests for conditional mediated webauthn request
* [PM-6471] Removing unnecessary comment
* [PM-6471] Adding jest tests for incorporated Fido2ClientService changes
* [PM-6471] Adding jest tests to the Fido2AuthenticatorService changes
* [PM-6471] Adding jest tests for the Fido2ActiveRequestManager class
* [PM-6471] Fixing issue with master password reprompt not triggering for cipher when user verification is discouraged
* [PM-2858] Adjusting scrollbar stylings
* [PM-2858] Adjusting how we handle instantiating the feature flag guarded overlay background and how we handle instantiating identities and card ciphers in the inline menu
* [PM-2858] Adjusting how we handle instantiating the feature flag guarded overlay background and how we handle instantiating identities and card ciphers in the inline menu
* [PM-2858] Adjusting how we handle instantiating the feature flag guarded overlay background and how we handle instantiating identities and card ciphers in the inline menu
* [PM-2858] Incorporating some changes that ensure the inline menu list fades in as expected
* [PM-2858] Incorporating some changes that ensure the inline menu list fades in as expected
* [PM-2858] Incorporating some changes that ensure the inline menu list fades in as expected
* [PM-2858] Adjusting how we inject translations for a couple of aria label elements
* [PM-6471] Merging changes from identities branch
* [PM-6471] Fixing an issue relating to a current tab reference
* [PM-6471] Fixing an issue relating to a current tab reference
* [PM-6471] Optimizing conditional logic for OverlayBackground.showCipherAsPasskey
* [PM-6471] Refactoring implementation
* [PM-6471] Refactoring implementation
* [PM-6471] Adding coverage for cases where a mediated conditional request is aborted
* [PM-6471] Fixing typechecking error
---------
Co-authored-by: Anders Åberg <anders@andersaberg.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com>
Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: vinith-kovan <156108204+vinith-kovan@users.noreply.github.com>
Co-authored-by: Bitwarden DevOps <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com>
Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Co-authored-by: Addison Beck <hello@addisonbeck.com>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>