1
0
mirror of https://github.com/bitwarden/browser synced 2026-01-22 04:13:49 +00:00
Commit Graph

20329 Commits

Author SHA1 Message Date
Jordan Aasen
e25dd785a6 open help links in new tab (#18109) 2026-01-05 15:18:56 -08:00
Jordan Aasen
1cb5d5ce7a [PM-30249] - allow org ciphers to be archived (#18214)
* allow org ciphers to be archived

* fix title in item footer unarchive
2026-01-05 15:18:00 -08:00
Vincent Salucci
86764d807a [PM-22434] Remove CreateDefaultLocation feature flag references and definition (#18057)
* chore: remove ff from vault-popup-list-filters.service, refs PM-22434

* chore: remove ff from confirm.command, refs PM-22434

* chore: remove ff from bulk-confirm-dialog.component, refs PM-22434

* chore: remove ff from member-actions.service and clean up leftover imports, refs PM-22434

* chore: remove ff from policy-edit-dialog.component, refs PM-22434

* chore: remove ff from organization-data-ownership.component, refs PM-22434

* chore: remove ff from vnext-organization-data-ownership.component, refs PM-22434

* chore: remove ff from vault-filter.service, refs PM-22434

* chore: remove ff from vault-filter.service (libs), refs PM-22434

* chore: remove ff from export.component, refs PM-22434

* chore: update observeMyItemsExclusionCriteria method documentation comments, refs PM-22434

* chore: remove ff from item-details-section.component, refs PM-22434

* chore: remove ff definition, refs PM-22434

* fix: remove configService from superclasses, refs PM-22434

* chore: update injection for VaultPopupListFilters service instantiation, refs PM-22434

* chore: update ConfirmCommand instantiation, refs PM-22434

* chore: update import order in member-actions.service, refs PM-22434

* fix: constructor argument update to amend merge conflict, refs PM-22434

* chore: remove unnecessary feature flag related tests for confirm user, refs PM-22434

* fix: remove unused services from member-actions.service.spec, refs PM-22434
2026-01-05 16:25:57 -06:00
renovate[bot]
0f56b3f3dd [deps] Autofill: Update @lit-labs/signals to v0.2.0 (#18201)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 12:30:09 -08:00
Jared
fe03052fe6 [PM-25721] Retain leading spaces in imported fields. (#16411)
* Implement cleanupCipher method in BaseImporter with tests for notes and name handling

- Added cleanupCipher method to preserve leading/trailing spaces in notes and set them to null if they contain only whitespace or are empty.
- Updated the BaseImporter class to remove trimming of notes to maintain original formatting.
- Added unit tests for cleanupCipher to verify behavior for various note and name scenarios.

* Got rid of unneeded cipher spec test

* Got rid of unneeded comment

* Fix service and importers for tests to pass

* Fix sdk.service.ts

* Refactor URL normalization in ApiService to streamline request URL construction

* Fixed PR comments

* Add back comment

---------

Co-authored-by: Mike Amirault <mamirault@bitwarden.com>
2026-01-05 11:48:10 -05:00
Isaac Ivins
cf285abd3d Feature/pm 25865 migrate send list desktop migration (#18008)
This PR moves the Desktop Send list UI into a shared library component and updates the Desktop Send v2 component to use modern Angular patterns (Signals, OnPush, no manual subscriptions)
2026-01-05 15:37:24 +01:00
Bryan Cunningham
f341b00092 [CL-947] drawer width variants (#18156)
* allow drawer to adapt to size input

* add new drawer sizes

* move logic back to dialog component

* convert width to computed signal

* fix template error and remove duplicate class

* use normal const object

* ensure dialogSize undefined is handled
2026-01-05 08:59:11 -05:00
renovate[bot]
1208b42ab9 [deps]: Update dtolnay/rust-toolchain digest to f7ccc83 (#16412)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2026-01-05 11:09:33 +00:00
bw-ghapp[bot]
f3d34ad9c1 Autosync the updated translations (#18180)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-05 10:53:22 +00:00
bw-ghapp[bot]
6bc8cfcd72 Autosync the updated translations (#18178)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-05 04:40:53 -06:00
bw-ghapp[bot]
899e1ba77f Autosync the updated translations (#18179)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-05 10:16:03 +00:00
Derek Nance
6183492b8f Fix skipped memory storage tests (#18168)
This commit fixes the tests that were skipped as part of #17245.
2026-01-05 11:12:31 +01:00
Oscar Hinton
738df45f38 Add input for forcing active state on group & disable toggle (#18043) 2026-01-05 11:07:37 +01:00
Robyn MacCallum
3558db0e0c Revert "[PM-29418] Fix SSH list not working while locked (#17866)" (#18171)
This reverts commit 24dcbb48c6.
2026-01-02 09:48:39 -05:00
Addison Beck
2665a29f2d fix(desktop): restore explicit target to Linux builds (#18169)
Commit a3e654d (https://github.com/bitwarden/clients/pull/16053) removed explicit --target flags from the Linux desktop build workflow when removing musl support. This change inadvertently broke the build.js binary distribution logic, which only copies the desktop_proxy binary to the dist directory when an explicit target is specified. Without this binary in the expected location (/opt/Bitwarden/desktop_proxy), browser integration fails on Linux.

This fix restores explicit --target flags using gnu triplets instead of the previously removed musl triplets. The x64 build now uses --target=x86_64-unknown-linux-gnu and the arm64 build uses --target=aarch64-unknown-linux-gnu, ensuring build.js properly distributes the desktop_proxy binary and restoring browser integration functionality on Linux desktop.
2025-12-31 13:34:52 -06:00
Todd Martin
528f59875e chore(deps): Include Cargo dependencies in dep-ownership lint check
* Added Cardo dep ownership.

* Fixed file paths.

* Moved aes-gcm from KM to Tools.
2025-12-31 14:01:26 -05:00
Thomas Avery
966f9a0c52 [PM-29928] Fix biometrics status check when native messaging permission is missing (#18154)
* Dont check biometrics status when nativeMessaging permission isn't granted

* Increase polling interval and add unit tests
2025-12-31 12:53:57 -06:00
Mick Letofsky
c6b02080d8 Revert review Code Triggered by labeled event (#18165) 2025-12-31 16:17:41 +00:00
Maciej Zieniuk
7fa1a6f07f [PM-27236] account registration v2 for key connector (#17951)
* account registration v2 for key connector

* explicit naming

* test coverage

* missing AccountCryptographicStateService and DI dependencies

* redundant SdkLoadService.Ready

* update sdk version
2025-12-31 11:04:54 +01:00
Maciej Zieniuk
2b5f474bf0 incorrectly serialized symmetric crypto key in session storage (#18150) 2025-12-31 08:31:26 +01:00
Alex Morask
11b5342df7 Remove circular invocation / have Account menu use new premium dialog (#17980) 2025-12-30 13:03:51 -06:00
Mick Letofsky
5b3e083af3 Review Code Triggered by labeled event (#18151) 2025-12-30 18:14:54 +01:00
Leslie Tilton
800a21d8a3 [PM-28548] Phishing Blocker support links (#18070)
* Change domain terminology to web addresses

* Added phishing resource file

* Finish renaming and adding runtime configuration for domains vs links setting

* Update reference

* Add matching functions per resource

* correct URL matching logic for links-based detection

Problem:
The phishing link matcher was failing to detect known phishing URLs due to
two issues:

1. Protocol mismatch: Entries in the phishing list use `http://` but users
   typically visit `https://` versions. The matcher was comparing full URLs
   including protocol, causing legitimate matches to fail.
   - List entry: `http://smartdapptradxx.pages.dev`
   - User visits: `https://smartdapptradxx.pages.dev/`
   - Result: No match (incorrect)

2. Hostname-only matching would have caused false positives: An earlier
   attempt to fix #1 included hostname-only comparison, which defeats the
   purpose of links-based detection. The goal of PM-28548 is precise URL
   matching to avoid blocking entire domains (like pages.dev, github.io)
   when only specific paths are malicious.

Solution:
- Always strip protocol (http:// or https://) from both entry and URL
  before comparison, treating them as equivalent
- Remove hostname-only matching to maintain precision
- Keep prefix matching for subpaths, query strings, and fragments

---------

Co-authored-by: Alex <adewitt@bitwarden.com>
2025-12-30 09:06:30 -08:00
Ben Brooks
cee69f85c0 [pm-28077] Add input types to ignoredInputTypes (#17870)
* [pm-28077] Add input types to ignoredInputTypes

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* Merge branch 'main' of github.com:bitwarden/clients into pm-28077-more-ignoredInputTypes-in-CollectAutofillContentService

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* [pm-28077] Remove month input type from ignored types

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* [pm-28077] Remove month radio and checkbox types from ignored types

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* Merge branch 'main' of github.com:bitwarden/clients into pm-28077-more-ignoredInputTypes-in-CollectAutofillContentService

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* [pm-28077] Fix prettier issues/conflicts

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

* [pm-28077] Add comment regarding datetime depcrecation

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>

---------

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>
2025-12-30 08:21:10 -08:00
Daniel Riera
8a6f9bfaeb [PM-29515] Remove ts strict ignore in overlay inline menu iframe content autofill inline menu iframe service (#18030)
* use optional chaining and make portkey optional to match the AutofillInlineMenuIframeExtensionMessage

* make ariaAlertElement optional

* tiemouts are set to null for clearing, updated type to match this

* border color is conditionally applied, undefined is acceptable here

* check if aria alerts exist before calling

* return early if no styles exist for updateElementStyles or no position for updateIframePosition

* initilaize timers to null

* non null assert iframe since it is initialized in initMenuIframe which makes it safe to assert non null by lifecycle

* remove optional chainning
2025-12-30 10:36:08 -05:00
aj-bw
cf1c3226c3 replace inline removal with reusable workflow (#18144) 2025-12-30 10:07:32 +01:00
Shane Melton
696c53fac7 [PM-29209] Fix persistent browser settings berry (#18113)
* [PM-29209] Introduce new autofill nudge service specific to the Browser client

* [PM-29209] Cleanup redundant browser setting checks

* [PM-29209] Ensure nudge is dismissed on nudge button click

* [PM-29209] Add spec file for browser autofill nudge service

* [PM-29209] Cleanup settings-v2 spec file
2025-12-29 16:41:42 -08:00
Daniel Riera
7853ac3d9f PM-29509 [LO IMPACT] Remove @ts-strict-ignore in fido2/content/messaging/messenger.ts (#17913)
* PM-29509   [LO IMPACT] Remove @ts-strict-ignore in fido2/content/messaging/messenger.ts - 1 err, 137 LOC, 11.4

* strip metadata from message

* preserve one way handler
2025-12-29 21:16:58 +00:00
Daniel James Smith
1c6a83f311 [BEEEP][PM-29441] Introduce bitwarden-encrypted-json-importer (#17651)
* Introduce bitwarden-encrypted-json-importer

An effort to introduce type guards and split the logic between the differently protected bitwarden-json import-formats

* Improved stricter types, but not quite ts-strict yet

* Add guard to prevent passing password-protected exports to the wrong importer.

* Only create one return object instead of multiple

* Updated changes afer npm ci and npm run prettier

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-12-29 21:28:33 +01:00
Daniel Riera
32e0152cda [PM-29514] Remove ts strict ignore in overlay notifications content overlay notifications content service (#17947)
* early return on typedata if it is not present

* use optional chaining on null checks

* nullish coallescing operator on potentially undefined type

* optional chaining to check both that the element exists and that contentWindow is not null before calling postMessage

* add null check for this.currentNotificationBarType before calling

* add a null check before appending notificationBarRootElement, ts cant track we set the iframe across method calls

* added null checks before calling setElementStyles
2025-12-29 19:46:17 +00:00
Mark Youssef
ccb9a0b8a1 [CL-132] Implement resizable side nav (#16533)
Co-authored-by: Vicki League <vleague@bitwarden.com>
2025-12-29 14:08:33 -05:00
Jason Ng
3beeab4414 [PM-29972] Update Vault Items List When Archiving Ciphers (#18102)
* update default cipher service to use upsert, apply optional userId parameter
2025-12-29 13:49:00 -05:00
shivam
1c16b8edb9 fix(ui): clean up unintended character on login page (#18101) 2025-12-29 17:31:31 +00:00
Bernd Schoolmann
f689fd88b7 [PM-30285] Add soundness check to cipher and folder recovery step (#18120)
* Add soundness check to cipher and folder recovery step

* fix tests

---------

Co-authored-by: Maciej Zieniuk <mzieniuk@bitwarden.com>
2025-12-29 17:31:15 +00:00
Dave
2707811de8 feat(2fa-webauthn) [PM-20109]: Increase 2FA WebAuthn Security Key Limit (#18040)
* feat(2fa-webauthn) [PM-20109]: Update WebAuthN credential handling.

* feat(messages) [PM-20109]: Add 'Unnamed key' translation.

* refactor(2fa-webauthn) [PM-20109]: Refactor nextId for type safety.

* refactor(2fa-webauthn) [PM-20109]: Clean up template comments.

* fix(webauthn-2fa) [PM-3611]: Key name is required.
2025-12-29 12:19:37 -05:00
renovate[bot]
b7d2ce9d0e [deps]: Update actions/checkout action to v6 (#17715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-12-29 12:03:32 -05:00
Todd Martin
146e2c0a12 chore(feature-flags): Remove notification on inactive and locked user feature flags 2025-12-29 11:35:56 -05:00
Jason Ng
e2a1cfcbe8 [PM29951] add archive flag check to desktop vault-v2 (#18056) 2025-12-29 10:11:12 -05:00
Daniel James Smith
4e1cca132d Bump year in copyright (#18132)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-12-29 09:10:34 -06:00
neuronull
d3701c38d1 Desktop Autotype introduce strict type for keyboard input (#17141)
* Desktop Autotype introduce strict type for keyboard input

* cleanup

* fix doc typo

* unecessary into()

* use str

* propagate error

* better var name

* pass a slice

* doc comment

* napi fix

* add ownership renovate for new dep

* add code comment about modifier keys being released

* fmt

* remove keytar

* fix input struct size compute

* improve debug comment
2025-12-29 08:10:18 -07:00
Github Actions
47eb28be34 Bumped client version(s) 2025-12-29 14:59:06 +00:00
bw-ghapp[bot]
d4a276f1de Autosync the updated translations (#18130)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-28 09:57:37 +00:00
bw-ghapp[bot]
00b5329430 Autosync the updated translations (#18129)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-28 09:57:05 +00:00
bw-ghapp[bot]
8acbb246a1 Autosync the updated translations (#18128)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-28 09:56:36 +00:00
bw-ghapp[bot]
c548461650 Autosync the updated translations (#18118)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-28 10:41:29 +01:00
Alex
5ddfd91a14 correct virtual scroll rowSize for password reports (#18058)
The Exposed Passwords and Weak Passwords reports were using an incorrect
rowSize value (53px instead of 75px) for their virtual scroll tables.
This caused the \"Back to reports\" button to collide with table entries.

The issue was cumulative - more items meant more visible collision. This
fix aligns both reports with the Reused Passwords report which correctly
uses 75px for identical row structures.
2025-12-26 14:28:10 -08:00
Bryan Cunningham
2da44bb300 [CL-913] add new color palette to theme and tailwind config (#17998)
* add new color palette to theme and tailwind config

* updated docs color names

* remove safelist changes

* add missing accent colors to docs

* updated color mappings

* combined docs in colors.mdx and reference in Claude.md

* add variables for white and black

* updated docs

* updated list rendering style

* more specific docs instructions

* revert to simpler colors docs reference

* remove changes to claude.md

* use rgb color variables to compose semantic
2025-12-26 16:18:31 -05:00
Todd Martin
5c13b07366 chore(merge): Fixed date initialization on test 2025-12-26 15:28:58 -05:00
Todd Martin
91991d2da6 feat(account): [PM-29545] Update AccountInfo creationDate to use Date instead of string
* Add creationDate of account to AccountInfo

* Added initialization of creationDate.

* Removed extra changes.

* Fixed tests to initialize creation date

* Added helper method to abstract account initialization in tests.

* More test updates.

* Linting

* Additional test fixes.

* Fixed spec reference

* Fixed imports

* Linting.

* Fixed browser test.

* Modified tsconfig to reference spec file.

* Fixed import.

* Removed dependency on os.  This is necessary so that the @bitwarden/common/spec lib package can be referenced in tests without node.

* Revert "Removed dependency on os.  This is necessary so that the @bitwarden/common/spec lib package can be referenced in tests without node."

This reverts commit 669f6557b6.

* Updated stories to hard-code new field.

* Removed changes to tsconfig

* Revert "Removed changes to tsconfig"

This reverts commit b7d916e8dc.

* Updated to use Date

* Updated to use Date on sync.

* Changes to tests that can't use mock function

* Prettier updates

* Update equality to handle Date type.

* Change to type comparison.

* Simplified equality comparison to just use properties.

* Added comment.

* Updated comment to reference Date.

* Added back in internal method tests.
2025-12-26 14:42:19 -05:00
Jordan Aasen
99305a5342 only pass strings to i18n pipe (#17978) 2025-12-24 10:14:52 -08:00