Add persistence to two-factor authentication in the extension login flow. Implements caching of form state to improve user experience when navigating between authentication steps. Includes feature flag for controlled rollout.
* adds small button size variant
* makes small icon button same size as small button
* testing small button for extension header
* remove extension changes
* update popout layout story
* revert change to small icon button padding
* add whitespace to see if error resolves
* default buttonType to primary
* default buttonType to secondary
* add comment around why nonNullButtonSize value exists
* add comment to property about using the non null version
* Update apps/browser/src/platform/popup/layout/popup-layout.stories.ts
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* updated input syntax when using static values
* remove nonNull value coersion
* allow changing of size input in Story
---------
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* PM-20396 open view item vault pop out
* add aria and clean up
* format json
* clean naming in messages
* revert feature-flag.enum.ts
* change username to item name
* return nullish operator removed in testing
* update tests to account for itemName
* revert to anchor tag
* Remove restriction from account security component
* Add the ability to manage pop-out to the LockComponentService
* Have the Firefox extension pop-out on biometric auto-prompt unlock
* [PM-10611] Remove Angular dependencies from Notifications module
* [PM-10611] Move end user notification service to /libs/common/vault/notifications
* [PM-10611] Implement listenForEndUserNotifications() for EndUserNotificationService
* [PM-10611] Add missing taskId to notification models
* [PM-10611] Add switch cases for end user notification payloads
* [PM-10611] Mark task related notifications as read when visiting the at-risk password page
* [PM-10611] Revert change to default-notifications service
* [PM-10611] Fix test
* [PM-10611] Fix tests and log warning in case more notifications than the default page size are available
* [PM-10611] Use separate feature flag for end user notifications
* [PM-10611] Fix test
* adds aria-hidden to bit-icon when no aria-label provided
* add ariaLabel to logo svg usages
* add ariaLabel documentation
* default ariaLable value to undefined
* add logo label to translations
* adds i18n pipe to component
* Add binding to example docs
* Modify behavior so standalone password entry (with or without generator) should trigger save to bitwarden prompt.
* Rename intent to action, extend button/action styles.
* Ensure font weight is returned to normal.
* Make save login message a button to handle accessibility, adds helper function.
* Fix failing snapshot by reintigrating erroneously removed line.
* Update snapshot to match new saveLoginButton.
* Add add'l open in new window message to aria label.
* Update snapshot with open in new window message.
* PM-20106 initial approach whihc preserves exisiting indicator file style
* refactored approach to be able to pass any icon when or if needed in the future
* address feedback
* update icon shapes to match new design system icons
* add AngleUpIcon to storybook
* rename Family icon to Users to match design system naming conventions
* add Collection icon
* move illustrations to their own path/category to match design system convention
* remove hardcoded PartyHorn illustration size
* fix swapped story names
* rename PartyHorn illustration to Celebrate to match design system convention
* update Warning illustration to use new design system shape
* include tasks with notification cipher data
* send security task information with update success message for notification
* mark completed cipher updates with tasks as complete
* refactor notification confirmation components and add stories
* add keyhole icon
* add conditional footer button to notification confirmation component
* add external link icon
* add external link icon to action button
* add notification confirmation footer story
* use keyhole icon if there are no additional security tasks to complete
* add new message catalog entries to chrome.i18n
* reimplement sending security task information with update success message for notification
* open tasks in extension from confirmation notification button
* update vault message key and dismiss all security tasks for a given cipher upon password update
* resolve changes against updated main branch basis
* put task fetching behind feature flag and update tests
* cleanup
* more cleanup
Replace the FallbackRequestedError rejection pattern with direct
AbortController.abort() calls when destroying the Messenger. This
eliminates misleading console errors and ensures correct cancellation
behavior.
The FallbackRequestedError is intended specifically for user-requested
WebAuthn fallbacks, not general message cleanup operations.
Fixes GitHub issue #12663
- Remove Bootstrap styles from two-factor-setup component and replace with Tailwind equivalents
- Convert two factor components to standalone components to move away from LooseComponents
- Replace ul/li list with bit-item-group and bit-item components
- Integrate with the bit design system
---------
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
* PM-17187 Autofill new card information in the popout
* Add new identity autofill to browser extension
* Add ability to save values from autoselect fields
* feat: add foreground ipc service
* refactor: create abstract ipc service in libs
* wip: remove IPC service complexity
The code was making some wrong assumptions about how IPC is going to work. I'm removing everything and starting the content-script instead
* feat: working message sending from page to background
* refactor: move into common
* feat: somewhat complete web <-> browser link
* wip: ping command from web
* fix: import path
* fix: wip urls
* wip: add console log
* feat: successfull message sending (not receiving)
* feat: implement IPC using new refactored framework
* wip: add some console logs
* wip: almost working ping/pong
* feat: working ping/pong
* chore: clean-up ping/pong and some console logs
* chore: remove unused file
* fix: override lint rule
* chore: remove unused ping message
* feat: add tests for message queue
* fix: adapt to name changes and modifications to SDK branch
* fix: missing import
* fix: remove content script from manifest
The feature is not ready for prodution code yet. We will add dynamic injection with feature-flag support in a follow-up PR
* fix: remove fileless lp
* fix: make same changes to manifest v2
* fix: initialization functions
Add missing error handling, wait for the SDK to load and properly depend on the log service
* feat: use named id field
* chore: update sdk version to include IPC changes
* fix: remove messages$ buffer
* fix: forgot to commit package-lock
* feat: add additional destination check
* feat: only import type in ipc-message
* fix: typing issues
* feat: check message origin
Updates the InputPasswordComponent so that it can eventually be used in multiple set/change password scenarios.
Most importantly, this PR adds an InputPasswordFlow enum and @Input so that parent components can dictate which UI elements to show.
* [PM-17563] Implement listenForTaskNotifications in default-task.service.ts
* [PM-17563] Update syncService to include userId in syncCompleted message payload
* [PM-17563] Update default-task.service to react to both pending task notifications and completed syncs
* [PM-17563] Add unit tests around task notification listening
* [PM-17563] Only check for at risk password tasks if tasks are enabled
* [PM-17563] Make userId required even if undefined
* [PM-17563] Use abstract TaskService instead of default implementation in MainBackground
* [PM-17563] Cleanup userId filtering
* feat(device-approval-persistence): [PM-19380] Device Approval Persistence - Added lookup on standard auth requests.
* fix(device-approval-persistence): [PM-19380] Device Approval Persistence - Fixed issue with null value trying to be parsed from the fromJSON function.
---------
Co-authored-by: Todd Martin <tmartin@bitwarden.com>
* refactor `openPopup` vault message to `OpenAtRiskPasswords`
* navigate directly to the at risk passwords page
* ensure the at-risk-passwords page navigates back to the vault
* reset popup index page
* avoid setting `hasNavigated` for the initial route
* Revert "avoid setting `hasNavigated` for the initial route"
This reverts commit 68bd9268ae.
* always reset popup page to the index
---------
Co-authored-by: Shane Melton <smelton@bitwarden.com>