1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-24 16:43:27 +00:00
Commit Graph

20888 Commits

Author SHA1 Message Date
Isaiah Inuwa
cae1ae6491 Revert "Split NAPI modules [PM-31598] (#18722)" (#19112)
This reverts commit fd90efabe4.
2026-02-20 13:45:30 -06:00
Github Actions
531a9df6b0 Bumped Desktop client to 2026.2.1 2026-02-20 19:25:42 +00:00
Brad
72be42ed68 [PM-32127] Access Intelligence: persist selected applications through filter updates (#18990)
This PR includes changes to the Access Intelligence table view, which keep Applications selected in the table as the user makes changes to filters (search bar, critical applications filter). This required updating logic to ensure only visible rows in the table are considered for updates to critical status with the "Mark # as critical" button, while still maintaining the full list of selected applications in the component's selectedUrls.

The Applications table component is also refactored to use Angular output for checkbox state, emitting events on checkbox changes for individual table rows and "select all". The parent component handles these events by updating the set of selected Applications (selectedUrls) accordingly.

Test cases are updated/added to cover the updated checkbox functionality.
2026-02-20 14:11:17 -05:00
Alex Dragovich
84845024fd [PM-32502] fixed icon / copy value spacing in button on send access page (#19092)
* [PM-32502] fixed icon / copy value spacing in button on send access page

* [PM-32502] using more approriate button configuration on send access
2026-02-20 10:29:40 -08:00
Bernd Schoolmann
3a56f2e832 [PM-30785|BEEEP] Remove deprecated master key login with device flow (#17943)
* Remove deprecated master key login with device flow

* Resolve conflicts / cleanup

* Linting

* Fix lint

* Run prettier
2026-02-20 13:22:05 -05:00
Bernd Schoolmann
0569ec9517 [PM-31880 | BEEEP] Move random out of keyservice to PureCrypto (#18838)
* Move random to PureCrypto

* Rename and fix builds

* Fix tests

* Fix build

* Prettier

* Fix tests
2026-02-20 19:09:52 +01:00
John Harrington
38bcc92398 reset otp state on back nav to email input (#19105) 2026-02-20 11:03:13 -07:00
Nick Krantz
99fdaaec91 cast feature flag mock (#19106) 2026-02-20 17:03:46 +00:00
John Harrington
c623407621 [PM-32471] [Defect] Importers have regressed during folder migration (#19079)
* relax type-checking and add importer test coverage

* satisfy lint
2026-02-20 09:31:49 -07:00
Nick Krantz
a610ce01a2 [PM-31433] Welcome Dialog with Extension Prompt (#18849)
* add welcome prompt when extension is not installed

* add feature flag

* move prompt logic to internal service and add day prompt

* rename dialog component

* remove feature flag hardcode and add documentation

* use i18n for image alt

* move state into service

* be more explicit when the account or creation date is not available

* remove spaces

* fix types caused by introducing a numeric feature flag type

* add `typeof` for feature flag typing
2026-02-20 10:23:59 -06:00
Vijay Oommen
a7c74c6f76 [PM-32372] Added testid for table and then fixed tech debt (#19066) 2026-02-20 10:17:08 -06:00
bw-ghapp[bot]
e82669b999 Autosync the updated translations (#19095)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-20 17:08:39 +01:00
Oscar Hinton
1f69b96ed6 Add linting rule to detect when icons are used in buttons (#19104)
* Add linting rule to detect when icons are used in buttons

* Update docs for links

* Add lint for link
2026-02-20 15:54:36 +00:00
Oscar Hinton
bc23640176 [CL] Document the start and end icon attributes (#19100) 2026-02-20 15:09:05 +00:00
Vicki League
e16503f093 [PM-24178] Handle focus when routed dialog closes in vault table (#18409) 2026-02-20 10:01:38 -05:00
Jonathan Prusik
aa4eac7d40 do not show passkey dialog and notifications at the same time (#18878) 2026-02-20 10:01:04 -05:00
John Harrington
767caa4312 [PM-32472] [Defect] Generator page will not display on desktop (#19085)
* remove redundant link and import

* apply lost styles
2026-02-20 07:51:05 -07:00
Bernd Schoolmann
bb110122a5 [PM-30144] Implement client-side user-key-rotation-service (#18285)
* Implement client-side user-key-rotation-service

* Feature flag

* Add tests

* Fix flag name

* Fix build

* Prettier

* Small clean-up

* Codeowners order cleanup

* Fix eslint issue

* Update sdk to 550

* Cleanup & fix incompatibilities

* Prettier
2026-02-20 15:28:24 +01:00
Bernd Schoolmann
40c8139e1c Update sdk to 550 (#19084) 2026-02-20 13:45:30 +01:00
bw-ghapp[bot]
2f6a5133f8 Autosync the updated translations (#19094)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-20 13:24:40 +01:00
bw-ghapp[bot]
b0549dbfb6 Autosync the updated translations (#19093)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-20 12:04:36 +01:00
Alex
3663574113 [PM-31496] Reports back button placement (#18706)
* place back button fixed at bottom right

* fix type errors

* add the new button logic to org reports also

* fix: restore keyboard focus for reports back button in CDK overlay

  The CDK Overlay renders outside the cdkTrapFocus boundary, making the
  floating "Back to reports" button unreachable via Tab. Add a focus bridge
  element that intercepts Tab and programmatically redirects focus to the
  overlay button, with a return handler to cycle focus back into the page.
2026-02-19 17:43:51 -08:00
bmbitwarden
702e6086b9 PM-30876 resolved screenreader for icons on send table rows (#18940)
* PM-30876 resolved screenreader for icons on send table rows

* PM-30876 resolved grey icon issue

* PM-30876 resolved blank underline issue

* PM-30876 resolved screen reader

* PM-30876 resolved screen reader
2026-02-19 19:26:18 -05:00
Oscar Hinton
8ec9c55b18 Adjust desktop header color (#19082) 2026-02-19 21:18:48 +01:00
Oscar Hinton
caa28ac5b3 [PM-32481] Apply same custom scrollbar to nav (#19083)
* Apply same custom scrollbar to nav

* Split colors
2026-02-19 21:18:17 +01:00
John Harrington
8399815ea7 [PM-32237] Add back functionality to email OTP auth flow (#19024)
* add back functionality to OTP auth flow

* respond to review comments

* hoist email value to parent component

---------

Co-authored-by: Alex Dragovich <46065570+itsadrago@users.noreply.github.com>
2026-02-19 10:59:59 -08:00
Mike Amirault
04aad44322 [PM-31774] Remove toggle visibility callout on hidden text sends (#18924) 2026-02-19 09:54:15 -08:00
Jordan Aasen
46a2af38a0 [PM-31974] - Vault Welcome dialog (#18960)
* premium upgrade prompt and onboarding dialog

* finalize onboard vault dialog

* vault welcome dialog no ext

* finish welcome dialog prompt

* revert changes to unified upgrade prompt service

* rename component

* rename feature flag

* add welcome dialog service

* fix tests

* fix footer position in welcome dialog

* present dialog in order

* fix tests

* fix padding
2026-02-19 09:29:54 -08:00
Vijay Oommen
d0ccb9cd31 [PM-32013] Empty state incorrectly rendered (#19033) 2026-02-19 11:12:03 -06:00
Alex Morask
4f256fee6d [PM-29087] [PM-29088] Remove FF: pm-26793-fetch-premium-price-from-pricing-service - Logic + Flag (#18946)
* refactor(billing): remove PM-26793 feature flag from subscription pricing service

* test(billing): update subscription pricing tests for PM-26793 feature flag removal

* chore: remove PM-26793 feature flag from keys
2026-02-19 09:26:18 -06:00
Brandon Treston
c8ba23e28d [PM-26378] Auto confirm events (#19025)
* add notification handler for auto confirm

* add missing state check

* fix test

* isolate angular specific code from shared lib code

* clean up

* use autoconfirm method

* add event logging for auto confirm

* update copy
2026-02-19 09:57:52 -05:00
✨ Audrey ✨
e66a1f37b5 Extract urlOriginsMatch utility and refactor senderIsInternal (#19076)
Adds urlOriginsMatch to @bitwarden/platform, which compares two URLs by
scheme, host, and port. Uses `protocol + "//" + host` rather than
`URL.origin` because non-special schemes (e.g. chrome-extension://)
return the opaque string "null" from .origin, making equality comparison
unreliable. URLs without a host (file:, data:) are explicitly rejected
to prevent hostless schemes from comparing equal.

Refactors senderIsInternal to delegate to urlOriginsMatch and to derive
the extension URL via BrowserApi.getRuntimeURL("") rather than inline
chrome/browser API detection. Adds full test coverage for
senderIsInternal.

The previous string-based comparison used startsWith after stripping
trailing slashes, which was safe in senderIsInternal where inputs are
tightly constrained. As a general utility accepting arbitrary URLs,
startsWith can produce false positives (e.g. "https://example.com"
matching "https://example.com.evil.com"). Structural host comparison
is the correct contract for unrestricted input.
2026-02-19 08:45:24 -05:00
Bernd Schoolmann
6498ec42f8 [BEEEP] Add util functions for uint8 array conversion (#18451)
* Add util functions for uint8 array conversion

* Use polyfill instead of old functionality

* Replace last usage of old functions
2026-02-19 14:04:43 +01:00
Thomas Avery
c9b821262c [PM-30927] Fix lock component initialization bug (#18822) 2026-02-18 17:08:33 -06:00
Leslie Xiong
1efd74daaf fixed berry styles for dark mode (#19068) 2026-02-18 17:59:18 -05:00
Jackson Engstrom
d1250cf5a4 [PM-26704] Vault List Item Ordering for Extension (#18853)
* shows all/filtered ciphers in allItems instead of the ones that haven't been bubbled up into autofill or favorites

* removes remainingCiphers$ remnants

* updates loading$ observable logic

* updates loading$ test
2026-02-18 14:34:17 -08:00
Meteoni-San
c90b4ded33 Revert "Inform user if Desktop client already running (#17846)" as per user feedback (#18897)
This reverts commit a199744e24.

Co-authored-by: neuronull <9162534+neuronull@users.noreply.github.com>
2026-02-18 15:22:38 -07:00
John Harrington
f8b5e15a44 [PM-31731] [Defect] No error is returned when entering an invalid email + an invalid verification code (#18913)
* share i18n key for both invalid email and invalid otp submission

* claude review
2026-02-18 14:08:57 -08:00
John Harrington
263ec94124 [PM-32161] Remove all emails when email list field is cleared and send is saved (#18959)
* add new validation criteria to prevent authType.Email with an empty emails field

* simplify validation logic
2026-02-18 14:59:34 -07:00
Jason Ng
bca2ebaca9 [PM-30122] allow no folders inside browser folder settings (#19041) 2026-02-18 16:22:50 -05:00
Mike Amirault
6dea7504a6 [PM-26732] Remove Chromium ABE importer feature flag (#19039) 2026-02-18 14:49:51 -05:00
Stephon Brown
ab59590019 [PM-29823] Add Tests for Updates (#19040)
* refactor: Remove direct self-hosted org creation from OrganizationPlansComponent

* tests: Add comprehensive test suite for OrganizationPlansComponent
2026-02-18 14:32:08 -05:00
Isaac Ivins
5444869456 PM-31733: Sends Drawer Persisting On Side Nav Change (#18762)
* using activeDrawerRef with onDestroy

* improved refs type checking - removed cdr
2026-02-18 10:20:08 -08:00
Todd Martin
c086df14e7 chore(ownership): Move account-fingerprint to KM ownership 2026-02-18 12:56:53 -05:00
Bernd Schoolmann
935bf3655c Update sdk to 546 (#19056) 2026-02-18 10:08:16 -07:00
Mike Amirault
f7f06267ee [PM-31347] Add missing messages resulting in empty toast on invalid export master password (#19037) 2026-02-18 11:50:52 -05:00
John Harrington
bc6b1c3b83 [PM-32242] Error message is incorrectly formatted for password protected Send (#18991)
* re-work error display to match design specs

* fix password auth in attemptV1Access

* fix locales file (formatting)
2026-02-18 09:34:57 -07:00
Alex
1ef8f257b0 [PM-31803] Fix Password Manager reports not displaying items with limited collection access (#18956)
When "Owners and admins can manage all collections and items" is OFF, Password Manager
reports incorrectly filter out items from collections where the user has "Can view",
"Can view except passwords", or "Can edit except passwords" access.

The root cause is that all five PM report components filter ciphers using
`(!this.organization && !edit) || !viewPassword`. Since PM reports run without an
organization context (this.organization is undefined), this condition excludes any
item where edit=false or viewPassword=false. These permission checks are unnecessary
for PM reports because:

1. Personal vault items always have edit=true and viewPassword=true, so the checks
   never applied to them.
2. Organization items should appear in reports regardless of permission level — the
   user has collection access, and edit restrictions should only affect the item
   dialog, not report visibility.
3. Admin Console reports (which work correctly) skip this filtering because
   this.organization is always set, making the condition always false.

This also explains why "Can edit except passwords" items only appeared in the
Unsecured Websites report — it was the only report that didn't check !viewPassword.

Removed the edit/viewPassword filter conditions from all five PM report components:
- exposed-passwords-report
- weak-passwords-report
- reused-passwords-report
- inactive-two-factor-report
- unsecured-websites-report
2026-02-18 08:00:36 -08:00
Isaiah Inuwa
dda862a8c6 Revert "Bumped client version(s)" (#19062)
This reverts commit 51731c1526. The desktop version was bumped erroneously, skipping 2026.2.0.
2026-02-18 15:39:58 +00:00
Alex Morask
5161a232f5 [PM-29055] Remove pm-25379-use-new-organization-metadata-structure feature flag (#18848)
Remove the fully-enabled feature flag and simplify the billing metadata
API to always use the vNext endpoints. The legacy API path is removed
since the server will no longer serve it.

- Remove FeatureFlag.PM25379_UseNewOrganizationMetadataStructure enum and default
- Delete legacy getOrganizationBillingMetadata() API method (old /billing/metadata path)
- Rename vNext methods to remove VNext suffix
- Simplify OrganizationMetadataService to always use cached vNext path
- Remove ConfigService dependency from OrganizationMetadataService
- Update tests to remove feature flag branching
2026-02-18 09:06:10 -06:00