1
0
mirror of https://github.com/bitwarden/browser synced 2026-01-30 08:13:44 +00:00

6274 Commits

Author SHA1 Message Date
Jason Ng
50427beba6 [PM-29951] add archive flag check to vault-v3 desktop (#18660)
* add archive flag check to vault-v3 desktop, sync vault-v2 and vault-v3
2026-01-29 17:10:37 -05:00
Ben Brooks
3ca35e19dc [PM-28613] Hardcode min-height to fix vertical squish (#18461)
* [pm-28613] Hardcode min-height
* [pm-28613] Hardcode icon max-height for Safari
Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>
2026-01-29 12:56:34 -08:00
sven-bitwarden
9e36c19515 Separates policy response model for individual policy data (#18377) 2026-01-29 14:11:31 -06:00
Jared McCannon
ae64706256 [PM-30891] - Create My Items On Restore (#18454)
* Added encrypted default collection name to new feature flagged restore user methods/endpoint.

* corrected filter to use null check with imperative code
2026-01-29 13:56:35 -06:00
Daniel Riera
ac907b9044 [PM-29522] Remove @ts-strict-ignore in background/auto-submit-login.background.ts (#18333)
* add explicit checks and change remove listener to any in order to match add listener and chrome api

* address feedback

* when requestInitiator is falsy but active auto submit exists, cleanup should still occur

* add documentation to remove listener
2026-01-29 11:52:26 -06:00
Jordan Aasen
7b0957ab5e [PM-29262] - improve performance of premium spotlight observable (#18490)
* improve performance of premium spotlight observable

* re-add comment

* fix test. remove unused service
2026-01-29 09:33:08 -08:00
Nick Krantz
544dcc6757 remove unarchive button when a cipher is deleted (#18575) 2026-01-29 09:58:57 -06:00
Nick Krantz
b51d3bf9da [PM-29271] Add referrer checking for vault messages (#18346)
* update message from vault handling to check against accounts or message sender

* update valid vault referrer logic to check all configured environments
2026-01-29 09:58:31 -06:00
Oscar Hinton
a4355dbcab Ensure "MyVault" is not identified as an organaization (#18643)
When creating a new vault item in the My Vault filter owner would not be set.
2026-01-29 16:21:46 +01:00
Maciej Zieniuk
96ce13760b [PM-30307] Session key retrieval redesign for the local backed session storage (#18493)
* session key retrieval redesign for the local backed session storage

* typo

* incorrect substring

* get cache edge cases incorrectly handling to null values after removal

* test coverage

* internal `SessionKeyResolveService`
2026-01-29 16:14:41 +01:00
Colton Hurst
6d1693050c Autofill Provider Readme Update (#18624)
* Update the autofill provider readme

* Update casing based on pr suggestion
2026-01-29 08:39:45 -05:00
Leslie Xiong
1db00097d2 fixed nested folders missing 'onEditFolder' (#18629) 2026-01-29 10:51:46 +01:00
Brad
2109092a94 [PM-31354] Fix Reports page loading (#18631)
* fix reports page loading

* update to signals, leave OnPush detection strategy
2026-01-28 14:20:17 -08:00
John Harrington
0740c037a6 [PM-30922] Client changes to encrypt send access email list (#18486) 2026-01-28 14:31:48 -07:00
Vijay Oommen
9d8f1af62b PM-30539 created new component and added a filter (#18630) 2026-01-28 15:19:39 -06:00
Alex
3a232c9296 [PM-31348] phish cleanup - Address code review feedback from PR #18561 (Cursor-based phishing URL search) (#18638) 2026-01-28 16:16:06 -05:00
Addison Beck
fa5f62e1bd Revert "[PM-26821] Improve macOS fullscreen ux (#16838)" (#18606)
This reverts commit 05ca57d538.
2026-01-28 21:00:56 +00:00
Brad
d40e9a3644 [PM-30918] Migrate DIRT components to new Angular control flow syntax (#18416)
* dirt: migrate apps/web components to new control flow

* dirt: update control flow bitwarden licensed code

* consolidate @if statements, use @else where appropriate

* more cleanup

* consolidate conditionals

* remove unnecessary conditional
2026-01-28 12:47:38 -08:00
Jeffrey Holland
3632afd26e Remove ts-strict-ignore from fido2 page (#18146)
* Remove `ts-strict-ignore` from fido2 page

* Update typing issue

* Fix AssertCredentialResult type issue

* Remove non null assertions and add type guard

* Addresses topWindow non null assertion

* remove redundant check and remove ts strict from messenger

---------

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
Co-authored-by: Daniel Riera <driera@livefront.com>
2026-01-28 18:48:58 +00:00
Jason Ng
bddd6f5fb1 [PM-31253] Desktop Footer Tooltip Updates (#18580)
* update desktop archive and delete btns so tooltip shows on hover consistently.
2026-01-28 13:31:49 -05:00
Jared
136705ac08 Refactor autofill policy naming and update related translations (#18628)
- Renamed `activateAutofill` to `activateAutofillPolicy` in the policy order map and component.
- Updated corresponding translation keys in `messages.json` for consistency.
- Adjusted warning message in the `activate-autofill.component.html` to reflect the new naming convention.
2026-01-28 17:27:16 +00:00
Will Martin
5dc49f21d2 [CL-82] rename bit-icon to bit-svg; create new bit-icon component for font icons (#18584)
* rename bit-icon to bit-svg; create new bit-icon for font icons

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* find and replace current usage

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* add custom eslint warning

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix incorrect usage

* fix tests

* fix tests

* Update libs/components/src/svg/index.ts

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

* Update libs/eslint/components/no-bwi-class-usage.spec.mjs

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

* update component api

* update class name

* use icon type in iconButton component

* update type Icon --> BitSvg

* fix bad renames

* fix more renames

* fix bad input

* revert iconButton type

* fix lint

* fix more inputs

* misc fixes

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix test

* add eslint ignore

* fix lint

* add comparison story

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-01-28 11:36:27 -05:00
Jared
6d0f0b62f2 [PM-31155] reorder policies in policies page (#18564)
* Refactor policy edit registration to centralize ownership and improve organization. Reordered policies for clarity and added new policies for enhanced functionality.

* Add PolicyOrderPipe for sorting policies and update policies component to utilize it

* Add organizationDataOwnership to POLICY_ORDER_MAP for policy sorting

* Fix PR comments
2026-01-28 10:24:06 -05:00
bmbitwarden
0138abf373 PM-29919 email verification on sends (#18260)
* PM-29919 email verification on sends

* PM-29919 resolved build issue

* PM-29919 refined who can view fields

* PM-29919 resolved lint issues

* PM-29919 resolved lint issues

* PM-29919 resolved unit tests

* PM-29919 resolved lint issues

* PM-29919 resolved unit test issue

* PM-29919 resolved pr comments

* PM-29919 resolved pr comments

* PM-29919 resolved unneeded label

* PM-29919 refactored to hide instead of disable

* PM-29919 resolved pr comments

* PM-29919 resolved no auth string in PM-31200

* PM-29919 resolved bugs
2026-01-28 09:39:37 -05:00
Mike Amirault
65b224646d Tools/pm 29918/implement send auth flows (#18270)
* [PM-29918] Implement new Send auth flows

* [PM-29918] Fix types

* Trigger Claude code review

* [PM-29918] Address PR review comments

* [PM-29918] Remove duplicate AuthType const
2026-01-28 09:32:02 -05:00
Brandon Treston
c2da621663 [PM-28413] Remove feature flagged logic (#18566)
* clean up flagged logic

* fix test
2026-01-28 09:31:55 -05:00
Todd Martin
a04566ae11 chore(flags): [PM-31326] Rename ipc-channel-framework feature flag
* Rename feature flag

* Not sure what happened here.  Renaming the class.
2026-01-28 08:25:10 -05:00
Jared
af2d3c945b Fix empty toast message when owner deletes himself (#18603) 2026-01-27 15:51:46 -05:00
Jordan Aasen
7b583aa0ec [PM-26703]- Browser - Update autofill Behavior (#18467)
* apply changes to autofill

* fix tests

* fix and simplify logic
2026-01-27 12:41:33 -08:00
Conner Turnbull
4fad2c3bcd [PM-31295] Remove price from next charge on individual subscription page (#18600)
* Remove price from next charge on individual subscription page

* Revert subscription-card changes, limit scope to legacy component
2026-01-27 14:56:55 -05:00
Dave
c82ac0f574 feat(account-switching) [PM-5594]: Enabling account switching causes performance issues on safari (#18339)
* refactor(account-switching) [PM-5594]: Move account switching enabled flag to AccountSwitcherService to accommodate server-side feature flag.

* test(account-switching) [PM-5594]: Update tests to include ConfigService dependency for feature flag.

* refactor(account-switching) [PM-5594]: Remove compile-time account switching flags from browser.

* refactor(account-switching) [PM-5594]: Move initialization to ctor for strict.
2026-01-27 14:27:13 -05:00
renovate[bot]
469b26789b [deps] Platform: Update @types/node to v22.19.7 (#18567)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 12:04:50 -07:00
Isaiah Inuwa
e94a8ee5a3 Add generic autofill provider library [PM-29786] (#18075)
* Rename macos_provider to autofill_provider

* Add autofill IPC client methods needed for Windows IPC
2026-01-27 13:41:07 -05:00
Jared
4ac38c18c0 [PM-27909] dialog improvements for claim domain (#18535)
* Update domain status message from "Under verification" to "Pending" in localization and adjust corresponding template reference

* Update domain status message from "Under verification" to "Pending" in the admin console template

* Add domain verification instructions to the admin console dialog

Enhanced the domain add/edit dialog by including detailed instructions for the automatic domain claim process when the domain is not verified. Removed the previous callout component for a more streamlined user experience.

* Add new localization messages for automatic domain claim process

Included detailed instructions for the automatic domain claim process, covering the steps for claiming a domain, account ownership change, and consequences of unclaimed domains. This enhances user guidance during domain management.

* Refactor automatic domain claim process localization messages

Updated localization keys for the automatic domain claim process to improve clarity and consistency. Removed redundant messages and streamlined the instructions displayed in the admin console dialog for better user experience.
2026-01-27 13:39:34 -05:00
Jared
122bd98643 Refactor access tab label in collection dialog component to use a getter for improved readability and localization support. (#18537) 2026-01-27 13:38:22 -05:00
Jared
fe753c9c02 Add support for DuckDuckGo browser in event service (#18576) 2026-01-27 13:34:23 -05:00
Jared
42aec64689 [PM-16863] Update "auto-fill" to "autofill" for org policies (#18483)
* Fixes typo in messages.json from auto-fill to autofill to match company preference

* Strings have to be immutable as learned from Brandon. Trying to delete old key-value pair to see if that's possible

* Fix my typo
2026-01-27 13:31:02 -05:00
Jared McCannon
3e344212d6 [PM-29805] - Rollback single org enablement when auto confirm enablement fails. (#18572) 2026-01-27 12:18:37 -06:00
Oscar Hinton
cf6d02fafa [PM-31264] Broken vault filters in milestone-1 (#18589)
* Fix vault filters

Now uses the same `createFilterFunction` as web rather than the custom proxy like approach.

* Remove provide
2026-01-27 19:00:13 +01:00
Brad
1de2e33bbb [PM-31182] Add HIBP icons URL to dev configuration for allowed Content-Security-Policy domains (#18565)
* add url for loading HIBP icons

* remove old hibp location
2026-01-27 09:14:00 -08:00
Jeffrey Holland
00cf24972d [PM-28079] Add attributes to filter for the mutationObserver (#17832)
* [PM-28079] Add attributes to filter for the mutationObserver

* Update attributes based on Claude suggestions

* Updated remaining attributes

* Adjust placeholder check in `updateAutofillFieldElementData`

* Update ordering of constants and add comment

* Remove `tagName` and `value` from mutation logic

* Add new autocomplete and aria attributes to `updateActions`

* Fix autocomplete handlers

* Fix broken test for `updateAttributes`

* Order attributes for readability in `updateActions`

* Fix tests

---------

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
2026-01-27 11:28:02 -05:00
renovate[bot]
1008bf5cef [deps] Platform: Update tokio-tracing monorepo (#18238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 14:14:22 +01:00
Maciej Zieniuk
9454189df5 [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-01-27 10:28:13 +00:00
Anders Åberg
ec812a7d77 Wire up DI for PRFUnlockService in desktop (#18587) 2026-01-27 10:46:35 +01:00
Nik Gilmore
748c7c5446 [PM-30303] Migrate Cipher Delete Operations to use SDK (#18275) 2026-01-26 15:55:49 -08:00
Leslie Tilton
60c28dd182 [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-01-26 17:05:42 -06:00
Nick Krantz
ad577860be [PM-28060] Remove Skeleton Feature Flag (#18456)
* remove skeleton ff

* remove unneeded templates
2026-01-26 14:01:53 -06:00
Jordan Aasen
5e8801f7ff [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-01-26 12:00:03 -08:00
Jordan Aasen
8b9211ea62 do not show badge/button in AC (#18489) 2026-01-26 11:52:30 -08:00
Nik Gilmore
06c8c7316d [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-01-26 11:43:35 -08:00