1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-20 19:34:03 +00:00
Commit Graph

6439 Commits

Author SHA1 Message Date
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
bitwarden-devops-bot
51731c1526 Bumped client version(s) 2026-02-18 14:32:21 +00:00
Isaiah Inuwa
cf5e194639 [BRE-1621] Fix Appx Release (#19043)
* Revert to electron-builder appx manifest template
* Remove comments
* Remove unnecessary namespaces
* Re-include Tamil translation files
* Reinstate bitwarden protocol handler
* Set minimum version to Windows 10 2016 Anniversary Update

* Fix spacing
2026-02-18 06:57:29 -06:00
Alex
03340aee71 [PM-31163] stabilize table column widths with fixed layout (#18708)
* stabilize table column widths with fixed layout (PM-31163)

Add layout="fixed" and explicit width classes to report tables to prevent
column widths from shifting during virtual scroll.

Files changed:
- weak-passwords-report.component.html
- reused-passwords-report.component.html
- exposed-passwords-report.component.html
- inactive-two-factor-report.component.html
- unsecured-websites-report.component.html

* use auto width for name column to fix width calculation (PM-31163)

  Remove tw-w-1/2 from name column headers. With layout="fixed", the
  explicit percentages didn't sum to 100%, causing inconsistent column widths.

  Before: | 48px | 50% | 25% | 25% | = 48px + 100% (overflow)
  After:  | 48px | auto | 25% | 25% | = columns sum correctly

  Name column now uses auto to fill remaining space.

* render headers in Admin Console to fix column widths (PM-31163)

  Admin Console reports had a very wide icon column because no headers were
  rendered. Without headers, table-layout: fixed uses data row content to
  determine column widths, causing inconsistent sizing.

  Root cause:
  Three reports had their entire <ng-container header> block inside
  @if (!isAdminConsoleActive), so when isAdminConsoleActive=true (Admin
  Console), no headers were rendered at all.

  Before (broken):
    @if (!isAdminConsoleActive) {
      <ng-container header>        <!-- Entire header skipped in Admin Console -->
        <th>Icon</th>
        <th>Name</th>
        <th>Owner</th>
      </ng-container>
    }

  After (fixed):
    <ng-container header>          <!-- Always render headers -->
      <th>Icon</th>
      <th>Name</th>
      @if (!isAdminConsoleActive) {
        <th>Owner</th>             <!-- Only Owner is conditional -->
      }
    </ng-container>

  This matches the pattern already used by weak-passwords-report and
  exposed-passwords-report, which were working correctly.

  Files changed:
  - unsecured-websites-report.component.html
  - reused-passwords-report.component.html
  - inactive-two-factor-report.component.html

  Result:
  - Admin Console now renders headers with correct column widths
  - Icon column is 48px (tw-w-12) as expected
  - Owner column properly hidden in Admin Console view

* truncate long item names to prevent column overflow

- you can hover cursor for tooltip to see full name
2026-02-17 20:31:08 -08:00
Alex
ec33ea4f3c [PM-27782] Update Access Intelligence loading state text (#18808)
* [PM-27782] Update Access Intelligence loading state text

  Simplify the loading progress messages shown during Access Intelligence
  report generation to be more user-friendly and concise.

  Changes:
  - Add new i18n keys with simplified text
  - Update ProgressStepConfig to use new keys

  Progress message updates:
  - "Fetching member data..." → "Reviewing member data..."
  - "Analyzing password health..." → "Analyzing passwords..."
  - "Calculating risk scores..." → "Calculating risks..."
  - "Generating report data..." → "Generating reports..."
  - "Saving report..." → "Compiling insights..."
  - "Compiling insights..." → "Done!"

* delete old messages

* remove all "this might take a few minutes"
2026-02-17 20:29:41 -08:00
Jordan Aasen
ff775c7bbc fix click on "Fill" text (#19047) 2026-02-17 16:43:37 -08:00
Jordan Aasen
24c3b8fb2b fix autofill on click behavior (#19046) 2026-02-17 16:43:23 -08:00
John Harrington
9f18a68707 remove unwanted text and place wanted in bit-hint (#18989) 2026-02-17 14:10:55 -07:00
bitwarden-devops-bot
e760b1c923 Bumped client version(s) 2026-02-17 20:45:06 +00:00
Brandon Treston
8a670f1731 fix circular dependency (#19023) 2026-02-17 14:05:14 -05:00
rr-bw
4a651fbfb3 refactor(input-password-flows) [Auth/PM-27086] Use new KM Data Types in InputPasswordComponent flows - TDE & Permission User (#18400)
Updates the SetInitialPasswordService TDE + Permission user flow to use the new KM data types:
- `MasterPasswordAuthenticationData`
- `MasterPasswordUnlockData`
This allows us to move away from the deprecated `makeMasterKey()` method (which takes email as salt) as we seek to eventually separate the email from the salt.

The new `setInitialPasswordTdeUserWithPermission()` method essentially takes the existing deprecated `setInitialPassword()` method and:
- Removes logic that is specific to a `JIT_PROVISIONED_MP_ORG_USER` case. This way the method only handles `TDE_ORG_USER_RESET_PASSWORD_PERMISSION_REQUIRES_MP` cases.
- Updates the logic to use `MasterPasswordAuthenticationData` and `MasterPasswordUnlockData`

Behind feature flag: `pm-27086-update-authentication-apis-for-input-password`
2026-02-17 10:44:21 -08:00
Nik Gilmore
e8df377ba1 [PM-30735] Fix bug causing ciphers not to load under certain circumstances. (#18895) 2026-02-17 09:10:39 -08:00
Mike Amirault
c0e9678c06 [PM-31770] Fix Send expires text formatting (#18926)
* [PM-31770] Fix Send expires text formatting

* Address PR review comments
2026-02-17 10:49:30 -05:00
John Harrington
5623568a2f [PM-31620] Browser - Incorrect "Copy link" message when Send is shared with specific people (#18982)
* add existing Send creation messages to browser

* remove unused method and associated tests
2026-02-16 15:54:22 -07:00
John Harrington
c415beb653 add password specific header (#18988) 2026-02-16 15:53:46 -07:00
Bernd Schoolmann
460b9ccb67 Fix high CPU usage on flatpak (#19006) 2026-02-16 12:42:56 +01:00
bw-ghapp[bot]
22a6fb1e6d Autosync the updated translations (#19009)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-16 11:42:43 +01:00
bw-ghapp[bot]
eb4b5721a6 Autosync the updated translations (#19007)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-16 10:36:54 +00:00
bw-ghapp[bot]
8620a2d7e4 Autosync the updated translations (#19008)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-16 04:36:42 -06:00
John Harrington
f5b1be7e62 add dynamic EV headers (#18949) 2026-02-13 14:14:31 -07:00
Jordan Aasen
323f30c8e9 [PM-29892] - fix bulk share in vault (#18601)
* fix bulk share in vault

* clean up types.

* remove unnecessary optional chain

* add back defensive programming. update restore

* fix searchableCollectionNodes

* add back optional chains
2026-02-13 11:36:39 -08:00
Brandon Treston
2912bf05e1 [PM-26901] Add notification handler for auto confirm (#18886)
* 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

* fix test
2026-02-13 14:36:11 -05:00
Jason Ng
10a20a43a3 [PM-31738] update archive toasts (#18923)
* update archive toast for all clients and trash archive restore toast, update archive cipher utilities spec
2026-02-13 13:53:11 -05:00
cyprain-okeke
f46511b3e8 [PM-30908]Correct Premium subscription status handling (#18475)
* Implement the required changes

* Fix the family plan creation for expired sub

* Resolve the pr comments

* resolve the resubscribe issue

* Removed redirectOnCompletion: true from the resubscribe

* Display the Change payment method dialog on the subscription page

* adjust the page reload time

* revert payment method open in subscription page

* Enable cancel premium see the subscription page

* Revert the removal of hasPremiumPersonally

* remove extra space

* Add can view subscription

* Use the canViewSubscription

* Resolve the tab default to premium

* use the subscription Instead of hasPremium

* Revert the changes on user-subscription

* Use the flag to redirect to subscription page

* revert the canViewSubscription change

* resolve the route issue with premium

* Change the path to

* Revert the previous iteration changes

* Fix the build error
2026-02-13 18:56:35 +01:00
John Harrington
ab0739b693 rename flag to emails (#18955) 2026-02-13 10:23:25 -07:00
Isaiah Inuwa
ab702e3a1a Don't sync invalid password ciphers to autofill (#18783) 2026-02-13 11:01:42 -06:00
Isaiah Inuwa
fa40de92b1 Remove unneeded workaround to get credential ID from request (#18784) 2026-02-13 11:01:27 -06:00
Jared
b567fea7e7 [PM-29506] Rid of old feature flag for members feature flag (#18884)
* [PM-31750] Refactor members routing and user confirmation logic

* Simplified user confirmation process by removing feature flag checks.
* Updated routing to directly use the new members component without feature flagging.
* Removed deprecated members component references from routing modules.
* Cleaned up feature flag enum by removing unused entries.

* trigger claude

* [PM-31750] Refactor members component and remove deprecated files

* Renamed vNextMembersComponent to MembersComponent for consistency.
* Removed deprecated_members.component.ts and associated HTML files.
* Updated routing and references to use the new MembersComponent.
* Cleaned up related tests to reflect the component name change.

* Refactor import statements in security-tasks.service.ts for improved readability

* Update apps/web/src/app/admin-console/organizations/manage/user-confirm.component.ts

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

* Remove BaseMembersComponent and related imports from the admin console, streamlining member management functionality.

* Remove unused ConfigService import from UserConfirmComponent to clean up code.

* Implement feature flag logic for user restoration in MemberDialogComponent, allowing conditional restoration based on DefaultUserCollectionRestore flag.

---------

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-02-13 11:38:35 -05:00
Brandon Treston
011f250684 [PM-32075] Fix self host bug due to type mismatch (#18919)
* fix self host bug with data model

* fix type issues

* fix types, make successful required
2026-02-13 10:02:36 -05:00
Daniel James Smith
69264c8841 [PM-32212] Migrate platform font icons to bit-icon (#18970)
* Changes on browser

* Changes on desktop

* Changes on web

* Fix chromatic story

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-02-13 09:43:42 -05:00
bw-ghapp[bot]
412d1b541d Autosync the updated translations (#18963)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-13 12:11:17 +01:00
bw-ghapp[bot]
7c6512c78f Autosync the updated translations (#18962)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-13 10:27:35 +01:00
bw-ghapp[bot]
c9a125b338 Autosync the updated translations (#18961)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-13 10:24:50 +01:00
Brad
8d3cbd3da6 [PM-31801] Fix: Allow admins/owners to edit all ciphers in reports when Org setting is enabled#18856
This PR fixes an issue where admins couldn't edit ciphers in organization reports when the "Allow Admin Access to All Collection Items" setting was enabled.

The fix adds a check for organization.allowAdminAccessToAllCollectionItems in the canManage() method across all organization report components. When this setting is enabled, admins/owners can now properly edit all ciphers regardless of collection membership.
2026-02-12 13:59:27 -08:00
Jordan Aasen
2a72d2e74d [PM-25685][PM-31077] - Migrate all Folder models (#17077)
* enforce strict types on folders

* fix folder api service

* fix tests

* fix test

* fix type issue

* fix test

* add extra checks for folders. add specs

* fix folder.id checks

* fix id logic

* remove unecessary check

* name name and id optional in folder model

* fix tests

* Update folder and folderview

* fix folder with id export

* fix tests

* fix tests

* more defensive typing

* fix tests

* no need to check for presence

* check for empty name in folder toDomain

* fixes to folder

* initialize id in folder constructor. fix failing tests

* remove optional param to folder constructor

* fix folder

* fix test

* remove remaining checks for null folder id

* fix logic

* pass null for empty folder ids

* make id more explicit

* fix failing test

* fix failing test

* fix "No Folder" filter
2026-02-12 13:52:29 -08:00
Brad
1be55763a3 [PM-31689] Fix Org 2FA report: cipher names should always show #18927
Fix issue where ciphers appearing in the Org 2FA report would render without the cipher name shown. This was happening for all ciphers in Collections the active User did not have access to.
2026-02-12 11:17:09 -08:00
Jason Ng
2ea2a20fd8 [PM-31700] Desktop Vault V3 Unarchive and Save Button (#18885)
* update vault-v3 to use new btn text for archive and use signals
2026-02-12 13:43:16 -05:00
Jared
2e83244158 Update showDescription property in BasePolicyEditDefinition to false (#18915) 2026-02-12 13:02:11 -05:00
Alex
bfc1833139 [PM-32088] Switch phishing data source to GitHub (#18890)
* Switch phishing data source to GitHub and remove fallback mechanism

The phish.co.za mirror is down, causing every update cycle to timeout on
the primary fetch before falling back to the GitHub raw URL. This removes
phish.co.za entirely and uses GitHub as the sole data source, which was
the original source before the mirror was introduced.

- Rename `remoteUrl`/`fallbackUrl` to `ghSourceUrl` on PhishingResource type
- Remove phish.co.za URLs from both Domains and Links resources
- Remove catchError fallback block in `_updateFullDataSet()`
- Errors now propagate to `_backgroundUpdate()` which already handles
  retries (3 attempts with 5-minute delays) and graceful degradation

* revert the fallback logic removal, change prop name, add use fallback flag

* Update Links primaryUrl to Bitwarden-hosted blocklist

* remove all fallback logic
2026-02-12 09:29:18 -08:00
Alex
7342bf672f [PM-31161] reports scroll bug (#18769)
* Fix virtual scroll gap in exposed-passwords-report by setting rowSize to 54px

* Fix virtual scroll gap in weak-passwords-report by setting rowSize to 54px
2026-02-12 09:01:30 -08:00
Thomas Avery
4d93348a2e [PM-30812] Update userKey rotation to use saltForUser (#18697) 2026-02-12 10:51:31 -06:00
Bernd Schoolmann
5c7ee4e63a Add more package types (#18939) 2026-02-12 09:43:54 -06:00
blackwood
7fcb1a7a76 Expand generic pattern for notification queue messages. (#18543) 2026-02-12 10:39:41 -05:00
Will Martin
ad8bde057f Fix EventListener type errors in inline menu list handlers (#18943)
Changed event parameter type from MouseEvent to Event in handleFillCipherClickEvent and handleViewCipherClickEvent to match the EventListener interface expected by useEventHandlersMemo.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12 09:50:31 -05:00
Jordan Aasen
396286ff9a [PM-26703] - Update Item Action Behavior for Extension (#18921)
* Revert "Revert "[PM-26703]- Browser - Update autofill Behavior (#18467)" (#18723)"

This reverts commit 5d17d9ee71.

* fix title in non-autofill list

* add feature flag

* add old logic. add specs

* revert changes

* remove comments

* update language in spec

* update appearance spec

* revert change to security-tasks

* fix logic for blocked uri. add deprecated notice.

* fix test

* fix type error
2026-02-11 16:54:05 -08:00
Ben Brooks
11e2b25ede PM-28831 Add isTrusted checks to ignore programmatically generated events (#18627)
* ignore events that do not originate from the user agent
* [pm-28831] Add isTrusted checks and update tests
* [pm-28831] Add isTrusted check to click events
* [pm-28831] Replace in-code jest exceptions with new utils
* [pm-28831] Move isTrusted checks to testable util
* [pm-28831] Remove redundant check in cipher-action.ts
* [pm-28831] Add isTrusted checks to click events in autofill-inine-menu-list
---------

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>
Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com>
2026-02-11 14:47:27 -08:00
Jason Ng
30d3a36c7e [PM-31938] refactor archive btn logic in web view modal (#18874)
* refactor showArchiveBtn logic in web view modal
2026-02-11 17:32:35 -05:00