* Added normalizers to protect against corrpupted user data when mapping between client and SDK
* Added comments
* simplified secure note normalization
* add handler for new policy sync push notification
* fix story book build failure
* move logic into policy service, fix tests
* add account service
* add missing service to clie
* feat(user-decryption-options) [PM-26413]: Update UserDecryptionOptionsService and tests to use UserId-only APIs.
* feat(user-decryption-options) [PM-26413]: Update InternalUserDecryptionOptionsService call sites to use UserId-only API.
* feat(user-decryption-options) [PM-26413] Update userDecryptionOptions$ call sites to use the UserId-only API.
* feat(user-decryption-options) [PM-26413]: Update additional call sites.
* feat(user-decryption-options) [PM-26413]: Update dependencies and an additional call site.
* feat(user-verification-service) [PM-26413]: Replace where allowed by unrestricted imports invocation of UserVerificationService.hasMasterPassword (deprecated) with UserDecryptionOptions.hasMasterPasswordById$. Additional work to complete as tech debt tracked in PM-27009.
* feat(user-decryption-options) [PM-26413]: Update for non-null strict adherence.
* feat(user-decryption-options) [PM-26413]: Update type safety and defensive returns.
* chore(user-decryption-options) [PM-26413]: Comment cleanup.
* feat(user-decryption-options) [PM-26413]: Update tests.
* feat(user-decryption-options) [PM-26413]: Standardize null-checking on active account id for new API consumption.
* feat(vault-timeout-settings-service) [PM-26413]: Add test cases to illustrate null active account from AccountService.
* fix(fido2-user-verification-service-spec) [PM-26413]: Update test harness to use FakeAccountService.
* fix(downstream-components) [PM-26413]: Prefer use of the getUserId operator in all authenticated contexts for user id provided to UserDecryptionOptionsService.
---------
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
* feat: add support for IPC client managed session storage
* feat: update SDK
* fix: using undecorated service in jslib module directly
* feat: add test case for web
* chore: document why we use any type
* fix: `ipc` too short
* typo: omg
* Revert "typo: omg"
This reverts commit 559b05eb5a.
* Revert "fix: `ipc` too short"
This reverts commit 35fc99e10b.
* fix: use camelCase
* Remove internal use of getUserKey in the key service
* Move ownership of RotateableKeySet and remove usage of getUserKey
* Add input validation to createKeySet
* The discount badge implementation
* Use existing flag
* Added the top spaces as requested
* refactor: move discount-badge to pricing library and consolidate discount classes
* fix: add CommonModule import to discount-badge component and simplify discounted amount calculation
- Add CommonModule import to discount-badge component for *ngIf directive
- Simplify discountedSubscriptionAmount to use upcomingInvoice.amount from server instead of manual calculation
* Fix the lint errors
* Story update
---------
Co-authored-by: Alex Morask <amorask@bitwarden.com>
* fix(billing): update to password manager to signal
* fix(billing): take first value so the dialog doesn't show again
* fix(billing): add families plan to request builder
* fix(billing): feedback and type update
* fix(billing): fix selectedplan call
* consolidated session timeout settings component
* rename preferences to appearance
* race condition bug on computed signal
* outdated header for browser
* unnecessary padding
* remove required on action, fix build
* rename localization key
* missing user id
* required
* cleanup task
* eslint fix signals rollback
* takeUntilDestroyed, null checks
* move browser specific logic outside shared component
* explicit input type
* input name
* takeUntilDestroyed, no toast
* unit tests
* cleanup
* cleanup, correct link to deprecation jira
* tech debt todo with jira
* missing web localization key when policy is on
* relative import
* extracting timeout options to component service
* duplicate localization key
* fix failing test
* subsequent timeout action selecting opening without dialog on first dialog cancellation
* default locale can be null
* unit tests failing
* rename, simplifications
* one if else feature flag
* timeout input component rendering before async pipe completion
* Remove Type property from PolicyRequestModel to use route parameter only
* Remove PolicyType property from policy update request in auto-confirm edit policy dialog
* Run prettier
* add one time setup dialog for auto confirm
* add one time setup dialog for auto confirm
* fix copy, padding, cleanup observable logic
* cleanup
* cleanup
* refactor
* clean up
* more cleanup
* Fix deleted files
This reverts commit 7c18a5e512.
* Added checks to on the sshkey view to prevent null fields
* Give default values to the template
* Give default values to the template
* change function signature to match ts-strct styles
* Added unit tests for the ssh key to view and replaced deafults to empty strings
* [PM-24469] Refactor CipherViewComponent to use Angular signals and computed properties for improved reactivity
* [PM-24469] Refactor CipherViewComponent to utilize Angular signals for organization data retrieval
* [PM-24469] Refactor CipherViewComponent to utilize Angular signals for folder data retrieval
* [PM-24469] Cleanup organization signal
* [PM-24469] Refactor CipherViewComponent to replace signal for card expiration with computed property
* [PM-24469] Improve collections loading in CipherViewComponent
* [PM-24469] Remove redundant loadCipherData method
* [PM-24469] Refactor CipherViewComponent to replace signal with computed property for pending change password tasks
* [PM-24469] Refactor LoginCredentialsViewComponent to rename hadPendingChangePasswordTask to showChangePasswordLink for clarity
* [PM-24469] Introduce showChangePasswordLink computed property for improved readability
* [PM-24469] Initial RI for premium logic
* [PM-24469] Refactor checkPassword risk checking logic
* [PM-24469] Cleanup premium check
* [PM-24469] Cleanup UI visuals
* [PM-24469] Fix missing typography import
* [PM-24469] Cleanup docs
* [PM-24469] Add feature flag
* [PM-24469] Ensure password risk check is only performed when the feature is enabled, and the cipher is editable by the user, and it has a password
* [PM-24469] Refactor password risk evaluation logic and add unit tests for risk assessment
* [PM-24469] Fix mismatched CipherId type
* [PM-24469] Fix test dependencies
* [PM-24469] Fix config service mock in emergency view dialog spec
* [PM-24469] Wait for decrypted vault before calculating cipher risk
* [PM-24469] startWith(false) for passwordIsAtRisk signal to avoid showing stale values when cipher changes
* [PM-24469] Exclude organization owned ciphers from JIT risk analysis
* [PM-24469] Add initial cipher-view component test boilerplate
* [PM-24469] Add passwordIsAtRisk signal tests
* [PM-24469] Ignore soft deleted items for RI for premium feature
* [PM-24469] Fix tests
* feature flag
* new upgrade dialog component and moved pricing service into libs
first draft
* moved pricing service to libs/common
removed toast service from the pricing service and implemented error handling in calling components
# Conflicts:
# apps/web/src/app/billing/individual/upgrade/upgrade-payment/upgrade-payment.component.ts
* moved new premium upgrade dialog component to libs/angular
* badge opens new dialog in browser extension
* adds new dialog to desktop and fixes tests
* updates send dropdown to use premium prompt service
* styling and copy updates
* implement in web and desktop
* unit tests
* converting premium reports to use premium badge, and some cleanup
* fixes issue after merge
* linter errors
* pr feedback
* handle async promise correctly
* full sync after the premium upgrade is complete
* fixing test
* add padding to bottom of card in new dialog
* add support for self hosting
* fixing tests
* fix test
* Update has-premium.guard.ts
* pr feedback
* fix build and pr feedback
* fix build
* prettier
* fixing stories and making badge line height consistent
* pr feedback
* updated upgrade dialog to no longer use pricing card
* fixing incorrect markup and removing unused bits
* formatting
* pr feedback
removing unused message keys and adding back in code that was erroneously removed
* change detection
* close dialog when error
* claude pr feedback
* expose local db file to extension
* fetch from local db as fallback; only fetch new data on changed checksum; fetch from cdn
* check for undefined chrome runtime (for easy Storybook mocking)
* update capital letters lint
* add audit api tests
* add bash script to fetch local db info and split it to meet FF size limits
* add readme
* Rename README.md to readme.md
* remove leftover file
* remove unused methods from audit service
* remove local db logic
* wip
* revert local db build changes
* add tests; sub to updates directly; refactor teardown logic
* fix eslint crashing
* remove temp premium override
* remove unused test
* update timer value
* run prettier
* refetch all domains on app version change
* fix log statement
* harden fetching
* filter empty domains
* fix type issue
* fix typo
* fix type error
* fix cleanup