Commit Graph

21302 Commits

Author SHA1 Message Date
Leslie Tilton
4c3cf00a5a
[PM-33928] Fix: Can view MyItems Passwords in Org Vault Health Reports (#19874)
* fix(bug): Admin/Owner viewing and editing ciphers from within health reports

* Change check for unassigned ciphers to include default collection check

* Remove unnecessary typecasting
2026-04-03 12:45:48 -05:00
Vicki League
3751227752
[CL-958] Update avatar component to new styles (#18975) 2026-04-03 10:24:46 -04:00
bw-ghapp[bot]
d9e4271a78
Autosync the updated translations (#19958)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-04-03 12:03:59 +02:00
Bernd Schoolmann
97329383a1
[PM-33173] Use unlock service for password login strategy (#19371)
Some checks failed
Scan / Check PR run (push) Has been cancelled
Testing / Run typechecking (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-browser junit:junit-browser.xml name:Browser paths:apps/browser bitwarden_license/bit-browser]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-cli junit:junit-cli.xml name:CLI paths:apps/cli bitwarden_license/bit-cli]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-desktop junit:junit-desktop.xml name:Desktop paths:apps/desktop]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-libs junit:junit-libs.xml name:Libs paths:libs bitwarden_license/bit-common]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-web junit:junit-web.xml name:Web paths:apps/web bitwarden_license/bit-web]) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (macos-14) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (ubuntu-22.04) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (windows-2022) (push) Has been cancelled
Testing / Rust Coverage (push) Has been cancelled
Scan / Checkmarx (push) Has been cancelled
Scan / Sonar (push) Has been cancelled
Testing / Upload to Codecov (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
* Use unlock service for login

* Fix build

* Apply feedback to move more logic behind feature flag, and use newer unlock service

* Fix types

* Fix type

* Fix test

* Fix dependencies on cli

* Cleanup

* Fix types

* Fix imports

* Fix eslint

* Prettier

* Address feedback

* Eslint

* Move unlockServiceForPasswordLogin to passwordloginstrategydata

* Eslint
2026-04-03 12:42:17 +09:00
Todd Martin
8a260537e4
fix(secure-storage): [PM-33582] Remove obsolete secure storage code
* Remove obsolete JSON value parsing.

* Remove obsolete method.
2026-04-02 19:41:28 -04:00
Jared Snider
9093a35de1
Auth/PM-34242 - Device Management Comp - Fix upsert losing isTrusted state and show trust status on pending auth request devices (#19822)
* PM-34242 - Fix upsert losing isTrusted state and show trust status on pending auth request devices

* PM-34242 - Add back br that actually did things
2026-04-02 14:59:37 -04:00
blackwood
6380248ce9
Share inline menu qualification service implementation of keyword matching with autofill service (#19263) 2026-04-02 14:56:59 -04:00
Leslie Xiong
5010c47864
fixed avatar color syncing between client apps (#19943) 2026-04-02 14:24:30 -04:00
Maciej Zieniuk
27efcdb9a0
[PM-32761] Lock causes log out on TDE account with PIN (#19594)
* switch back to default (Lock) session timeout action when PIN is enabled in master password less accounts.

* always reset to null (default) when only one action is available.

* unnecessary additional keys refresh on token storage migration
2026-04-02 18:48:53 +02:00
Github Actions
dd2c8765d6 Bumped Desktop client to 2026.4.0 2026-04-02 16:05:27 +00:00
Daniel Riera
1f3b479d47
[PM-22406]Setting Bitwarden to default browser fails after accepting permission prompt (#19813)
* preserve make default toggle when permission modal closes popup

* wire runtime
2026-04-02 09:48:30 -05:00
Conner Turnbull
037fff6e3a
[PM-31899] Remove m2 flag definition (#19869)
* Remove pm-23341-milestone-2 flagged logic from user-subscription component

Remove the enableDiscountDisplay$ feature flag observable and collapse the
ngIf/else template to always show the discount badge. The badge handles
null/no-discount gracefully.

* Remove PM23341_Milestone_2 flag definition from feature-flag enum
2026-04-02 09:07:31 -05:00
renovate[bot]
fbfe2dba94
[deps]: Update dorny/paths-filter action to v4 (#19854)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-02 09:40:28 -04:00
Oscar Hinton
61055334e7
[PM-34459] AI skill for converting figma designs to Angular component (#19866)
* Create AI skill for converting figma to angular component

* Add a note to not add NgModules
2026-04-02 11:11:05 +02:00
bmbitwarden
d91328cf89
PM-33577 added email validation (#19707) 2026-04-01 21:21:14 -04:00
bmbitwarden
73c79c4178
PM-30340 implemented upgrade button on desktop navbar (#19708) 2026-04-01 21:19:01 -04:00
renovate[bot]
f1ec2a4b96
[deps] UI Foundation: Update @compodoc/compodoc to v1.2.1 (#18713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 16:35:22 -04:00
renovate[bot]
a1e5b6d4d4
[deps] UI Foundation: Update vite-tsconfig-paths to v6 (#18085)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 16:22:07 -04:00
Alex Morask
7d43c72a82
fix(billing): map cart-level discount into discounts array in CartResponse (#19925) 2026-04-01 14:53:52 -05:00
renovate[bot]
3f43c9509b
[deps]: Update chromaui/action action to v13.3.5 (#17886)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 15:19:38 -04:00
Vicki League
9f68657f59
[CL-1130] Fix storybook a11y and console errors for admin console files (#19917) 2026-04-01 15:00:05 -04:00
Vicki League
f8cd437503
[CL-1105] Ensure hover and focus states match spec (#19638) 2026-04-01 14:39:55 -04:00
Conner Turnbull
a5db8ef2d8
Remove pm-23341-milestone-2 flagged logic from user-subscription component (#19867)
Remove the enableDiscountDisplay$ feature flag observable and collapse the
ngIf/else template to always show the discount badge. The badge handles
null/no-discount gracefully.
2026-04-01 12:58:56 -05:00
Bryan Cunningham
1b88d65f57
Update primitive colors (#19910)
* make sure primitives match figma

* update orange 600

* use lowercase in hex
2026-04-01 13:06:27 -04:00
renovate[bot]
ca1bc305c4
[deps] UI Foundation: Update svgo to v4.0.1 [SECURITY] (#19757)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bryan Cunningham <bcunningham@bitwarden.com>
2026-04-01 13:04:14 -04:00
renovate[bot]
326ac48bd3
[deps]: Update docker/login-action action to v4 (#19853)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 11:22:19 -05:00
John Harrington
650962aeb3
bump sendcontrols policy enum value (#19903) 2026-04-01 08:04:08 -07:00
BitToby
e96a0c5309
[PM-32584] fix: warn user about unsaved changes before applying desktop update (#19147)
* fix: warn user about unsaved changes before applying desktop update

* fix: update dialog

* fix: update restart to properly clean up IPC listeners on timeout and warn about unsaved Send forms

* revert: Revert AddEditComponent changes

* fix: solve type error

* fix: warn user about unsaved chagnes

* fix: use FormGroupDirective in DirtyFormService to detect dirty forms after form reassignment

---------

Co-authored-by: bittoby <bittoby@users.noreply.github.com>
2026-04-01 15:33:26 +02:00
Bernd Schoolmann
7a624abcbd
[no ticket] Improve matching of dev extension (#19880)
* Improve matching of dev extension

* Eslint

* Prettier
2026-04-01 07:15:39 +09:00
Alex
b85e096b49
[PM-33067] Fix false success toast when mark/unmark critical apps API fails (#19344)
* fix(dirt): check response.error before showing success toast for critical apps

The orchestrator's catchError converts API failures into next emissions
with response.error set. The component's next handler was unconditionally
showing a success toast without checking this field.

Now checks response.error and shows an error toast when the API call
failed. Selection is preserved on error so users can retry.

Also ensures updatingCriticalApps signal is reset on all paths (success,
caught error, and uncaught error).

[PM-33067]

* test(dirt): add tests for mark/unmark critical apps error handling

Tests verify that:
- Success toast shown when response.error is null
- Error toast shown when response.error is non-null
- Selection preserved on error, cleared on success

[PM-33067]

* fix(dirt): use specific error toast for unmark critical apps failure

Replace generic "An unexpected error has occurred" with
"Failed to unmark applications as critical" for consistency
with the mark-as-critical error toast.

* fix(dirt): check response.error in Review New Applications mark critical

The AllApplicationsComponent (Review New Applications widget) had the
same false success toast bug as the All Applications tab. The next
handler ignored the response parameter entirely, showing a success
toast even when response.error was set by the orchestrator's catchError.

Now checks response.error before showing toast. On error: shows
"Failed to mark applications as critical" and preserves selection.
Also resets markingAsCritical on all paths.

Adds unit tests for mark success and error paths.

[PM-33067]

* Revert "fix(dirt): check response.error in Review New Applications mark critical"

This reverts commit b646598613.

* fix(dirt): check response.error in application review dialog before showing success toast

The saveApplicationReviewStatus$ orchestrator method uses catchError
to convert API failures into next emissions with response.error set.
The dialog used firstValueFrom inside try/catch, but since catchError
prevents the Observable from erroring, firstValueFrom resolves
successfully and the catch block never fires.

Now checks response.error on the resolved value before showing the
success toast. On error: shows "Error saving review status" and
stays on the dialog so the user can retry.

[PM-33067]
2026-03-31 14:53:36 -07:00
neuronull
4d7ed035e6
Bump Rust version to 1.94.1 (#19888) 2026-03-31 15:01:08 -06:00
John Harrington
3f39b88b4c
[PM-31885] Consolidate all Send policies to a single policy (#19314) 2026-03-31 13:57:01 -07:00
Jordan Aasen
6ee1f7eba5
[PM-32085] - popup width migration (#19408)
* add popup width migration

* fix width names

* add type guard for popupWidthOption
2026-03-31 12:45:09 -07:00
Daniel James Smith
e014042087
[PM-33167] Replace img with TwoFactorIcon component (#19865)
* Replace usage of two factor images with TwoFactorIcon component

* Delete web scss and now unused two-factor images

* Remove mfaType from eslint whitelist

* Delete unused mfaType scss entries on browser and desktop

* Fix linting issue

* Remove icons from two factor setup dialogs

* Delete unused images on browser and desktop

* Remove mfaLogoSuffix

* Remove paragraph

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-03-31 20:22:55 +02:00
Brad
b02a0b642b
[PM-34047] Change column header in at-risk member drawers to "At-risk applications" (#19741)
* change column header in at-risk member drawers
2026-03-31 10:35:12 -07:00
Vijay Oommen
35af440881
[PM-34054] Fix text overruns (#19781) 2026-03-31 12:35:01 -05:00
Jackson Engstrom
a26188fd36
[PM-32747] Empty TOTP secrets are being saved to ciphers in web based clients (#19645) 2026-03-31 09:19:33 -07:00
Kyle Denney
13bf3bc3bf
[PM-34223] discounts rounding bug fix (#19811) 2026-03-31 09:59:02 -05:00
Jordan Aasen
9b7452e8e2
set viewPassword in cipher encrypt (#19601) 2026-03-30 16:46:47 -07:00
Nik Gilmore
ab088536bb
[PM-33952] Fix cipher key encryption logic when editing ciphers (#19695) 2026-03-30 15:23:17 -07:00
Jackson Engstrom
6980030a36
adds check for login cipher type in the more options autofill (#19712) 2026-03-30 15:06:05 -07:00
Jared Snider
011c750b9b
Auth/PM-33261 - Desktop - Change password dialog location fix (#19875)
* PM-33261 - Desktop Change Password Dialog - put into correct auth owned folder

* PM-33261 - Fix import
2026-03-30 17:41:33 -04:00
Vicki League
eff884be5f
[CL-941] Remove router focus flag from client (#19812) 2026-03-30 16:23:02 -04:00
Bryan Cunningham
a847571ded
put focus management creation in effect to account for async menu item changes (#19871) 2026-03-30 14:01:50 -04:00
rr-bw
6a858b64f8
fix(multi-client-change-password): [Auth/PM-34199] [Extension] Change Password Routing Fix (#19794)
Makes a distinct `"settings-change-password"` route on Extension - to be used when the user initiates changing their password by navigating to Settings > Account Recovery. This route uses the `ChangePasswordPageComponent` (unlike the "change-password" route, which uses the `ExtensionAnonLayoutWrapperComponent`).

Feature flag: `pm-32413-multi-client-password-management`
2026-03-30 11:00:18 -07:00
Brandon Treston
303f242034
[PM-32096] Collection name style fix (#19809)
* fix style

* add cursor
2026-03-30 13:10:21 -04:00
Vijay Oommen
0d2e295ca1
Dirt/pm 33474/setup data testids (#19807) 2026-03-30 12:05:15 -05:00
Leslie Xiong
9b859bbdaf
[CL-1136] Updated disabled org trailing icon color (#19755)
* updated disabled org trailing icon color

* added `aria-label` and `appA11yTitle` back in to icon

* updated `attr.aria-label` to `ariaLabel`
2026-03-30 12:45:57 -04:00
Daniel García
4d62a123cc
[PM-14166] Add brave and vivaldi to NMHs (#16705)
* [PM-14166] Add brave and vivaldi to NMHs

* Revert mac brave

* Update apps/desktop/src/main/native-messaging.main.ts

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-03-30 18:34:27 +02:00
Daniel Riera
4363c538e3
[PM-31331] Incorrect data shown in notification bar after consecutive logins with new ciphers (#19711)
* re init notification bar in overlay

* overlay tests

* update notification background to verify the tabs current url matches the domain which the notification was queued for, improve guard in cipher queue message

* use example sites in testing
2026-03-30 11:23:47 -05:00