3163 Commits

Author SHA1 Message Date
Bernd Schoolmann
eb4fd42153
[PM-28446] Log package types (#17496)
* User agent

* Update to use header

* Fix build on cli

* Replace unsandboxed with unknown

* Apply feedback

* Prevent sending null values
2025-11-27 00:22:59 +01:00
John Harrington
6f5491f7dc
PM-22143 Refactor TS enums to be const objects (Send specific enums) (#16399) 2025-11-26 15:08:59 -07:00
SmithThe4th
8522b6b87a
Switched to used cipher list view for vault filters, and added perfomance logs for cipher list views (#17688) 2025-11-26 21:27:48 +00:00
Jordan Aasen
598bb0b0d7
[PM-23384] - adjust copy for monthly price in Premium Upgrade dialog (#17668)
* adjust copy for month/annual price

* use i18n pipe

* remove annually key

* change per month to month
2025-11-26 20:34:58 +00:00
Vicki League
2128894152
[CL-806] Focus main content after SPA navigation occurs (#17112) 2025-11-26 12:30:10 -05:00
Vicki League
f824530b11
[CL-923] Try silencing flaky chromatic tests from dialog border (#17497) 2025-11-26 12:26:45 -05:00
Bernd Schoolmann
5c7e78a80f
[PM-27835] Implement register SDK service (#17632)
* Implement register SDK service

* Relative import

* Relative import

* Rename to registerClient

* Update libs/common/src/platform/abstractions/sdk/register-sdk.service.ts

Co-authored-by: Derek Nance <dnance@bitwarden.com>

* Rename

---------

Co-authored-by: Derek Nance <dnance@bitwarden.com>
2025-11-26 15:47:20 +01:00
Oscar Hinton
ab543b929d
[CL-932] Migrate banner component to OnPush & Signals (#17387)
Migrates the BannerComponent to use computed signals and OnPush.
2025-11-26 10:52:08 +01:00
Thomas Rittson
63812009d7
[PM-25913] Fix owners unable to rename provider-managed organization (#17482)
Update to match new API: send null properties
for organization properties that are unchanged
2025-11-26 07:37:18 +10:00
Nick Krantz
273f04c6a3
[PM-26513] Desktop Archive Upgrade (#16964)
* always shows desktop archive filter regardless of the users premium status

* include spec files in tsconfig

* add upgrade path for desktop

* combine duplicate class instances

* remove optional chaining

* update tests to avoid null assertions

* add test files to the spec tsconfig

* implement signal for premium badge component

* remove badge template reference
2025-11-25 15:12:20 -06:00
Will Martin
898d514d5b
[CL-854] feat: add bit-header component to component library (#17662)
Add new bit-header component to libs/components with:
  - Header component with left, center, and right content projection
  - Storybook stories for documentation
  - Export from component library index
2025-11-25 13:13:07 -05:00
Vincent Salucci
17ae78ea83
chore: fix feature flag name, refs PM-27766 (#17660) 2025-11-25 11:23:01 -06:00
Dave
cf6569bfea
feat(user-decryption-options) [PM-26413]: Remove ActiveUserState from UserDecryptionOptionsService (#16894)
* 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>
2025-11-25 11:23:22 -05:00
Bryan Cunningham
540da69daf
[CL-761] Enable strict template typechecking (#17334)
* enable strict template typechecking

* add callout component to module

* fixing popup action types

* fixing cipher item copy types

* fix archive cipher type

* fixing trash list items types

* fix remaining trash list item type errors

* use CipherViewLike as correct type

* change popup back directive to attribute selector

* allow undefined in popupBackAction handler

* Remove undefined from type

* fix error with firefox commercial build

---------

Co-authored-by: Vicki League <vleague@bitwarden.com>
2025-11-25 11:04:37 -05:00
SmithThe4th
57946f6406
Fixed invalid cipher remprompt values (#17513) 2025-11-25 10:37:28 -05:00
Bryan Cunningham
568183bacd
fix disabled cursor styles (#17656) 2025-11-25 10:18:43 -05:00
Todd Martin
d16c25e759
chore(docs) Add comments from contributing docs to master password types in code
* Added comments from contributing docs.

* Grammatical changes.
2025-11-25 10:02:51 -05:00
Andreas Coroiu
9e90e72961
[PM-27530] Rename BitwardenClient to PasswordManagerClient (#17578)
* fix: compilation issues with PM client rename

* fix: jest compilation

* feat: rename all non-breaking platform instances

* feat: update SDK
2025-11-25 14:48:25 +01:00
Jordan Aasen
43fd99b002
[PM-24722][PM-27695] - add persistent callout in settings for non-premium users (#17246)
* add persistent callout in settings for non-premium users

* remove premium v2 component

* add spec

* remove premium-v2.component.html

* fix title

* fix typo

* conditionally render h2

* re-add pemiumv2component. change class prop to observable

* change from bold to semibold

* remove unecessary tw classes. use transform: booleanAttribute

* add spotlight specs

* code cleanup
2025-11-24 13:49:05 -08:00
Bryan Cunningham
613e0c5461
[CL-925] add filled danger button (#17633)
* add dangerPrimary button variant

* add dangerPrimary to small story
2025-11-24 13:08:25 -05:00
Oscar Hinton
4c36a46ef2
Enable directive-class-suffix (#17385) 2025-11-24 18:03:16 +01:00
Todd Martin
23ac477bbc
chore(feature-flag): Removed pm-28325-remove-pm-22110-disable-alternate-login-methods flag 2025-11-21 16:01:41 -05:00
Dave
daf7b7d2ce
fix(two-factor) [PM-21204]: Users without premium cannot disable premium 2FA (#17134)
* refactor(two-factor-service) [PM-21204]: Stub API methods in TwoFactorService (domain).

* refactor(two-factor-service) [PM-21204]: Build out stubs and add documentation.

* refactor(two-factor-service) [PM-21204]: Update TwoFactorApiService call sites to use TwoFactorService.

* refactor(two-fatcor) [PM-21204]: Remove deprecated and unused formPromise methods.

* refactor(two-factor) [PM-21204]: Move 2FA-supporting services into common/auth/two-factor feature namespace.

* refactor(two-factor) [PM-21204]: Update imports for service/init containers.

* feat(two-factor) [PM-21204]: Add a disabling flow for Premium 2FA when enabled on a non-Premium account.

* fix(two-factor-service) [PM-21204]: Fix type-safety of module constants.

* fix(multiple) [PM-21204]: Prettier.

* fix(user-verification-dialog) [PM-21204]: Remove bodyText configuration for this use.

* fix(user-verification-dialog) [PM-21204]: Improve the error message displayed to the user.
2025-11-21 10:35:34 -05:00
Addison Beck
ba93526965
chore: create eslint rule to catch insecure page script injection (#17437)
* chore: create eslint rule to catch insecure page script injection

* chore: ignore existing lints

* review: tighten rule scope

* review: add tests
2025-11-20 19:45:49 -05:00
Kyle Spearrin
d7949ab2f3
[PM-27766] Add policy for blocking account creation from claimed domains (#17211)
* Added policy for blocking account creation for claimed domains.

* add feature flag

* fix desc

* learn more link

* fix localization key to learnMore

* onpush change detection
2025-11-20 08:42:57 -06:00
Nick Krantz
b00987180d
[PM-26688][PM-27710] Delay skeletons from showing + search (#17394)
* add custom operator for loading skeleton delays

* add `isCipherSearching$` observable to search service

* prevent vault skeleton from showing immediately

* add skeleton for search + delay to sends

* update fade-in-out component selector

* add fade-in-out component for generic use

* address memory leak by using defer to encapsulate `skeletonShownAt`

* add missing provider
2025-11-20 08:26:47 -06:00
rr-bw
9e6d0cce35
feat(marketing-initiated-premium): Auth [PM-27542] Write fromMarketing value to state (#17470) 2025-11-19 19:00:18 -08:00
Kyle Denney
fde1e26ad9
[PM-28370] fix defect for self-hosted metadata (#17464) 2025-11-18 15:24:36 -06:00
Jason Ng
fd1155ae58
[PM-27103] Add URL Check to Send (#17056)
* add dangerousPatters check to api service
2025-11-18 12:38:18 -05:00
Vicki League
96ffb56771
[CL-928] Set link component to semibold weight (#17395) 2025-11-18 11:25:48 -05:00
Oscar Hinton
9efc31534b
[PM-28231] Enable component-class-suffix (#17384)
* Enable component-class-suffix

* Rename file
2025-11-18 13:26:38 +01:00
Jordan Aasen
670f3514ba
[PM-23384] - Browser extension spotlight directing to Premium signup in web (#17343)
* premium upgrade nudge

* add specs

* clean up vault template and specs

* fix date comparison. add more specs for date

* fix spec

* fix specs

* make prop private
2025-11-17 12:36:37 -08:00
Nick Krantz
610537535a
persist archive date when cloning a cipher (#16986) 2025-11-17 14:14:03 -06:00
SmithThe4th
de17b33dd5
handle empty strings in identity view for sdk cipher encryption (#17423) 2025-11-17 15:10:50 -05:00
Jared Snider
9cd73b8738
Auth/PM-22661 - SendTokenService - improve expired token scenario docs on abstraction (#17371)
* PM-22661 - SendTokenService - improve expired token scenario docs on abstraction

* PM-22661 - SendTokenService - further clarification
2025-11-14 16:28:05 -05:00
Mike Amirault
b56229dd28
Remove import page banner when under org policy (#17348) 2025-11-14 14:27:40 -05:00
Brandon Treston
099a4a0f03
[PM-28216] Add org ability check for one time dialog (#17372)
* add org ability check for one time dialog

* exclude providers (cautionary step) and add tests
2025-11-14 08:43:10 -08:00
Andreas Coroiu
ed2d8b9549
[PM-18046] Implement session storage (#17346)
* 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 559b05eb5ab8522b9c5455fc76e8d39afcf8c3d6.

* Revert "fix: `ipc` too short"

This reverts commit 35fc99e10b60daff993115024fd703a1f0960d12.

* fix: use camelCase
2025-11-14 08:51:38 +01:00
Mark Youssef
a55d0f02f2
[CL-672] update mobile design of dialog (#14828)
---------

Co-authored-by: Vicki League <vleague@bitwarden.com>
2025-11-13 21:59:03 -05:00
Oscar Hinton
d95d86d05e
[CL-738] Migrate disclosure component (#17206) 2025-11-13 17:02:38 -05:00
Bryan Cunningham
ccf7bb1753
[CL-736] migrate chip select to use signals (#17136)
* migrate chip select to use signals

* Have Claude address feedback and create spec file

* remove eslint disable comment

* fix failing tests

* remove unnecessary tests

* improved documentation

* remove unnecessary test logic

* consolidate tests and remove fragile selectors
2025-11-13 15:53:05 -05:00
Thomas Avery
35f35c4361
[PM-26498] Add proofOfDecryption method to MasterPasswordUnlockService (#17322)
* Add proofOfDecryption method to MasterPasswordUnlockService
2025-11-13 14:06:56 -06:00
Thomas Avery
cfe2458935
[PM-24107] Migrate KM's usage of getUserKey from the key service (#17117)
* Remove internal use of getUserKey in the key service

* Move ownership of RotateableKeySet and remove usage of getUserKey

* Add input validation to createKeySet
2025-11-13 10:07:13 -06:00
Maciej Zieniuk
3da3aa5e8c
moving ownership of Auth vault timeout input component to KM (#17180)
(cherry picked from commit 5e595dabf71cdb312ae9e1e3bcc3121b3aebf19f)
2025-11-12 22:15:01 +01:00
Oscar Hinton
828fdbd169
[CL-905] Migrate CL/Badge to OnPush (#16959) 2025-11-12 15:27:14 -05:00
cyprain-okeke
7989ad7b7c
[PM-26682] [Milestone 2d] Display discount on subscription page (#17229)
* 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>
2025-11-12 20:38:13 +01:00
Vicki League
2762d46c34
[CL-806] Use header as autofocus target for dialog component (#17336) 2025-11-12 09:20:25 -05:00
Stephon Brown
421edfb020
[PM-28034] Pre-Launch Payment Defect Solution (#17331)
* 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
2025-11-11 15:51:01 -05:00
Nick Krantz
785b1cfdd2
add skeleton loader feature flag (#17337) 2025-11-11 14:20:53 -06:00
Oscar Hinton
84340cba5c
Log actual import error (#17327) 2025-11-11 16:56:59 +01:00