* 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>
* add import to overflow styles to override the overflow applied by virtual scrolling
* add position relative so absolute children display in scrolling context rather over the entire page
* add fade in skeleton to vault page
* refactor vault loading state to shared service
* disable search while loading
* add live announcement when vault is loading / loaded
* simplify announcement
* resolve CI issues
* add feature flag for skeletons
* add feature flag observables for loading state
* update component naming
* PM-23810 fixing ux issue for member access report export csv
* PM-23810 merged in new KM changes and filter nulls within the collectionName array
* PM-23810 fixing type error
* PM-23810 removing unit test as it was based on a previous solution.
* 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
* feat(dirt): add "needs review" state for applications needing initial review
- Add showNeedsReviewState to display warning when all apps lack review dates
- Track noAppsHaveReviewDate flag to identify unreviewed applications
- Add i18n strings for organization items count and review prompt
- Update activity card to show 3 states: all caught up, needs review, new apps
- Apply tw-col-span-2 to needs review card for better visibility
* refactor: split activity card states into separate @if blocks for readability
* fix: set hasLoadedApplicationData when summary data arrives
Previously, hasLoadedApplicationData was only set in the enrichedReportData$
subscription, which fired after reportSummary$ and newApplications$. This
caused a timing issue where showNeedsReviewState would remain false even when
newApplicationsCount === totalApplicationCount because the flag wasn't set yet.
Now we set hasLoadedApplicationData=true as soon as reportSummary$ arrives
with totalApplicationCount > 0, ensuring proper synchronization.
---------
Co-authored-by: Tom <ttalty@bitwarden.com>
* 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
* swap to repository dispatch
Introduces GitHub Actions workflow that detects TypeScript breaking changes when SDK artifacts are updated. Workflow is triggered via repository_dispatch from SDK repository and runs npm test:types with newly built SDK artifacts.
The workflow downloads SDK build artifacts, installs them locally, and executes the existing TypeScript type checking process. Exit codes determine success/failure for SDK repository monitoring via gh run watch.
Addresses issue where breaking changes in SDK are discovered only when clients attempt SDK version updates, rather than during SDK development.
* review: claude fixes
* [BRE-1302] Update runner to macos-15 for build-browser workflow on build-safari job
* [BRE-1302] Remove macos-13 and 14, add macos-15 to os matrix for build-cli
* [BRE-1302] Update macos runner to 15 and add python setup step before setuptools install
* [BRE-1302] Update macos runner to 15 for 2 additional jobs and add python setup step
* 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
We ran into some weird issues where the memory was corrupted on certain architectures. It turns out we free'd memory before using it.
This ensures we make a copy of the data before freeing it, and extracts a common function for both crates to use.
* 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.
* Update type guard for cipher ids on reports
* Update report model cipher id type and mock data
* Update security tasks api service to have copied getAllTasks function from the vault team
* Expose critical application at risk cipher ids
* Update cipher id type in report service. Update all activities service to move task function to task service
* Update module
* Update organization id sharing through components instead of multiple route fetchings
* Update view type of password change widget. Update variables to be signals. Refactor logic for calculations based on individual tasks
* Update usage of request password change function
* Update security tasks service to manage tasks
* Remove unused variable
* Alphabetized functions, added documentation. Removed injectable decorator
* Alphabetize constructor params for password health service
* Update providers
* Address NaN case on percentage. Address obsolete type casting to CipherID and any other claude comments
* Fix dependency array in test case
* typing cleanup
* additional cleanup
* more typing fixes
* revert notification background changes
* fix DOM query service breakage
* do not run a fill_by_opid action if there is a nullish or empty value attribute
* type cleanup
* cleanup per review suggestions
* remove unused flag check
* add non-null assertion signposts
* additional cleanup
- Show "Prioritize critical applications" when org has no critical apps
- Show "Review new applications" when org already has critical apps
- Add hasExistingCriticalApplications flag to dialog data
- Add reviewNewApplications i18n keys
* adding arm64 snap, flatpak and tar variant to releases now for future flatpak consumption
* adding arm64 snap, flatpak and tar build process
---------
Co-authored-by: fredrmb <69513590+fredrmb@users.noreply.github.com>