Commit Graph

215 Commits

Author SHA1 Message Date
Alex Dragovich
ecfbd6c66d
[PM-32453] handle different encodings for lastpass private key (#19651)
* [PM-32453] handle different encodings for lastpass private key

* [PM-32453] improved error checking

* [PM-32453] error message changes

* [PM-32453] improving readability and code flow

* [PM-32453] fixing import
2026-03-20 12:14:12 -07:00
Alex Dragovich
885c1f2e22
[PM-33820] fix lastpass no elements error (#19624)
* [PM-33820] fix lastpass di no elements error

* [PM-33820] fixing tests
2026-03-20 10:29:16 -07:00
Mike Amirault
008311fbc8
Improve logging for LastPass direct import (#19615) 2026-03-18 09:25:28 -04:00
Will Martin
c51e95fddd
[CL-1046] Migrate importer file password dialog to new form pattern (#18931)
Updates the import file password prompt to use <form bit-dialog> pattern following the component library updates.
2026-03-16 12:06:04 -04:00
vlad-trofimov
4d4183e121
skip org import warning dialog for My Items (#19334)
Co-authored-by: vlad-trofimov <vlad@Vlads-MacBook-Pro.local>
Co-authored-by: John Harrington <84741727+harr1424@users.noreply.github.com>
2026-03-04 11:05:13 -07:00
vlad-trofimov
f0dbf65dd6
[PM-32765] [PM-32744] Default import destination to My Items when org data owner (#19242)
* [PM-32744] Default import destination to My Items when org data ownership policy is enforced

* remove feature flag gating, simplify collection selector logic

* additional code comments to explain import form behavior

---------

Co-authored-by: vlad-trofimov <vlad@Vlads-MacBook-Pro.local>
Co-authored-by: John Harrington <84741727+harr1424@users.noreply.github.com>
2026-03-04 08:28:58 -07:00
Bernd Schoolmann
71fa320557
[PM-31406] Migrate lastpass importer to special-purpose dangerous-crypto-compat (#19221)
* Introduce dangerous-compat crypto implementations

* Migrate lastpass importer to purpose-built dangerous-crypto-compat function

* Add missing export

* Prettier
2026-03-04 10:57:47 +01:00
Bernd Schoolmann
646c4da171
[PM-31406] fix: TypeScript 5.9 type compatibility fixes for tools-owned code (#19189)
* fix: TypeScript 5.9 type compatibility fixes for tools-owned code

Add explicit `as BufferSource` casts and `Uint8Array` wrapping to satisfy
stricter type checking in TypeScript 5.9. Non-functional changes.

* Fix type errors
2026-02-27 16:08:08 -05:00
John Harrington
c623407621
[PM-32471] [Defect] Importers have regressed during folder migration (#19079)
* relax type-checking and add importer test coverage

* satisfy lint
2026-02-20 09:31:49 -07:00
Mike Amirault
6dea7504a6
[PM-26732] Remove Chromium ABE importer feature flag (#19039) 2026-02-18 14:49:51 -05:00
Jordan Aasen
2a72d2e74d
[PM-25685][PM-31077] - Migrate all Folder models (#17077)
* enforce strict types on folders

* fix folder api service

* fix tests

* fix test

* fix type issue

* fix test

* add extra checks for folders. add specs

* fix folder.id checks

* fix id logic

* remove unecessary check

* name name and id optional in folder model

* fix tests

* Update folder and folderview

* fix folder with id export

* fix tests

* fix tests

* more defensive typing

* fix tests

* no need to check for presence

* check for empty name in folder toDomain

* fixes to folder

* initialize id in folder constructor. fix failing tests

* remove optional param to folder constructor

* fix folder

* fix test

* remove remaining checks for null folder id

* fix logic

* pass null for empty folder ids

* make id more explicit

* fix failing test

* fix failing test

* fix "No Folder" filter
2026-02-12 13:52:29 -08:00
Alex Dragovich
1b812d2274
Revert "Remove feature flag check from password generation (#18003)" (#18794)
This reverts commit 7c6d98b50e.
2026-02-05 13:33:44 -08:00
adudek-bw
7c6d98b50e
Remove feature flag check from password generation (#18003)
* Remove feature flag check from password generation
2026-02-05 09:46:31 -05:00
Sola
eaa7e5ab2a
[PM-30894] Support importing SSH keys from 1pux (#18391)
* Support importing SSH keys from 1pux

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>

* Propagate SSH key import error

---------

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-02-03 13:18:34 -07:00
John Harrington
201d36201f
[PM-30247] Previously archived items are not archived after import (#18546) 2026-02-02 14:38:24 -07:00
lif
2fb63e8f41
[PM-30266] Improve Buttercup CSV import mapping (#18135)
- Handle url field case-insensitively (URL, url, Url)
- Map note field to cipher notes
- Add !type to official props to exclude from custom fields
- Only add non-empty custom fields
- Add comprehensive unit tests

Fixes #17119

Signed-off-by: majiayu000 <1835304752@qq.com>
Co-authored-by: John Harrington <84741727+harr1424@users.noreply.github.com>
2026-02-02 14:36:43 -07:00
Mike Amirault
fe1410bed3
[PM-30375] Account for differences in RoboForm Windows desktop app CSV export headers (#18403) 2026-01-27 09:53:03 -05:00
lif
8b9ee0df06
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-01-27 07:48:20 -07:00
John Harrington
f8d2800859
[PM-26989] Add Support For Arc Browser on MacOS (#17909)
* added support for arc browser
2026-01-22 15:56:35 -07:00
Leslie Xiong
44bdaf71b3
Desktop/pm 18769/migrate vault filters (#17919)
Migrated vault filters to new v3 vault's navigation

* Decoupled existing vault filtering from vault component by using routed params with routed-vault-filter-bridge
* Converted vault filters to standalone components
* Removed extending filter Base Components from deprecated /libs/angular library and handled logic directly
* Moved shared 'models' and 'services' directories from web-vault into /libs/vault
2026-01-15 16:17:00 +01:00
SmithThe4th
53c6017495
Added batch encrypt many method and used that in imports (#18266) 2026-01-08 15:01:03 -05: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
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
Alex Dragovich
930cb9ab96
[PM-29896] specify noun or verb for Import / Export terms (#18012)
* [PM-29896] specify noun or verb for Import / Export terms

* [PM-29896] adjust verb to noun
2025-12-17 11:24:44 -08:00
Alex Dragovich
14dd732b52
[PM-23258] changing verbiage from import data to import items (#17123)
* [PM-23258] changing verbiage from import data to import items

* [PM-23258] Removing vault and data from import and export titles, navs, and buttons

* [PM-23258] more verbiage changes

* [PM-23258] reverting unnecessary change

* [PM-23258] removing unused text from messages json files

* [PM-23258] small text changes from design

* [PM-23258] including secrets manager changes
2025-12-12 09:43:34 -08:00
Todd Martin
27d82aaf28
feat(accounts): Add creationDate of account to AccountInfo
* 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.
2025-12-12 10:03:31 -05:00
Bernd Schoolmann
51d29f777e
[PM-24353] Drop legacy pin support (#17328)
* Drop legacy pin support

* Fix cli build

* Fix browser build

* Remove pin key

* Fix comment

* Fix CI / tests

* Add migration to remove key

* Inline export key

* Extract vault export key generation

* Cleanup

* Add migrator

* Fix mv2 build
2025-12-11 13:01:09 +01:00
Bernd Schoolmann
395e4f2c05
[PM-27591] Remove orgid in vault decryption code (#17099)
* Remove orgid in vault decryption code

* Remove folder usage without provided key

* Fix folder test

* Fix build

* Fix build

* Fix build

* Fix tests

* Update spec to not use EncString decrypt

* Fix tests

* Fix test

* Fix test

* Remove comment

* Remove org id parameter
2025-12-08 07:09:43 -07:00
Mike Amirault
b56229dd28
Remove import page banner when under org policy (#17348) 2025-11-14 14:27:40 -05:00
Oscar Hinton
84340cba5c
Log actual import error (#17327) 2025-11-11 16:56:59 +01:00
John Harrington
5e094c6066
PM-27883-Defect-Windows-Edge-browser-importer-is-not-enabled (#17260)
* remove edge from unsupported browser list

* Clarify comment for CSV import handling

Updated comment to clarify supported browsers for CSV imports.
2025-11-07 13:43:10 +01:00
Daniel James Smith
3c2f44095a
[PM-27656] Show error message when detecting Chromium v3 encryption, which isn't supported yet (#17156)
* Replace any-returns with types

* Show an error message when a failure from the native call is returned

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2025-11-06 20:53:13 +01:00
Maciej Zieniuk
ff12e672e6
[PM-23614] Remove activeUserOrgKeys$ from the key service (#17045)
* Remove activeUserOrgKeys$ from the key service

* test leftover

* test leftover
2025-11-06 19:27:13 +01:00
Vicki League
b79625def8
[PM-26984] Use medium instead of semibold or bold (#17187) 2025-11-04 08:29:31 -07:00
Daniel James Smith
2dd314e992
[PM-27083] Prevent collection nesting on import into a MyItems-collection (#16937)
* Prevent collection nesting on import into a my items collection

My Items collections do not support nested collections. The import source hierarchy needs to be flattened into the My Items collection

* Introduce new types for folder and collection relationship
Makes it easier to identify which position is for the cipherIndex and which is for the folder-/collection-index

* Fix assignment of ciphers to My items collection

* Remove unneeded type cast or assertions

* Add clarifying comment

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-10-30 21:10:01 +00:00
Daniel James Smith
9fca0b0138
[PM-26731] Fix feature flag check for "pm-25855-chromium-importer-abe" (#17102)
* Fix feature flag check for "pm-25855-chromium-importer-abe"

The old lofgic actually removed all chromium support when the flag was disabled. It should only remove those browser if the flag is disabled and when on Windows.

* Extend tests

* Update comment

* Remove duplicate test

* Add test for when device cannot be detected and throws and error

* Add descriptive comment to feature flag test case assertions

* Better test assertion

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-10-29 21:56:55 +01:00
Oscar Hinton
f23f3f87bd
Tools - Prefer signal & change detection (#16941) 2025-10-21 15:49:22 +02:00
Daniel James Smith
bbfdb60c34
[PM-26731] Add feature flag for chromium importers with ABE (#16926)
* Add missing browser to SUPPORTED_BROWSERS in windows.rs

These were previously removed due to needing ABE support

* Add feature flag for chromium importer with ABE

* Fix tests for windows

* Run cargo fmt

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-10-21 10:10:47 +02:00
Daniel James Smith
b8d55c4db1
Import: Migrate input to handle and validate organization (#16920)
* Verify route and input to be a valid organizationId

* Optimize canImport check
Instead of loading the user and organization again, used the previously loaded organization and check the permission directly

* Reset organization in case organizationId is set to undefined

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-10-17 14:45:59 +00:00
adudek-bw
7015663c38
[PM-25521] Move importer metadata to native code (#16695)
* Add importer metadata to native code

* Impl napi code in ts

* Impl napi code in ts

* Fix clippy

* Fix clippy

* remove ts util tests

* Check for installed browsers

* PR fixes

* test fix

* fix clippy

* fix tests

* Bug fix

* clippy fix

* Correct tests

* fix clippy

* fix clippy

* Correct tests

* Correct tests

* [PM-25521] Wire up loading metadata on desktop (#16813)

* Initial commit

* Fix issues regarding now unused feature flag

* Fixed ts-strict issues

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: adudek-bw <adudek@bitwarden.com>

* Remove logic to skip Brave as that now happens via the native code

* Define default capabilities which can be overwritten by specifc client/platform

* Fix DI issues

* Do not overwrite existing importers, just add new ones or update existing ones

* feat: [PM-25521] return metadata directly (not as JSON) (#16882)

* feat: return metadata directly (not as JSON)

* Fix broken builds

Move getMetaData into chromium_importer
Remove chromium_importer_metadata and any related service
Parse object from native instead of json

* Run cargo fmt

* Fix cargo dependency sort order

* Use exposed type from NAPI instead of redefining it.

* Run cargo fmt

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>

* Only enable chromium loader for installed and supported browsers

---------

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
2025-10-17 15:46:10 +02:00
John Harrington
76e4870aa3
PM-22143 Refactor TS enums to be const objects (Import only) (#16770)
* Import related changes from PR #16399
2025-10-15 09:08:47 -07:00
John Harrington
64105e64e9
[PM-24105] Remove usage of getUserKey on keyService (#16626)
• prefer undefined over null
• obtain required UserId once per method, before branching
• guards moved to beginning of methods
* lift UserId retrieval to occur once during import
* remove redundant userId retrieval
2025-10-15 07:03:29 -07:00
John Harrington
89eb60135f
[PM-24747] Remove chromium importer feature flag (#16749) 2025-10-10 13:29:12 -07:00
Mark Youssef
a4a53e27d4
[CL-616][CL-670] first pass at responsive updates to vault (#14588) 2025-10-08 10:04:39 -07:00
Shane Melton
9f0a565241
[PM-25682] Migrate CipherView and subviews to be TS strict compliant (#16463)
* [PM-25682] Remove ts-strict-ignore from Vault view models and update types to be strict

* [PM-25682] Ignore ViewEncryptableKeys error for old decrypt methods

* [PM-25682] Add null/undefined as possible types for isNull* and other helpers that include null checks internally

* [PM-25682] Use patchValue instead of setValue which does not support undefined values

* [PM-25682] Add type assertions and other misc. null checks where necessary

* [PM-25682] Fix importers specs

* [PM-25682] Cleanup card view/details

* [PM-25682] Fix cipher view hasAttachment helper

* [PM-25682] Cleanup unecessary null assignments in notification.background.spec.ts

* [PM-25682] Ensure linkedId is undefined instead of null

* [PM-25682] Cleanup misc typing errors

* [PM-25682] Make the CipherId required

* [PM-25682] Undo CipherId assertions

* [PM-25682] Undo brand initial value change

* [PM-25682] Update SshKeyView

* [PM-25682] Add constructor to Fido2CredentialView

* [PM-25682] Prettier

* [PM-25682] Fix strict type warnings after merge with main

* [PM-25682] Cleanup cipher view spec

* [PM-25682] Cleanup new type warnings after merge

* [PM-25682] Undo removed eslint-disable-next-line comment

* [PM-25682] Fix flaky test

* [PM-25682] Use satisfies instead of as for Fido2CredentialAutofillView
2025-10-07 11:40:57 -04:00
Oscar Hinton
bcc050d4de
[PM-26488][PM-26494] Disable chrome loader on MAS (#16699)
* Disable chrome loader on MAS

* Remove direct dependency on platform utils service in favour of the system

* Move check above brave condition

* Invert condition
2025-10-07 09:17:07 +02:00
Daniel James Smith
96841129e6
Use more specific error message when no login to import were found (#16723)
Some checks failed
Chromatic / Check PR run (push) Has been cancelled
Scan / Check PR run (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (macos-14) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (ubuntu-22.04) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (windows-2022) (push) Has been cancelled
Testing / Rust Coverage (push) Has been cancelled
Chromatic / Chromatic (push) Has been cancelled
Scan / Checkmarx (push) Has been cancelled
Scan / Sonar (push) Has been cancelled
Testing / Upload to Codecov (push) Has been cancelled
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-10-03 23:08:23 +02:00
Jordan Aasen
7a38b22667
[PM-24951] - update "My Items" icon to bwi-user (#16674)
* update "My Items" icon to bwi-user

* fix tests

* revert changse to reports. fix assign collections.

* revert remaining changes to reports
2025-10-02 14:39:13 -07:00
John Harrington
75253c7709
[PM-24099] Tools - Remove getOrgKey from the key service (#16351)
* replace deprecated getOrgKey() method
• obtain account using `accountService.activeAccount$` and then use id property to guarentee validity of UserId
2025-10-01 13:26:30 -07:00
Addison Beck
6837e3a674
build: add nx configuration in libs/importer (#16547) 2025-09-23 13:45:51 -07:00