* refactor: rewrite the badge service to only calculate states for active tab
This also fixes an issue where the `difference` function didn't work and caused
all tabs to update for every single state update.
* fix: compilation issue
* feat: add error logging
* fix: linting
* fix: badge clearing on reload on firefox
* feat: optimize observable
* feat(wip): update all active tabs
tests are broken
* fix: existing tests
* feat: add new tests
* prevent inline menu inheritance of dangerous opacity from host body and above
* cleanup and update tests
* check page opacity after html/body attribute mutations
* update tests
* cleanup
Adds `shouldUpdate()` checks to frequently updated disk state in the Auth domain, specifically:
- `account_verifyNewDeviceLogin`
- `token_accessToken`
- `token_refreshToken`
- `masterPassword_masterKeyHash`
This ensures that the state only updates if the new value is different from the previous value, thus avoiding unnecessary updates.
This PR migrates `libs/components` to use strict TypeScript.
- Remove `@ts-strict-ignore` from each file in `libs/components` and resolved any new compilation errors
- Converted ViewChild and ContentChild decorators to use the new signal-based queries using the [Angular signal queries migration](https://angular.dev/reference/migrations/signal-queries)
- Made view/content children `required` where appropriate, eliminating the need for additional null checking. This helped simplify the strict migration.
---
Co-authored-by: Vicki League <vleague@bitwarden.com>
* [NO LOGIC] Rename BillableEntity to BitwardenSubscriber
This helps us maintain paraody with server where we call this choice type ISubscriber. I chose BitwardenSubscriber to avoid overlap with RxJS
* [NO LOGIC] Move subscriber-billing.client to clients folder
* [NO LOGIC] Move organization warnings under organization folder
* Move getWarnings from OrganizationBillingApiService to new OrganizationBillingClient
I'd like us to move away from stashing so much in libs and utilizing the JsLibServicesModule when it's not necessary to do so. These are invocations used exclusively by the Web Vault and, until that changes, they should be treated as such
* Refactor OrganizationWarningsService
There was a case added to the Inactive Subscription warning for a free trial, but free trials do not represent inactive subscriptions so this was semantically incorrect. This creates another method that pulls the free trial warning and shows a dialog asking the user to subscribe if they're on one.
* Implement Tax ID Warnings throughout Admin Console and Provider Portal
* Fix linting error
* Jimmy's feedback
* [PM-24710] Add a debounceTime to currentPageDetails to ensure details collection content script has enough time to collect for details
* Adjust test observables to account for debounce
---------
Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
* trigger Autofill BIT checks on browser build workflow completion and autofill-affecting file changes
* further adjustments
* hardcode bitwarden owner
* remove unneeded origin_repo data in dispatch payload
* add ownership for workflow
* use actions/create-github-app-token
* update CODEOWNERS line with suggestion