1
0
mirror of https://github.com/bitwarden/browser synced 2026-03-01 11:01:17 +00:00
Commit Graph

2826 Commits

Author SHA1 Message Date
Hinton
a4ceb513bc Merge branch 'main' of github.com:bitwarden/clients into playwright
# Conflicts:
#	.github/CODEOWNERS
#	apps/web/config/development.json
#	apps/web/webpack.config.js
2025-12-01 12:58:05 +01:00
Github Actions
fc63c0c2cf Bumped client version(s) 2025-12-01 11:46:54 +00:00
bw-ghapp[bot]
3c660ea7d2 Autosync the updated translations (#17711)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-11-28 06:43:35 +01:00
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
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
Vicki League
2128894152 [CL-806] Focus main content after SPA navigation occurs (#17112) 2025-11-26 12:30:10 -05: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
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
Nick Krantz
cdd8a697e8 do not show copy password button on the web for users that do not have access (#17635) 2025-11-25 08:41:41 -06:00
Oscar Hinton
e6d6f8d266 Migrate org reports to standalone and remove from loose components (#15791) 2025-11-25 11:11:21 +01:00
Oscar Hinton
4c36a46ef2 Enable directive-class-suffix (#17385) 2025-11-24 18:03:16 +01:00
Andreas Coroiu
7e32d0a59f [PM-27564] Self-host configuration is not applied with nx build (#17279)
* fix: web not using env variables

* fix: apply claude suggestion

* fix: remove non-working serve targets
2025-11-24 16:36:23 +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
Nick Krantz
aa2d263751 [PM-24505] Manually open extension error message (#17116)
* update manual open message to be more generic to cover more scenarios

* update error state when attempting to open the extension via button press
2025-11-21 14:48:50 -06: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
bw-ghapp[bot]
bc7825654b Autosync the updated translations (#17531)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-11-21 09:45:19 +01:00
Jared Snider
98401ccda1 PM-28506 - TwoFactorSetupYubikey - refactor yubikey form to be rows with 1 field per row to allow remove button to be visible again. (#17519) 2025-11-20 15:22:48 -05:00
Vijay Oommen
43897df9ed [PM-27287] Items in My Items should show in Inactive 2FA report (#17434) 2025-11-20 12:52:23 -06:00
Stephon Brown
9afba33f58 [PM-26044] Update Offboarding Survey for User and Organization (#17472)
* feat(billing): update messages to add reasons

* feat(billing): update survey with switching reason based on param

* fix(billing): revert value of switching reasons

* fix(billing): revert removal of tooExpensive message

* fix(billing): Add plan type to params and update switching logic

* fix(billing): update to include logic

* fix(billing): PR feedback
2025-11-20 13:38:33 -05:00
Brandon Treston
a5caa194cd fix copy (#17504) 2025-11-20 09:51:40 -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
Alex Morask
de42cf303f [PM-27925] Refactor StripeService to allow more than one instance (#17467)
* Refactor StripeService to allow more than one instance per scope

* Fix linting issue

* Claude's feedback
2025-11-19 12:57:00 -06:00
Brandon Treston
28dc244fd3 fix error in console (#17468) 2025-11-19 13:32:50 -05:00
bw-ghapp[bot]
0912d1abe8 Autosync the updated translations (#17462)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-11-19 18:31:02 +01: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
Github Actions
b296750bcb Bumped client version(s) 2025-11-17 19:07:49 +00:00
Maximilian Power
16e4eb1dd0 updates strings (#17422)
* updated strings
2025-11-17 17:50:39 +01: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
bw-ghapp[bot]
9733ef0a3e Autosync the updated translations (#17378)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-11-14 12:33:26 +00: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 559b05eb5a.

* Revert "fix: `ipc` too short"

This reverts commit 35fc99e10b.

* 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
Alex Morask
0af77ced45 [PM-28173] Only send 1 seat in Families tax calculation (#17368)
* Fix family seat count in calculation

* Fix test
2025-11-13 13:23:33 -06:00
Leslie Tilton
37c1a5ee17 [PM-27933] Skip assign tasks view if no critical applications are selected (#17351)
* Fix reviews not saving in new applications review. Skip assign page if no at risk passwords are to be assigned. Fix bug in password change widget

* Claude comment improvements
2025-11-13 12:18:52 -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
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
Github Actions
9852027e98 Bumped client version(s) 2025-11-12 16:45:12 +00:00
Github Actions
338ea95535 Bumped client version(s) 2025-11-12 16:18:17 +00: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
Alex
089caf57c2 [PM-27757] init new apps state (#17200)
* 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>
2025-11-11 13:11:33 -05:00
Jordan Aasen
b05abdb99c [PM-24066] - handle unknown ciphers in individual vault (#17323)
* handle unknown ciphers in individual vault

* handle in edit
2025-11-11 09:26:57 -08:00
Alex Morask
09b6c35d9f [PM-279699] Clear premium interest when user subscribes or closes dialog (#17221)
* Clear premium interest when user subscribes to premium or backs out of dialog

* Kyle's feedback
2025-11-11 10:51:46 -06:00
Kyle Denney
3c1262c999 [PM-27854] close dialog when redirecting to premium page (#17243) 2025-11-11 10:32:07 -06:00
Maciej Zieniuk
021d3e53aa [PM-26056] Consolidated session timeout component (#16988)
* 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
2025-11-11 08:15:36 -06:00
Matt Gibson
06e6600f6a Use playId to track all creations within a worker.
This simplifies scenes and allows tracking of entities created during tests as well as those set up for tests.

However, we need to override the browser's `fetch` method to accomplish this. I have added a page extension that does this, but it is possible to create pages from browser contexts, contexts from browsers and even browsers from browser names. We simply need to expect imperfect coverage on this header.
2025-11-10 18:10:31 -08:00
Vicki League
c22cba76ec [PM-26984] Use medium instead of semibold or bold, and for headings (#17184) 2025-11-10 17:11:35 -05:00
SmithThe4th
1cfeef2395 Removed unused dependency (#17319) 2025-11-10 20:06:12 +00:00
Kyle Denney
e3acd27dec [PM-24284] - milestone 3 (#17230)
* first draft

# Conflicts:
#	apps/web/src/app/billing/individual/upgrade/upgrade-payment/services/upgrade-payment.service.ts
#	apps/web/src/app/billing/organizations/organization-plans.component.ts
#	libs/common/src/billing/services/subscription-pricing.service.ts
#	libs/common/src/enums/feature-flag.enum.ts

* more filtering for pricing cards

* prettier

* tests

* tests v2
2025-11-10 11:50:49 -06:00
bw-ghapp[bot]
f4e1e5982a Autosync the updated translations (#17272)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-11-10 18:26:08 +01:00
Patrick-Pimentel-Bitwarden
e9e731ecba fix(beta-tag-removal): [PM-26457] Remove Beta Tag Passkey Login (#17226)
* fix(beta-tag-removal): [PM-26457] Remove Beta Tag Passkey Login - Removed beta tag and locale string for login with passkey.
2025-11-10 11:01:24 -05:00