1
0
mirror of https://github.com/bitwarden/browser synced 2026-01-28 15:23:53 +00:00
Commit Graph

20312 Commits

Author SHA1 Message Date
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
Jordan Aasen
77ccc3eb49 [PM-26656] - remove AutofillConfirmation feature flag (#18074)
* remove AutofillConfirmation feature flag

* fix tests. remove feature flag tests
2025-12-23 14:24:23 -08:00
Vicki League
735f885091 [PM-30141] Fix page height and a11y by removing extra <main> (#18099) 2025-12-23 15:55:33 +00:00
Bernd Schoolmann
3fbb4aced9 [PM-27239] Tde registration encryption v2 (#17831)
* tmp

* Implement TDE v2 registration via SDK

* Undo encstring test string change

* Add feature flag

* Add tests

* Continue tests

* Cleanup

* Cleanup

* run prettier

* Update to apply new sdk changes

* Fix build

* Update package lock

* Fix tests

---------

Co-authored-by: Bernd Schoolmann <quexten@fedora-2.fritz.box>
2025-12-23 16:27:25 +01:00
Vicki League
dc1ecaaaa2 [PM-29819][CL-806] Fix focus mgmt on search and filter page navigations (#18007) 2025-12-22 16:55:20 -05:00
Jared Snider
d95739191b PM-30125 - IdentityTokenResponse - mark deprecated properties as such (#18092) 2025-12-22 15:56:12 -05:00
gitclonebrian
328ff89747 bumped cargo deny version to fix CVSS error (#18091) 2025-12-22 15:19:08 -05:00
Alex Morask
59a1b4d79e Remove FF: pm-22415-tax-id-warnings (#17871) 2025-12-22 14:14:23 -06:00
Anders Åberg
5d79d44015 chore: move @nx packages to devDependencies (#18062)
These packages are build/tooling dependencies and should not be in
production dependencies.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 18:13:39 +01:00
Mike Amirault
dfb597c236 [PM-24015] Handle Send form empty password field properly (#17911) 2025-12-22 11:04:14 -05:00
bw-ghapp[bot]
ec20e5937a Autosync the updated translations (#18089)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-22 07:43:04 +00:00
bw-ghapp[bot]
e73d5770d3 Autosync the updated translations (#18088)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-22 07:42:26 +00:00
bw-ghapp[bot]
5c2cfee8df Autosync the updated translations (#18087)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2025-12-22 07:42:07 +00:00
Bernd Schoolmann
2d6d1dfe53 [PM-29929] Exclude organization vault items in data recovery tool (#18044)
* Exclude organization vault items in data recovery tool

* Allow undefined organization id
2025-12-21 20:46:18 +00:00
renovate[bot]
ea975610e6 [deps] Platform: Update electron to v39 (#17301)
* [deps] Platform: Update electron to v39

* Update and change builder

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2025-12-19 17:39:59 -05:00
Dave
0064f18ccd fix(set-initial-password) [PM-28494]: Newly created master password not accepted on unlock until after re-login on browser extension (#17930)
* fix(set-initial-password-service) [PM-28494]: Update MP data and decryption property sets to accommodate legacy and new paths for service.

* fix(set-initial-password-component) [PM-28494]: Add salt and mp data to credentials object.

* refactor(set-initial-password-service) [PM-28494]: Additional comments.

* test(set-initial-password-service) [PM-28494]: Update tests for added credential members.
2025-12-19 14:56:13 -05:00
bmbitwarden
481386218a PM-24189 improved screen reader parsing for special character checkbox (#17361)
* PM-24189 improved screen reader parsing for special character checkbox

* PM-24189 resolved voiceOver issue

* PM-24189 resolved voiceOver issue

* PM-27628 resolved pr comment re id and aria labels and comments

* PM-24189 resolved pr comment
2025-12-19 13:26:40 -05:00
Leslie Tilton
ea4666e3c1 [PM-25884] Move Phishing Detection Safari check to PhishingDetectionSettingsService (#18042)
* Move safari check to phishing detection settings to expose to all places using phishing detection

* Remove duplicate comment
2025-12-19 11:58:14 -06:00