* 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.
* add service to track scroll position of the vault tab in the popup
* add data attribute to individual vault items
- Allows query selector to focus on the specific element
* stop scroll service when a cipher is deleted
* start scroll listener when the vault page is initialized
* fix strict linting errors
* remove focus reset when navigating back to the vault screen
* skip recording the first scroll from the automatic scroll
* combine filters into a single observable
* do not start the scroll service until filters have loaded in
* refactor allFilters to come from the vault popup list filters service
* use assertion on scroll position
* hide virtual scrolling element while scrolling is restored
* update comments
* fix failing tests to use different matcher
* remove visibility trick for restoring scroll position after chatting with design
---------
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
* 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
* [deps] Platform: Update electron to v34
* Update electron-builder.json electron version
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
Migrates the following components to not use bootstrap.
- apps/web/src/app/components/environment-selector/environment-selector.component.html
- apps/web/src/app/layouts/frontend-layout.component.html
- apps/web/src/app/layouts/org-switcher/org-switcher.component.html
- apps/web/src/app/settings/domain-rules.component.html
- bitwarden_license/bit-web/src/app/secrets-manager/projects/project/project-secrets.component.html
- bitwarden_license/bit-web/src/app/secrets-manager/settings/porting/sm-import.component.html