Commit Graph

21294 Commits

Author SHA1 Message Date
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
Nick Krantz
30ab005da5
[PM-19168] Remove Archive Feature Flag (#19829)
* remove archive feature flag

* fix dependency within services module
2026-03-30 10:23:38 -05:00
Jared
6cdbd80057
[PM-33372] hide prompt if org does not use my items (#19475)
* Enhance policy management by adding organization input to policy edit components and dialogs. Update edit method to include organization context, enabling feature entitlements based on organization settings. Adjust templates to conditionally render options based on organization properties.

* Refactor PolicyEditDialogComponent to change access modifiers for properties. Update policyType and saveDisabled$ to protected and instance variables respectively, enhancing encapsulation and consistency in the component's structure.

* Refactor PolicyEditDialogComponent to change property access modifiers from readonly to instance variables for loading, saveDisabled$, and policyComponent, improving flexibility in component state management.

* Refactor PoliciesComponent tests to use property accessors and improve type definitions

- Updated mockPolicyResponse and mockPolicyResponsesData to include explicit type definitions.
- Changed direct property access to bracket notation for organizationId$, organization$, policies$, and policiesEnabledMap$ observables.
- Enhanced edit method calls to include organization parameter in tests.
- Added new tests for conditional behavior based on organization.useMyItems in vNextOrganizationDataOwnershipPolicyComponent.
- Implemented logic to enable/disable controls based on policy and organization state.

* Refactor PolicyEditDialogComponent to use Angular signals for state management

- Updated loading state and saveDisabled properties to use signals instead of traditional variables.
- Modified template bindings to reflect changes in loading state and save button disable logic.
- Enhanced component initialization to ensure proper handling of policy component and its state.
- Improved observables management with takeUntilDestroyed for better resource cleanup.

* Refactor Policy Edit Dialogs to use Angular signals for loading state management

- Updated loading state bindings in HTML templates to call loading() as a function.
- Refactored TypeScript components to utilize typed accessors for policy components.
- Enhanced observables for save button disable logic to ensure proper state handling.
- Improved error handling and initialization checks for policy components.

* Fix test setup for AutoConfirmPolicyDialogComponent by updating policyComponent initialization to use bracket notation for better type handling.

* Refactor policy components to remove organization ID references and utilize organization objects directly. Update related dialog components and tests to ensure consistency with the new structure. This change enhances clarity and reduces redundancy in policy management.

* Refactor policy components to improve organization handling. Update policies component to directly use organization objects instead of IDs. Adjust related components and services for consistency, enhancing clarity in policy management.

* Refactor PoliciesComponent tests to eliminate organization ID references and directly use organization objects. Update related test cases for consistency and clarity in policy management.

* Refactor policy dialog components to enhance type safety by checking component instances instead of using type assertions. This change improves code clarity and maintainability.

* Enhance unit tests for policy dialog and vault services by improving mock implementations and ensuring accurate date calculations. Update organization references to use object structures for better clarity and maintainability in policy management.

* fix(tests): Update date calculation in WebVaultExtensionPromptService tests for clarity
2026-03-30 10:35:32 -04:00
Jared McCannon
2c011fcf69
[PM-30614] - Fix double event log in browser ext popup (#19657)
* Moved the task scheduler registration to the init method to ensure we're not re-registering it. Also made a no-op upload service for when the extension is popped out so we don't push events from both threads.
2026-03-30 09:33:54 -05:00
Brandon Treston
ee08880372
[PM-30190] Add validator for revoked emails when inviting users (#19815)
* add validator for revoked emails when inviting users

* remove unneeded emails propertly
2026-03-30 10:13:44 -04:00
Vicki League
66c203ea3d
[CL-1049] Make fallback autofocus approach for dialogs (#19561)
Co-authored-by: Will Martin <contact@willmartian.com>
2026-03-27 16:02:17 -04:00
Jackson Engstrom
74a8a4dc21
[PM-34131] Editing ciphers with change at risk password banner fails on web (#19785)
* adds try catch in the resource loader to stop error looping

* uses computed signal instead of resource directly

* fixes strict type check
2026-03-27 11:59:13 -07:00
Leslie Xiong
e563c2d185
fixed desktop nav group anchor link color and cipher name styles (#19820) 2026-03-27 13:51:09 -04:00
Todd Martin
bbd13946f6
feat(sdk): [PM-32677] Optimize sdk-update workflow
* Remove test and lint from job.

* Fixed label

* Updated to use gitHead for commit check.

* Removed duplicate version.

* Move git identity.
2026-03-27 13:38:23 -04:00