* Moved has-premium.guard under billing
* Moved free-trial.ts to billing
* Moved premium directives to billing
* Moved families-policy.service.ts to billing
* Moved trial initiation from auth to billing
* update extension refresh form when an attachment is added or removed
- This is needed because the revision date was updated on the server and the locally stored cipher needs to match.
* receive updated cipher from delete attachment endpoint
- deleting an attachment will now alter the revision timestamp on a cipher.
* patch the cipher when an attachment is added or deleted
* migrate vault component to use the `cipherViews$` observable
* reference `cipherViews$` on desktop for vault-items
- This avoid race conditions where ciphers are cleared out in the background. `cipherViews` should always emit the latest views
* return CipherData from cipher service so that consumers have the updated cipher right away
* use the updated cipher from attachment endpoints to refresh the details within the add/edit components on desktop
The legacy config is deprecated and will be removed in eslint 10. The flat config also allows us to write js functions which will assist in handling limitations with multiple identical rules.
* Remove deprecated and unused PasswordGenerationService
* Remove unused state-service
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Wait for an account to become available from separate observable, instead of blindly accepting that the value is there using `firstValueFrom`, while it's sometimes not there immediately.
* PM-17197 - Refactor DeviceTrustService to deprecate active user state as I need to call with a user id per latest best practice
* PM-17197 - Refactor Unauth Guard to be aware of TDE lock state + use active user best practice.
* [PM-17541] Switch folder key definition back to "folders" and add migration script for users that have switched to the incorrect key
* [PM-17541] Fix import path
* [PM-17541] Fix implicit any in spec file
* refactor PolicyService.getAll$ to make userId not optional
* add fix to browser
* fix test to read from mock singleUserState
* remove nested pipes, cleanup
* allow changing of item owner from personal to org
* avoid unecessary api calls when updating item parent
* move comment up a line
* add localData to cipher instance
* create service to load sdk on application init
* Eagerly load CLI SDK
* Remove wasm logging to api
* Fix imports
* Eagerly load Desktop renderer SDK
Note: If the main process ever requires an SDK, we'll need to load it there, too.
In that event, it's probably a good idea to move to IPC for all SDK functions to avoid
loading the SDK for every window.
* init wasm module from sdk load service
* Use default client factory
* Fix type imports
* Resolve jest module import errors
A CLI sdk load service that async imports our wasm binary doesn't seem to be needed to run, but jest isn't dealing with the ESM import properly.
* Fix linting
* remove example code
Add device verification flow that requires users to enter an OTP when logging in from an unrecognized device. This includes:
- New device verification route and guard
- Email OTP verification component
- Authentication timeout handling
PM-8221
* [PM-15506] Wire up vNextOrganizationService for libs/common and libs/angular (#12683)
* Wire up vNextOrganizationService in PolicyService
* Wire vNextOrganizationService in SyncService
* wire vNextOrganizationService for EventCollectionService
* wire vNextOrganizationService for KeyConnectorService
* wire up vNextOrganizationService for CipherAuthorizationService
* Wire up vNextOrganizationService in PolicyService
* Wire vNextOrganizationService in SyncService
* wire vNextOrganizationService for EventCollectionService
* wire vNextOrganizationService for KeyConnectorService
* wire up vNextOrganizationService for CipherAuthorizationService
* wire vNextOrganizationService for share.component
* wire vNextOrganizationService for collections.component
* wire vNextOrganizationServcie for add-account-credit-dialog
* wire vNextOrganizationService for vault-filter.service
* fix browser errors for vNextOrganizationService implementation in libs
* fix desktop errors for vNextOrganizationService implementation for libs
* fix linter errors
* fix CLI errors on vNextOrganizationServcie implementations for libs
* [PM-15506] Wire up vNextOrganizationService for web client (#12810)
PR to a feature branch, no need to review until this goes to main.
* implement vNextOrganization service for browser client (#12844)
PR to feature branch, no need for review yet.
* wire vNextOrganizationService for licence and some web router guards
* wire vNextOrganizationService in tests
* remove vNext notation for OrganizationService and related
* Merge branch 'main' into ac/pm-15506-vNextOrganizationService
* fix tsstrict error
* fix test, fix ts strict error
* remove todo
* Retrieve cache cipher for add-edit form
* user prefilled cipher for add-edit form
* add listener for clearing view cache
* clear local cache when clearing global state
* track initial value of cache for down stream logic that should only occur on non-cached values
* add feature flag for edit form persistence
* add tests for cipher form cache service
* fix optional initialValues
* add services to cipher form storybook
* fix strict types
* rename variables to be platform agnostic
* use deconstructed collectionIds variable to avoid them be overwritten
* use the originalCipherView for initial values
* add comment about signal equality
* prevent events from being emitted when adding uris to the existing form
- This stops other values from being overwrote in the initialization process
* add check for cached cipher when adding initial uris
* collect tailwind styles from the `libs/vault/*`
- Some unique styles were not showing in storybook
* initial add of carousel component
* initial add of carousel stories
* move carousel button to a standalone component for organization
* add key manager for carousel buttons
* add tab panel role to slide component
* make carousel slide focusable when it does not contain focusable elements
* add aria live to carousel slides
* add labels for carousel slide buttons
* emit slide change event
* move icons to carousel-icons folder
* add barrel file for carousel
* move protected properties
* remove underscore
* allow differing heights of carousel slides
* update interactive styles for the carousel icons
* allow for focus styled on carousel buttons
* fix tests
* fix imports
* add method to render each slide and get the height of the tallest slide
- This avoids consumers having to pass in a height.
- The height of the tallest slide is needed because it will stop the carousel from jumping around as the user scrolls.
* add comment to content property
* remove rem calculation
* Fix biometrics unlock window being empty
* Add trust on sensitive action
* Add dialog for outdated desktop app and fix spelling
* Use updated fingerprint method
* Refactor connected app trust
* Move connected apps to ephemeral value store and show error on outdated browser
* Move trust logic to only occur when fingerprint setting is enabled
* Add more tests
* Simplify code
* Update ephemeral value list call to "listEphemeralValueKeys"
* Fix trust being ignored
* Changes to disabled user from seeing password that they shouldn't see or edit easily.
* Fixing defects on PM-13938
* undoing unecessary change
* Updating tests
---------
Co-authored-by: --global <>
Co-authored-by: kejaeger <138028972+kejaeger@users.noreply.github.com>
* Update Figma links
updated existing Figma links to point to the new file and added Figma links to components missing them
* Added last missing Figma links
Extract core functionality from `libs/angular` to allow teams to depend on `libs/ui-common` instead.
Moves the following functionality to `ui-common`.
- `I18nPipe`. `libs/angular` still has an old copy but `components` depends on the new variant from `ui-common`.
- `safeProvider`, `SafeProvider` and `SafeInjectionToken`. `libs/angular`re-exports these to avoid needing to update all consumers.
* Remove LP fileless importer
- Remove content scripts
- Remove additions to message handlers and notifcation queue
- Remove UI elements for the importer
- Remove the actual importer code
- Remove unsued keys from en/messages.json
Remove feature flag "browser-fileless-
import"
Update webpack.config and manifest files to no longer include content scripts
* Move feature flag idp-auto-submit-login under autofill grouping
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* remove private/protected/lifecycle fields from Storybook docs table
* move theme override decorator into util method
* implement base drawer component
* update bit-layout to be drawer container
* create drawer helper components
* expose new APIs to DS barrel file
* write docs
* update docs; add role input
* use host directive instead of service
* clean up logic a tad
* add start slot to story
* update docs
* Apply suggestions from code review
Co-authored-by: Victoria League <vleague@bitwarden.com>
* update docs
* Update libs/components/src/drawer/drawer.mdx
Co-authored-by: Victoria League <vleague@bitwarden.com>
* update docs / stories
* add non text element to drawer
---------
Co-authored-by: Victoria League <vleague@bitwarden.com>