1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-15 15:53:27 +00:00
Commit Graph

1102 Commits

Author SHA1 Message Date
Jordan Aasen
457aa07aa9 return updated folder when saving a folder (#12894) 2025-01-17 09:12:54 -08:00
Daniel James Smith
9eecfbc8af [PM-17189] Remove LP fileless importer (#12918)
* Remove LP fileless importer

- Remove content scripts
- Remove additions to message handlers and notifcation queue
- Remove UI elements for the importer
- Remove the actual importer code
- Remove unsued keys from en/messages.json
Remove feature flag "browser-fileless-
import"
Update webpack.config and manifest files to no longer include content scripts

* Move feature flag idp-auto-submit-login under autofill grouping

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-01-17 15:56:09 +01:00
Thomas Rittson
e4e436b768 [PM-15182] Remove remove-provider-export-permission feature flag (#12878)
* Remove remove-provider-export feature flag

* Remove ts-strict comment

* Revert changes to tests
2025-01-16 13:12:29 +10:00
Merissa Weinstein
334dd4cebe [PM-10429] remove onboarding module for the browser refresh (#12759)
* remove onboarding module

* revert package.json commit
2025-01-15 11:53:03 -06:00
✨ Audrey ✨
58bd44fa2f replace toBeTrue() with toBe(true) (#12893) 2025-01-15 16:49:26 +00:00
✨ Audrey ✨
e79dab8689 [PM-16789] introduce extension metadata (#12717) 2025-01-15 10:47:02 -05:00
Thomas Rittson
8c13ea894b [PM-16917] Remove jest-extended dependency (#12798)
* add toContainPartialObjects matcher (replacing toIncludeAllPartialMembers from jest-extended)
* replace jest-extended matchers with equivalent default matchers
2025-01-15 10:43:26 -05:00
Addison Beck
55e4b5ee09 fix: Use WeakMap in DerivedStateProvider to separate user state caches (#12866)
Bug fix for PM-15914 where switching users would incorrectly share cached
derived states. The `DerivedStateProvider` now uses a `WeakMap` to maintain
separate caches for each user's state `Observable`.

- Modifies `DefaultDerivedStateProvider` to use `WeakMap` for caching
- Each user's state `Observable` gets its own definition cache
- Added test to verify correct behavior during user switching
- Allows proper garbage collection of unused state caches

This fixes issues where:
- Users would see other users' cached states after switching accounts
- Derived states weren't properly isolated between users
- Cache keys didn't distinguish between different user states
2025-01-15 11:41:44 +01:00
Evan Bassler
5fb383d7dc [PM-16248] add notification refresh feature flag (#12859)
* add notification refresh feature flag

* update order

---------

Co-authored-by: Evan Bassler <evanbassler@Mac.attlocal.net>
2025-01-14 17:10:57 -05:00
Graham Walker
8621e8aa6a PM-16170 remove methods using deprecated send endpoints (#12751) 2025-01-14 13:16:26 -06:00
Bernd Schoolmann
318a3ac6a9 [PM-17038] Fix biometrics autoprompt in firefox and chrome (#12853)
* Fix biometrics not working in firefox or windows

* Remove logs

* Update badge after biometric unlock

* Add removal todo note

* Remove debug logging

* Fix type warnings

* Fix userkey typing in background biometrics service

* Simplify types for userkey in foreground-browser-biometrics and runtime.background.ts

* Add process reload logging

* Fix autoprompt not working when no process reload happened

* Fix instant reprompt on firefox lock

* Fix biometrics enabling error on chrome

* Update apps/browser/src/key-management/biometrics/foreground-browser-biometrics.ts

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* FIx build & linting

---------

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
2025-01-14 18:29:52 +01:00
renovate[bot]
62e879940c [deps] SM: Update typescript-eslint monorepo to v8 (major) (#10601)
* [deps] SM: Update typescript-eslint monorepo to v8

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-01-14 11:23:59 -05:00
Oscar Hinton
fbb1211a7b [PM-17029] Convert libs/common to relative imports (#12852)
Convert absolute paths in lib/common to relative.
2025-01-14 10:11:37 -05:00
Jonathan Prusik
6d07a4932a group client feature flags (#12849) 2025-01-14 09:33:37 -05:00
Jared Snider
1fcdf25bf7 Auth/PM-16947 - Web - Device Management - Add Manage Auth Requests support (#12809)
* PM-16947 - JsLibServices - register default DefaultLoginApprovalComponentService

* PM-16947 - DeviceResponse - add interface for DevicePendingAuthRequest

* PM-16947 - Web translations - migrate all LoginApprovalComponent translations from desktop to web

* PM-16947 - LoginApprovalComp - (1) Add loading state (2) Refactor to return proper boolean results (3) Don't create race condition by trying to respond to the close event in the dialog and re-sending responses upon approve or deny click

* PM-16947 - DeviceManagementComponent - added support for approving and denying auth requests.

* PM-16947 - LoginApprovalComp - Add validation error

* PM-16947 - LoginApprovalComponent - remove validation service for now.

* PM-16947 - Re add validation

* PM-16947 - Fix LoginApprovalComponent tests
2025-01-13 14:39:48 -05:00
Jonathan Prusik
fb4d7e8f05 fix broken blockedInteractionsUris state contruction (#12813) 2025-01-13 09:01:16 -05:00
Oscar Hinton
db84ccf935 [PM-16838] Forbid imports containing /src/ (#12744)
Forbids bad imports containing /src/.
2025-01-10 10:37:34 -05:00
Daniel James Smith
7df41a9aea Fix bad imports identified with #12744 (#12802)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-01-10 14:51:12 +01:00
Matt Gibson
6ef3e9a076 [PM-16831] TS Strict crypto function service (#12737)
* strict types in crypto function services

* Improve aesDecrypt types
2025-01-09 18:58:22 -05:00
Bernd Schoolmann
8cabb36c99 [PM-16699] Add decrypt trace for decrypt failures (#12749)
* Improve decrypt failure logging

* Rename decryptcontext to decrypttrace

* Improve docs

* Revert changes to decrypt logic

* Revert keyservice decryption logic change

* Undo one more change to decrypt logic
2025-01-09 20:23:55 +01:00
1fexd
a872f67523 fix: Don't try to load icon for .onion/.i2p URIs (#9125)
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Jason Ng <jng@bitwarden.com>
2025-01-09 13:23:17 -05:00
Jared McCannon
3550a904dc [PM-13764] - Update Collection Settings (#12734)
* Updating org when collection settings change.
2025-01-09 10:32:21 -06:00
Shane Melton
d72dd2ea76 [PM-16098] Improved cipher decryption error handling (#12468)
* [PM-16098] Add decryptionFailure flag to CipherView

* [PM-16098] Add failedToDecryptCiphers$ observable to CipherService

* [PM-16098] Introduce decryption-failure-dialog.component

* [PM-16098] Disable cipher rows for the Web Vault

* [PM-16098] Show decryption error dialog on vault load or when attempting to view/edit a corrupted cipher

* [PM-16098] Browser - Show decryption error dialog on vault load or when attempting to view/edit a corrupted cipher

* [PM-16098] Desktop - Show decryption error dialog on vault load or when attempting to view a corrupted cipher. Remove edit/clone context menu options and footer actions.

* [PM-16098] Add CS link to decryption failure dialog

* [PM-16098] Return cipherViews and move filtering of isDeleted to consumers

* [PM-16098] Throw an error when retrieving cipher data for key rotation when a decryption failure is present

* [PM-16098] Properly filter out deleted, corrupted ciphers when showing dialog within the Vault

* [PM-16098] Show the decryption error dialog when attempting to view a cipher in trash and disable the restore option

* [PM-16098] Exclude failed to decrypt ciphers from getAllDecrypted method and cipherViews$ observable

* [PM-16098] Avoid re-sorting remainingCiphers$ as it was redundant

* [PM-16098] Update tests

* [PM-16098] Prevent opening view dialog in AC for corrupted ciphers

* [PM-16098] Remove withLatestFrom operator that was causing race conditions when navigating away from the individual vault

* [PM-16098] Ensure decryption error dialog is only shown once on Desktop when switching accounts
2025-01-08 08:42:46 -08:00
Tom
8bb080cf93 Removing testing tabs and the learn more link (#12481) 2025-01-08 16:09:05 +01:00
Oscar Hinton
3949aae8e3 [PM-16838] Fix bad imports for shared and platform code (#12743)
Imports containing /src/ are forbidden.
2025-01-08 14:29:26 +01:00
Bernd Schoolmann
72121cda94 [PM-10741] Refactor biometrics interface & add dynamic status (#10973) 2025-01-08 10:46:00 +01:00
Alec Rippberger
f99a3c4162 feat(web): [PM-1214] add device management screen
Adds a device management tab under settings -> security that allows users to:
- View and manage their account's connected devices
- Remove/deactivate devices
- See device details like platform, last login, and trust status
- Sort and filter device list with virtual scrolling

Resolves PM-1214
2025-01-07 13:29:36 -06:00
cyprain-okeke
02556c1416 Changes to restart cancelled org (#12730) 2025-01-07 20:09:37 +01:00
Jonathan Prusik
966e8d3fb8 [PM-16667] Followup clarifying work (#12665)
* clean up readability

* fix ts-strict violations

* fix consistency with uncertain cases in isCardExpired
2025-01-07 13:48:18 -05:00
Conner Turnbull
91d6963074 [PM-14366] Deprecated active user state from billing state service (#12273)
* Updated billing state provider to not rely on ActiveUserStateProvider

* Updated usages

* Resolved browser build

* Resolved web build

* Resolved CLI build

* resolved desktop build

* Update apps/cli/src/tools/send/commands/create.command.ts

Co-authored-by:  Audrey  <ajensen@bitwarden.com>

* Move subscription visibility logic from component to service

* Resolved unit test failures. Using existing userIds where present

* Simplified activeUserId access

* Resolved typescript strict errors

* Resolved broken unit test

* Resolved ts strict error

---------

Co-authored-by:  Audrey  <ajensen@bitwarden.com>
2025-01-07 10:25:26 -05:00
Jared Snider
1075d7a798 PM-16685 - Web - Fix locking (#12722) 2025-01-06 18:56:21 -05:00
Jonathan Prusik
15faf52f57 [PM-13115] Allow users to disable extension content script injections by domain (#11826)
* add disabledInteractionsUris state to the domain settings service

* add routes and ui for user disabledInteractionsUris state management

* use disabled URIs service state as a preemptive conditon to injecting content scripts

* move disabled domains navigation button from account security settings to autofill settings

* update disabled domain terminology to blocked domain terminology

* update copy

* handle blocked domains initializing with null value

* add dismissable banner to the vault view when the active autofill tab is on the blocked domains list

* add autofill blocked domain indicators to autofill suggestions section header

* add BlockBrowserInjectionsByDomain feature flag and put feature behind it

* update router config to new style

* update tests and cleanup

* use full-width-notice slot for domain script injection blocked banner

* convert thrown error on content script injection block to a warning and early return

* simplify and enspeeden state resolution for blockedInteractionsUris

* refactor feature flag state fetching and update tests

* document domain settings service

* remove vault component presentational updates
2025-01-06 17:10:34 -05:00
SmithThe4th
10c8a2101a [PM-12049] Remove usage of ActiveUserState from folder service (#11880)
* Migrated folder service from using active user state to single user state

Added extra test cases for encrypted folder and decrypted folders

Updated derived state to use decrypt with key

* Update callers in the web

* Update callers in the browser

* Update callers in libs

* Update callers in cli

* Fixed test

* Fixed folder state test

* Fixed test

* removed duplicate activeUserId

* Added takewhile operator to only make calls when userId is present

* Simplified to accept a single user id instead of an observable

* Required userid to be passed from notification service

* [PM-15635] Folders not working on desktop (#12333)

* Added folders memory state definition

* added decrypted folders state

* Refactored service to remove derived state

* removed combinedstate and added clear decrypted folders to methods

* Fixed test

* Fixed issue with editing folder on the desktop app

* Fixed test

* Changed state name

* fixed ts strict issue

* fixed ts strict issue

* fixed ts strict issue

* removed unnecessasry null encrypteed folder check

* Handle null folderdata

* [PM-16197] "Items with No Folder" shows as a folder to edit name and delete (#12470)

* Force redcryption anytime encryption state changes

* Fixed text file

* revert changes

* create new object with nofolder instead of modifying exisiting object

* Fixed failing test

* switched to use memory-large-object

* Fixed ts sctrict issue

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
2025-01-02 17:16:33 -05:00
Alex Morask
15cc4ff1eb [PM-14461] Update organization state after subscription update (#12222)
* Update organization state after subscription update

* QA: Fix SM trial seat adjustment
2025-01-02 15:37:09 -05:00
Jonas Hendrickx
c724b0d974 [PM-13999] show estimated tax for taxable countries (#12245) 2025-01-02 20:28:04 +01:00
Jonathan Prusik
e47b5a15fd [PM-16667] Fix flaky card expiry tests (#12659)
* fix improper date month subtraction

* fix mishandling of 0 month value
2025-01-02 14:09:57 -05:00
cyprain-okeke
899b16966a [PM-15814]Alert owners of reseller-managed orgs to renewal events (#12607)
* Changes for the reseller alert

* Resolve the null error

* Refactor the reseller service

* Fix the a failing test due to null date

* Fix the No overload matches error

* Resolve the null error

* Resolve the null error

* Resolve the null error

* Change the date format

* Remove unwanted comment

* Refactor changes

* Add the feature flag
2024-12-31 18:06:45 +01:00
Jason Ng
894dd2c896 [PM-16507] update new device verification notice state definition (#12608) 2024-12-30 19:24:31 -05:00
Kyle Spearrin
f434334a88 [PM-16428] Option for primary click action to autofill on Vault view (#12557)
* add option for primary click action to autofill

* setting option string

* autofill setting for click items to autofill

* fix showQuickCopyActions

* apply setting
2024-12-27 08:51:17 -05:00
Andreas Coroiu
1d335bb164 [PM-16262] Make getEnvironment observable and use it in SdkService (#12501)
* feat: re-implement getEnvironment as an observable

* feat: deprecate `getEnvironment`

* fix: use correct environment function in SdkService

* fix: test
2024-12-20 15:20:23 +01:00
Oscar Hinton
8caadacfbc [PM-16217] Remove wasm timeout (#12476)
Remove the WASM timeout logic and supported$.
2024-12-20 13:54:52 +01:00
Nick Krantz
0f3803ac91 [PM-11442] Emergency Cipher Viewing (#12054)
* force viewOnly to be true for emergency access

* add input to hide password history, applicable when the view is used from emergency view

* add extension refresh version of the emergency view dialog

* allow emergency access to view password history

- `ViewPasswordHistoryService` accepts a cipher id or CipherView. When a CipherView is included, the history component no longer has to fetch the cipher.

* remove unused comments

* Add fixme comment for removing non-extension refresh code

* refactor password history component to accept a full cipher view

- Remove the option to pass in only an id
2024-12-19 09:42:37 -06:00
Daniel García
51f6594d4b [PM-9473] Add messaging for macOS passkey extension and desktop (#10768)
* Add messaging for macos passkey provider

* fix: credential id conversion

* Make build.sh executable

Co-authored-by: Colton Hurst <colton@coltonhurst.com>

* chore: add TODO

---------

Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: Colton Hurst <colton@coltonhurst.com>
2024-12-19 09:00:21 +01:00
cyprain-okeke
12b698b11d organization status changed code changes (#12249)
* organization status changed code changes

* Remove the stop so a reconnect can be made
2024-12-18 16:31:16 +01:00
Kyle Spearrin
a4db5279b7 [PM-16097] Separate copy buttons appearance setting (#12428)
---------

Co-authored-by: William Martin <contact@willmartian.com>
2024-12-16 16:10:32 -05:00
Thomas Avery
971c157f56 [PM-12700] Add private key regeneration process (#11829)
* add user asymmetric key api service

* Add user asymmetric key regen service

* add feature flag

* Add LoginSuccessHandlerService

* add loginSuccessHandlerService to BaseLoginViaWebAuthnComponent

* Only run loginSuccessHandlerService if webAuthn is used for vault decryption.

* Updates for TS strict

* bump SDK version

* swap to combineLatest

* Update abstractions
2024-12-16 12:00:17 -06:00
Brandon Treston
31be6a7c88 [PM-12273] use organization properties for access permissions (#12358)
* use organization properties for access permissions

* clean up refactor

* simplify logic

* refactor canAccessIntegrationEditor to have all the permission checks
2024-12-16 08:33:46 +10:00
Daniel Riera
6383048197 PM-5550 Implement on-page autofil for single line TOTP (#12058)
* PM-5550 initial commit -Initial render
-Edit tests
-Clean up styling
-New method to validate totpfields

* add refresh overlay

* localize and clean up

* - Clean up code
- Remove unnecessary data from buildtotpelement
- Add feature flag
- Add aria labels to buildtotpelement
- Add tests and update relevant snapshots

* Add and translate aria labels

* add aria labels

* implement feature flag

* address totp tests

* clean up totpfield function

* fix styling and tests, update snapshots

* Update apps/browser/src/_locales/en/messages.json

Formatting suggestion

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>

* Update apps/browser/src/_locales/en/messages.json

Formatting suggestion

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>

* remove group tag

* update snapshots

* adress feedback

---------

Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
2024-12-13 12:37:16 -05:00
Tomi Belan
7a5f3b2dd4 Fix reporting of server-side errors in "bw sync". (#6855)
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
2024-12-12 13:01:03 -05:00
Brandon Treston
b2ee27c02f [PM-12443] Remove paging logic from base clients component and subclasses (#12250)
* remove ngx-infinite-scroll in provider clients components.

* cleanup, fix redirect

* cleanup

* remove function call during interpolation

* remove this in template

* add router guard, cleanup

* cleanup

* fix row height for virtual scroller
2024-12-11 09:53:52 -05:00