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

20609 Commits

Author SHA1 Message Date
Mike Amirault
f7d5194e23 [PM-30375] Account for differences in RoboForm Windows desktop app CSV export headers (#18403) 2026-02-17 09:39:21 -08:00
lif
3ece6401ed fix(importer): preserve protected KeePass custom fields as hidden fields (#18136)
Protected fields (ProtectInMemory="True") were being appended to notes
when they exceeded 200 characters or contained newlines, instead of
being imported as hidden custom fields.

Now protected fields are always imported as hidden fields regardless
of their length or content, preserving their protected status.

Fixes #16897

Signed-off-by: majiayu000 <1835304752@qq.com>
Co-authored-by: John Harrington <84741727+harr1424@users.noreply.github.com>
2026-02-17 09:39:21 -08:00
Bryan Cunningham
4b2179a599 [PM-30640][PM-30641] update angular core and compiler (#18542)
Co-authored-by: Will Martin <contact@willmartian.com>
2026-02-17 09:39:21 -08:00
renovate[bot]
fd3cb8c0e5 [deps] Platform: Update tokio-tracing monorepo (#18238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-17 09:39:21 -08:00
Maciej Zieniuk
6823ab27db [PM-27283] [BEEEP] Reactive availableVaultTimeoutActions$ in vault timeout settings (#17731)
* reactive `availableVaultTimeoutActions$` in vault timeout settings

* cleanup

* deprecation docs

* explicitly provided user id

* clearer mocking

* better docs
2026-02-17 09:39:20 -08:00
Anders Åberg
b794201599 Wire up DI for PRFUnlockService in desktop (#18587) 2026-02-17 09:39:20 -08:00
Nik Gilmore
9a09754771 [PM-30303] Migrate Cipher Delete Operations to use SDK (#18275) 2026-02-17 09:39:20 -08:00
Leslie Tilton
2eadb05d7e [PM-31203] Change Phishing Url Check to use a Cursor Based Search (#18561)
* Initial changes to look at phishing indexeddb service and removal of obsolete compression code

* Convert background update to rxjs format and trigger via subject. Update test cases

* Added addUrls function to use instead of saveUrls so appending daily does not clear all urls

* Added debug logs to phishing-indexeddb service

* Added a fallback url when downloading phishing url list

* Remove obsolete comments

* Fix testUrl default, false scenario and test cases

* Add default return on isPhishingWebAddress

* Added log statement

* Change hostname to href in hasUrl check

* Save fallback response

* Fix matching subpaths in links. Update test cases

* Fix meta data updates storing last checked instead of last updated

* Update QA phishing url to be normalized

* Filter web addresses

* Return previous meta to keep subscription alive

* Change indexeddb lookup from loading all to cursor search

* fix(phishing): improve performance and fix URL matching in phishing detection

Problem:
The cursor-based search takes ~25 seconds to scan the entire phishing database.
For non-phishing URLs (99% of cases), this full scan runs to completion every time.

Before these fixes, opening a new tab triggered this sequence:
1. chrome://newtab/ fires a phishing check
2. Sequential concatMap blocks while cursor scans all 500k+ URLs (~25 sec)
3. User pastes actual URL and hits enter
4. That URL's check waits in queue behind the chrome:// check
5. Total delay: ~50+ seconds for a simple "open tab, paste link" workflow

Even for legitimate phishing checks, the cursor search could take up to 25 seconds
per URL when the fast hasUrl lookup misses due to trailing slash mismatches.

Changes:

phishing-data.service.ts:
- Add protocol filter to early-return for non-http(s) URLs, avoiding
  expensive IndexedDB operations for chrome://, about:, file:// URLs
- Add trailing slash normalization for hasUrl lookup - browsers add
  trailing slashes but DB entries may not have them, causing O(1) lookups
  to miss and fall back to O(n) cursor search unnecessarily
- Add debug logging for hasUrl checks and timing metrics for cursor-based
  search to aid performance debugging

phishing-detection.service.ts:
- Replace concatMap with mergeMap for parallel tab processing - each tab
  check now runs independently instead of sequentially
- Add concurrency limit of 5 to prevent overwhelming IndexedDB while still
  allowing parallel execution

Result:
- New tabs are instant (no IndexedDB calls for non-web URLs)
- One slow phishing check doesn't block other tabs
- Common URL patterns hit the fast O(1) path instead of O(n) cursor scan

* performance debug logs

* disable custom match because too slow

* spec fix

---------

Co-authored-by: Alex <adewitt@bitwarden.com>
2026-02-17 09:39:20 -08:00
Todd Martin
146abcd0a7 chore(deps): Added override for package-lock.json 2026-02-17 09:39:20 -08:00
renovate[bot]
df4ea935ee [deps]: Update taiki-e/install-action action to v2.66.7 (#18570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-17 09:39:20 -08:00
Nick Krantz
2f3c1a2b2d [PM-28060] Remove Skeleton Feature Flag (#18456)
* remove skeleton ff

* remove unneeded templates
2026-02-17 09:39:19 -08:00
Jordan Aasen
1592e2aaba [PM-29244] - don't use filename for download attachment label (#18444)
* don't use filename for download attachment label

* fix scroll position in browser vault

* Revert "fix scroll position in browser vault"

This reverts commit 8e415f2c89.

* fix test
2026-02-17 09:39:19 -08:00
Jordan Aasen
c969ec7cc8 do not show badge/button in AC (#18489) 2026-02-17 09:39:19 -08:00
Nik Gilmore
6856c25c6f [PM-30301][PM-30302] Use SDK for Create and Update cipher operations (#18149)
* Migrate create and edit operations to use SDK for ciphers

* WIP: Adds admin call to edit ciphers with SDK

* Add client version to SDK intialization settings

* Remove console.log statements

* Adds originalCipherId and collectionIds to updateCipher

* Update tests for new cipehrService interfaces

* Rename SdkCipherOperations feature flag

* Add call to Admin edit SDK if flag is passed

* Add tests for SDK path

* Revert changes to .npmrc

* Remove outdated comments

* Fix feature flag name

* Fix UUID format in cipher.service.spec.ts

* Update calls to cipherService.updateWithServer and .createWithServer to new interface

* Update CLI and Desktop to use new cipherSErvice interfaces

* Fix tests for new cipherService interface change

* Bump sdk-internal and commercial-sdk-internal versions to 0.2.0-main.439

* Fix linting errors

* Fix typescript errors impacted by this chnage

* Fix caching issue on browser extension when using SDK cipher ops.

* Remove commented code

* Fix bug causing race condition due to not consuming / awaiting observable.

* Add missing 'await' to decrypt call

* Clean up unnecessary else statements and fix function naming

* Add comments for this.clearCache

* Add tests for SDK CipherView conversion functions

* Replace sdkservice with cipher-sdk.service

* Fix import issues in browser

* Fix import issues in cli

* Fix type issues

* Fix type issues

* Fix type issues

* Fix test that fails sporadically due to timing issue
2026-02-17 09:39:19 -08:00
Nick Krantz
e646fd0e04 remove risk insights for premium feature flag (#18446) 2026-02-17 09:39:19 -08:00
Nick Krantz
6130ced8db upgrade node-fetch (#18482) 2026-02-17 09:39:19 -08:00
Oscar Hinton
b65d5af94b [CL-904] Migrate CL/Navigation to use OnPush (#16958)
* Migrate CL/Navigation to use OnPush

* Modernize the code

* Swap to signals and class

* Further tweaks

* Remove this.

* Replace setOpen and setClose with a public signal

* fix merge issues and signal-ifying service

* fix class and style bindings

* fix accidental behavior change from merge conflicts

* fix redundant check

* fix missed ngClass

* fix comment

* Re-add share ng-template

---------

Co-authored-by: Vicki League <vleague@bitwarden.com>
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-17 09:39:18 -08:00
Leslie Tilton
d3e8d8c4c0 [PM-30808] Migrate Phishing Detection storage to PhishingIndexedDbService (#18517)
* Initial changes to look at phishing indexeddb service and removal of obsolete compression code

* Convert background update to rxjs format and trigger via subject. Update test cases

* Added addUrls function to use instead of saveUrls so appending daily does not clear all urls

* Added debug logs to phishing-indexeddb service

* Added a fallback url when downloading phishing url list

* Remove obsolete comments

* Fix testUrl default, false scenario and test cases

* Add default return on isPhishingWebAddress

* Added log statement

* Change hostname to href in hasUrl check

* Save fallback response

* Fix matching subpaths in links. Update test cases

* Fix meta data updates storing last checked instead of last updated

* Update QA phishing url to be normalized

* Filter web addresses

* Return previous meta to keep subscription alive
2026-02-17 09:39:18 -08:00
bitwarden-devops-bot
cf94e41967 Bumped client version(s) 2026-02-17 09:39:18 -08:00
Vijay Oommen
cef22639f3 [PM-29501] Use bit-chip-select when there are too many orgs (#18368) 2026-02-17 09:39:18 -08:00
Oscar Hinton
ae5630621a Fix milestone 1 vault list not showing when not using sdk crypto (#18550) 2026-02-17 09:39:18 -08:00
Jason Ng
f048002874 [PM-31188] Desktop Trash Items Context Menu Updates (#18530)
* apply isDeleted check to other options in desktop context menu for items
2026-02-17 09:39:18 -08:00
renovate[bot]
e8841eabab [deps]: Update Minor github-actions updates (#18434)
* [deps]: Update Minor github-actions updates

* Revert update of actions/create-github-app-token in test-browser-interactions.yml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2026-02-17 09:39:17 -08:00
Vijay Oommen
99bf08ec25 PM-30799 added html clean up for the domain (#18393) 2026-02-17 09:39:17 -08:00
bw-ghapp[bot]
b6e04fb7c0 Autosync the updated translations (#18560)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:39:17 -08:00
bw-ghapp[bot]
2315c5ad1b Autosync the updated translations (#18558)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:39:17 -08:00
bw-ghapp[bot]
2b9950d0ab Autosync the updated translations (#18559)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:39:16 -08:00
Rui Tomé
9d5f7a6a32 [PM-28842] Add max length validation to master password policy form (#18237)
* Update master password policy dialog to limit the minimum length to 128

* Update master password policy to use dynamic maximum length from Utils

* Add unit tests for MasterPasswordPolicyComponent to validate password length constraints and scoring
2026-02-17 09:39:16 -08:00
Anders Åberg
e0e5d307e1 PM-2035: PRF Unlock (web + extension) (#16662)
* PM-13632: Enable sign in with passkeys in the browser extension

* Refactor component + Icon fix

This commit refactors the login-via-webauthn commit as per @JaredSnider-Bitwarden suggestions. It also fixes an existing issue where Icons are not displayed properly on the web vault.

Remove old one.

Rename the file

Working refactor

Removed the icon from the component

Fixed icons not showing. Changed layout to be 'embedded'

* Add tracking links

* Update app.module.ts

* Remove default Icons on load

* Remove login.module.ts

* Add env changer to the passkey component

* Remove leftover dependencies

* PRF Unlock

Cleanup and testes

* Workaround prf type missing

* Fix any type

* Undo accidental cleanup to keep PR focused

* Undo accidental cleanup to keep PR focused

* Cleaned up public interface

* Use UserId type

* Typed UserId and improved isPrfUnlockAvailable

* Rename key and use zero challenge array

* logservice

* Cleanup rpId handling

* Refactor to separate component + icon

* Moved the prf unlock service impl.

* Fix broken test

* fix tests

* Use isChromium

* Update services.module.ts

* missing , in locales

* Update desktop-lock-component.service.ts

* Fix more desktoptests

* Expect a single UnlockOption from IdTokenResponse, but multiple from sync

* Missing s

* remove catches

* Use new control flow in unlock-via-prf.component.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Changed throw behaviour of unlockVaultWithPrf

* remove timeout comment

* refactired webauthm-prf-unlock.service internally

* WebAuthnPrfUnlockServiceAbstraction -> WebAuthnPrfUnlockService

* Fixed any and bad import

* Fix errors after merge

* Added missing PinServiceAbstraction

* Fixed format

* Removed @Inject()

* Fix broken tests after Inject removal

* Return userkey instead of setting it

* Used input/output signals

* removed duplicate MessageSender registration

* nit: Made import relative

* Disable onPush requirement because it would need refactoring the component

* Added feature flag (#17494)

* Fixed ById from main

* Import feature flag from file

* Add missing test providers for MasterPasswordLockComponent

Add WebAuthnPrfUnlockService and DialogService mocks to fix test failures
caused by UnlockViaPrfComponent dependencies.

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2026-02-17 09:39:16 -08:00
bmbitwarden
d97af20127 Pm 30608 defect the send page is not refreshed after removing the text in the search bar (#18421)
* PM-30608 resolved search bug

* PM-30608 resolved x button click issue
2026-02-17 09:39:16 -08:00
SmithThe4th
71f9dfbe60 Force sync to get immediate organization revoke on the extension (#18545) 2026-02-17 09:39:16 -08:00
Shane Melton
31f35e7ac1 [PM-31199] Fix flaky Vault test (#18544)
* Fix flaky spec file

* Remove duplicate i18nPipe import that was causing warnings
2026-02-17 09:39:16 -08:00
Jason Ng
9182a2cc26 [PM-30890] Desktop Sync Improvements for Archive (#18466) 2026-02-17 09:39:15 -08:00
Vijay Oommen
a1e62100d6 [PM-30879] Huntress Integration (#18505) 2026-02-17 09:39:15 -08:00
Maciej Zieniuk
f8b62a8c44 [PM-26049] Always store users auto unlock key on Cli (#18477)
* Always store auto user key on CLI

* update unit tests

* prevent bad vault timeout state

* Update libs/key-management/src/key.service.ts

Co-authored-by: Bernd Schoolmann <mail@quexten.com>

---------

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2026-02-17 09:39:15 -08:00
Bryan Cunningham
efc7c8cf38 fix overlap of product switcher in side nav (#18533) 2026-02-17 09:39:15 -08:00
Thomas Avery
384b153778 [PM-27486] Remove feature flag PM25174_DisableType0Decryption (#18413) 2026-02-17 09:39:15 -08:00
Bryan Cunningham
651cb7bbb2 [CL-841] landing layout component (#17969)
* wip

* wip

* implement new control flow syntax

* new landing helper components

* add missing imports to header

* create max width container

* create landing card component

* address claude feedback

* fix center aligned text

* ensure secondary content is centered for now

* only render container when there is content

* remove max width container

* remove constructor init of variable

* remove unnecessary styling

* build styling into helper components

* ensure content grows

* ensure content takes allowed width

* apply padding to elements instead of header and check for projected content

* use Array.from to filter nodes

* fix logo width

* use has selector to apply actions styles, simplify heading padding

* remove unneeded content projection

* remove unneeded comment

* use modern control flow for story

* update max width classes to signal and remove switch

* make logo input readonly

* remove variables

* remove object type

* fix width types usage

* add comments about component usage

* fix broken variable reference

* fix broken max width class usage

* only appyly y padding to header actions
2026-02-17 09:39:15 -08:00
Jackson Engstrom
03bc9d47e8 [PM-20079] Updates header new/invite members button text spacing 2026-02-17 09:39:14 -08:00
Jason Ng
8f1d1c42d0 [PM-31072] If Archive Item is in Trash, remove Unarchive button (#18481) 2026-02-17 09:39:14 -08:00
Leslie Xiong
9929b3562c [BUG FIX]Desktop/Pm 31148/Pm 31149/Unexpected behaviors for Collections and Folders (#18506)
* fixed collections still appearing if all orgs are suspended

* fixed 'No folders' not displaying vault items

* PR followup:
- converted `allOrganizationsDisabled` to computed property
- converted observables to signals
2026-02-17 09:39:14 -08:00
Oscar Hinton
c258b5e453 Use correct key for new send (#18523) 2026-02-17 09:39:14 -08:00
adudek-bw
db1e0b0788 Change send success page text to not mention email verification (#18382)
* Change send success page text to not mention email verification

* [PM-30706] replacing message and fixing double word bug

* [PM-30706] improving message parameters

---------

Co-authored-by: Alex Dragovich <46065570+itsadrago@users.noreply.github.com>
Co-authored-by: Alex Dragovich <adragovich@bitwarden.com>
2026-02-17 09:39:14 -08:00
Oscar Hinton
0af9aed3d9 [PM-31158] Change default send to file for old ui (#18526)
* Change default send to file for old ui

* Trigger change detection to ensure signals are refreshed
2026-02-17 09:39:13 -08:00
Oscar Hinton
97ce4181a6 Disable rounded corner in desktop (#18498) 2026-02-17 09:39:13 -08:00
bw-ghapp[bot]
383f5fb023 Autosync the updated translations (#18514)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:39:13 -08:00
bw-ghapp[bot]
eb8516ad6a Autosync the updated translations (#18515)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:39:13 -08:00
bw-ghapp[bot]
defd67ebb4 Autosync the updated translations (#18513)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:39:12 -08:00
Daniel James Smith
f4b3286ae3 Replace deprecated codecov/test-results-action with codecov/codecov-action with report_type set to test_results (#18497)
https://github.com/codecov/test-results-action?tab=readme-ov-file#%EF%B8%8F-deprecation-warning-%EF%B8%8F

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-02-17 09:39:12 -08:00
John Harrington
0536fdd8f5 [PM-26989] Add Support For Arc Browser on MacOS (#17909)
* added support for arc browser
2026-02-17 09:39:12 -08:00