* 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
* [PM-18707] Use different BroadcasterSubscriptionId in base view component to avoid collision with desktop view component
* [PM-18707] Use userId instead of payloadUserId for cipher notification syncs
* [PM-19032] Live Sync on Desktop (#13851)
* migrate the vault-items to an observables rather than async/promises
- this helps keep data in sync with the service state and avoids race conditions
* migrate the view component to an observables rather than async/promises
- this helps keep data in sync with the service state and avoids race conditions
* decrypt saved cipher from server
* bump timeout for upserting ciphers
* mark `go` as async in desktop vault
- previously it was a floating promise
* Revert "mark `go` as async in desktop vault"
This reverts commit fd28f40b18.
* Revert "bump timeout for upserting ciphers"
This reverts commit e963acc377.
* move vault utilities to `common` rather than `lib` to avoid circular dependencies
* use `perUserCache$` for `cipherViews$` to avoid new subscriptions from being created
* use userId from observable rather than locally set to be the most up to date
* [PM-18707] Add clearBuffer$ input to perUserCache$ helper so that the internal share replay buffers can be cleared
* [PM-18707] Rework forceCipherViews$ to clearBuffer$ refactor
- Add dependency for cipherDecryptionKeys$ for the cipherViews so that decryption is never attempted without keys
* [PM-18707] Add overload to perUserCache to satisfy type checker
* [PM-18707] Fix overloads
* [PM-18707] Add check for empty failed to decrypt ciphers
* [PM-18707] Mark vault component for check after observable emits.
The cipherViews$ observable now persists between subscriptions, meaning that updates via the sync push notifications can occur outside the AngularZone causing delays in updating the view.
---------
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: Nick Krantz <nick@livefront.com>
* 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
* Added fork name to tag
* Added logging.
* Added pull_request_target
* Added repository name if on fork.
* Limited characters
* Added sanitization
* Moved to env var for extra security.
Fix issue where modal was not displayed when clicking Manage option for 2FA on Organizations. This adds the OrganizationDuo case to the dialogTitle method to properly handle this provider type.
PM-20180
* PM-19913: Added max length to the generated_for and description peroperties in the FirefoxRelay API payload
* [PM-19913] Added maxLength restriction to the website and generatedBy methods. Added maxLength limit of 200 to the description of addy.io
* fix(PM-18888) : Create more strict checking of redirectURL to protect against open redirect attacks using regex.
* fix : modify comments and check for embedded credentials.
* feat : add testability to duo-redirect connector
* fix : fixing strict typing; Removed styling from duo-redirect.ts which allows us to test without adding additional files and configurations for jest.
* fix : remove duo-redirect.scss
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