Commit Graph

246 Commits

Author SHA1 Message Date
Will Martin ec866c744e
[PM-4195] LastPass importer flow (#6541)
* Split up import/export into separate modules

* Fix routing and apply PR feedback

* Renamed OrganizationExport exports to OrganizationVaultExport

* Make import dialogs standalone and move them to libs/importer

* Make import.component re-usable

- Move functionality which was previously present on the org-import.component into import.component
- Move import.component into libs/importer
Make import.component standalone
Create import-web.component to represent Web UI
Fix module imports and routing
Remove unused org-import-files

* Enable importing on deskop

Create import-dialog
Create file-menu entry to open import-dialog
Extend messages.json to include all the necessary messages from shared components

* Renamed filenames according to export rename

* Make ImportWebComponent standalone, simplify routing

* Pass organizationId as Input to ImportComponent

* use formLoading and formDisabled outputs

* use formLoading & formDisabled in desktop

* Emit an event when the import succeeds

Remove Angular router from base-component as other clients might not have routing (i.e. desktop)
Move logic that happened on web successful import into the import-web.component

* Enable importing on deskop

Create import-dialog
Create file-menu entry to open import-dialog
Extend messages.json to include all the necessary messages from shared components

* use formLoading & formDisabled in desktop

* Add missing message for importBlockedByPolicy callout

* Remove commented code for submit button

* Implement onSuccessfulImport to close dialog on success

* fix table themes on desktop & browser

* fix fileSelector button styles

* update selectors to use tools prefix; remove unused selectors

* update selectors

* Wall off UI components in libs/importer

Create barrel-file for libs/importer/components
Remove components and dialog exports from libs/importer/index.ts
Extend libs/shared/tsconfig.libs.json to include @bitwarden/importer/ui -> libs/importer/components
Extend apps/web/tsconfig.ts to include @bitwarden/importer/ui
Update all usages

* Rename @bitwarden/importer to @bitwarden/importer/core

Create more barrel files in libs/importer/*
Update imports within libs/importer
Extend tsconfig files
Update imports in web, desktop, browser and cli

* import-lastpass wip

* Lazy-load the ImportWebComponent via both routes

* Fix import path for ImportComponent

* add validation; add shared folders field

* clean up logic

* fill fileContent on account change

* Use SharedModule as import in import-web.component

* show spinner on pending validation; properly debounce; refactor to loadCSVData func

* fix pending submit guard

* hide on web, show on desktop & browser

* reset user agent fieldset styles

* fix validation

* File selector should be displayed as secondary

* update validation

* Fix setUserTypeContext always throwing

* refactor to password dialog approach

* remove control on destroy; dont submit on enter keydown

* helper to serialize vault accounts (#6556)

* helper to serialize vault accounts

* prettier

* add prompts

* Add missing messages for file-password-prompt

* Add missing messages for import-error-dialog

* Add missing message for import-success-dialog

* Create client-info

* Separate submit and handling import, add error-handling

* Move catch and error handling into submit

* Remove AsyncValidator logic from handleImport

* Add support for filtering shared accounts

* add sso flow to lp import (#6574)

* stub out some sso flow

* use computer props

* lastpass callback

* baseOpenIDConnectAuthority

* openIDConnectAuthorityBase

* comments

* camelCase user type context model

* processSigninResponse

* Refactor handleImport

* use large dialogSize

* remove extra setUserTypeContext

* fix passwordGenerationService provider; pass all errors to ValidationErrors

* add await SSO dialog & logic

* Move lastpass related files into separate folder

* Use bitSubmit to override submit preventDefault (#6607)

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

* Use large dialogSize

* revert jslib changes

* PM-4398 - Add missing importWarning

* make ui class methods async

* add LastPassDirectImportService

* update error handling

* add OOB methods (manual passcode only)

* fix typo

* respond to SSO callback

* localize error messages

* remove uneeded comment

* update i18n

* add await sso i18n

* add not implemented error to service

* fix getting k2

* fix k1 bugs

* null checks should not be strict

* update awaiting sso dialog

* update approveDuoWebSdk

* refactor oob login flow

* Removing fieldset due to merge of https://github.com/bitwarden/clients/pull/6626

* Refactoring to push logic into the service vs the component

Move all methods related to MFA-UI into a LastPassDirectImportUIService
Move all logic around the import into a LastPassDirectImportService
The component now only has the necessary flows but no knowledge on how to use the lastpass import lib or the need for a OIDC client

* Remove unneeded passwordGenerationService

* move all import logic to service

* apply code review: remove name attributes; use protected fields; use formGroup.value

* rename submit method and add comment

* update textarea id

* update i18n

* remove rogue todo comment

* extract helper asyncValidatorsFinished

* Remove files related to DuoUI we didn't need to differentiate for MFA via Duo

* Add missing import

* revert formGroup.value access

* add email to signInRequest

* add try again error message

* add try again i18n

* consistent clientinfo id (#6654)



---------

Co-authored-by: William Martin <contact@willmartian.com>

* hide on browser

* add lastpass prefix

* add shared i18n copy to web and browser

* rename deeplink

* use protected field

* rename el ids

* refactor: remove nested conditional

* update form ids in consuming client components

* remove unnecessary return statement

* fix file id

* use ngIf

* use hidden because of getElementById

* Remove OIDC lib logging

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Kyle Spearrin <kspearrin@users.noreply.github.com>
Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com>
2023-10-23 17:46:49 +00:00
renovate[bot] f12047c78c
Pin dependency electron-builder to 23.6.0 (#6655)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-23 11:23:27 +02:00
Oscar Hinton ffb67be0a2
[ADR-0006][AC-319] Migrate all tests to use jest mock instead of substitute (#6520)
Standardize on using jest mock instead of having two mocking frameworks which can be confusing.
2023-10-17 17:02:33 +00:00
Will Martin bb9de00ad7
[PM-4300] downgrade electron to v25.9.1 (#6573) 2023-10-13 10:26:56 -04:00
renovate[bot] 320c1a5970
Update dependency postcss to v8.4.31 [SECURITY] (#6530)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-09 12:29:22 +02:00
Will Martin b05b3a2935
[PM-4230] bump Electron to v26.3.0 (#6511) 2023-10-06 12:12:54 -04:00
Oscar Hinton 3bb2e4306a
[PM-4147] Bump electron to 24.8.5 (#6457) 2023-09-29 16:42:05 +02:00
Oscar Hinton a9c25e8310
[BEEEP] [PM-4043] Remove date-input-polyfill (#6372) 2023-09-22 10:33:46 +00:00
Matt Bishop 8dc11a6f12
Upgrade to latest electron v24 (#6295) 2023-09-14 14:29:04 -04:00
Will Martin 373569833f
[PS-2841] remove SweetAlert2 dependency (#6191)
* remove swal from app.component

* remove dep

* remove unused swal css
2023-09-11 17:15:27 -04:00
renovate[bot] 7b4faeaaca
Update npm minor (#5724)
* Update npm minor

* Do not update past prettier major version

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2023-08-15 15:54:39 -04:00
Oscar Hinton b56bb19c02
[CL-117] Update storybook, re-add addon-designs and add eslint (#6015) 2023-08-15 17:25:51 +00:00
Matt Gibson 4bd750c166
Override orphaned dependency version (#5729)
replacestream's owner uses an email domain which is on unregistered.
lock version to avoid dependency update attack.
2023-07-03 14:56:14 +00:00
Bernd Schoolmann cd85a4c039
Automatically load SIMD binary for argon2 (#4921) 2023-06-12 13:59:59 -05:00
renovate[bot] a3110f89fc
chore(deps): update npm minor (#5524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-05 16:33:21 +02:00
renovate[bot] 9f3365623b
fix(deps): update dependency @koa/router to v12 (#5534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-29 14:45:56 +02:00
renovate[bot] db1a394964
chore(deps): update dependency @types/koa__router to v12 (#5533)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-29 14:20:48 +02:00
renovate[bot] f4cf53c308
chore(deps): pin dependency remark-gfm to 3.0.1 (#5521)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-26 16:12:32 +02:00
Oscar Hinton f7b372a0b0
[PM-2276] Upgrade Storybook to v7 (#5258) 2023-05-26 15:58:06 +02:00
renovate[bot] 09e119ad9b
fix(deps): update dependency jsdom to v22 (#5499)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-23 20:43:56 +02:00
renovate[bot] b4dc9fa2a5
chore(deps): update npm minor (#5485)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-23 11:12:58 +02:00
renovate[bot] 27094057f8
chore(deps): update dependency tsconfig-paths-webpack-plugin to v4 (#5481)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-22 11:17:15 +02:00
renovate[bot] 6383d6ff8a
chore(deps): update dependency eslint-import-resolver-typescript to v3 (#5479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-19 17:53:42 +02:00
renovate[bot] 4f03bd756d
chore(deps): update jest (major) (#5478)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-19 17:44:08 +02:00
renovate[bot] 333b05d884
chore(deps): update dependency jest-junit to v16 (#5475)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-19 17:08:22 +02:00
renovate[bot] 5f5ec0c00e
chore(deps): update dependency jest-mock-extended to v3 (#5474)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-19 16:52:05 +02:00
renovate[bot] 9e32f8d574
chore(deps): update dependency rimraf to v5 (#5468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>
2023-05-19 14:23:44 +02:00
renovate[bot] b214a709ff
chore(deps): update dependency @types/firefox-webext-browser to v111 (#5469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-19 14:23:32 +02:00
Matt Gibson c58b0c0753
Return error code when any tsc typecheck fails (#5459)
* Return error code when any tsc typecheck fails

* Try with bash

`sh ./scripts/test-types.s` resulted in errors missing `[[`,
which is a bash builtin. It's possible the ubuntu runner is using
some other shell.

* Fix spec type errors

* Switch to node for Windows compatibility
2023-05-16 09:20:40 -05:00
Daniel James Smith 177d795292
Remove tapable as dependency as we don't use it (#5457)
tapable is a package which is used by other packages we depend on, but we don't actually use it anywhere.
2023-05-16 11:28:21 +02:00
renovate[bot] 665fe971e0
chore(deps): update dependency webpack-cli to v5 (#5458)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-16 11:23:40 +02:00
renovate[bot] ace7ce773c
chore(deps): update dependency wait-on to v7 (#5456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-15 19:42:07 +02:00
renovate[bot] 0986a58c45
chore(deps): update dependency concurrently to v8 (#5454)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-15 19:29:26 +02:00
renovate[bot] 74fb485f9d
chore(deps): update dependency @types/node to v18 (#5452)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-15 18:44:09 +02:00
renovate[bot] 1eff0f776f
fix(deps): update dependency tldts to v6 (#5449)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-15 17:38:40 +02:00
renovate[bot] bfc647004e
chore(deps): update npm minor (#5401) 2023-05-12 17:05:26 +02:00
Oscar Hinton 7aa709a04f
[PM-2183] Remove duplicated electron packages (#5381) 2023-05-08 16:34:22 +02:00
Oscar Hinton 20d40a0388
[PM-2087] Bump tailwind and prettier-plugin-tailwindcss (#5320) 2023-05-04 17:02:45 +02:00
Oscar Hinton f938804a8c
Explicitly specify zone.js version (#5335) 2023-05-02 20:07:38 +02:00
renovate[bot] 936b4c3ebe
Pin dependencies (#5332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-02 19:41:49 +02:00
renovate[bot] 7c4b2c04b9
[PM-1905] Update npm (#3940)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2023-05-02 17:25:25 +02:00
Oscar Hinton 9a41d5dc6f
[PM-358] Bump electron to 24 and node to 18 (#5205)
Upgrade Electron to version 24, node to 18 and npm to 9. Electron changed to using node 18 in 23, with node 18 using npm 9 as default.

There doesn't seem to be any breaking changes except the deprecation of Windows 7, 8.1, and Server 2012. A somewhat undocumented breaking change was that elements in the title bar are now draggable which broke the account switching selector. Resolved by adding a no-drag css rule.

- electronjs.org/blog/electron-22-0
- electronjs.org/blog/electron-23-0
- electronjs.org/blog/electron-24-0
2023-05-01 11:09:24 +02:00
Oscar Hinton 3a4a79d057
[PM-1691] Upgrade electron builder (#5038)
* Upgrade electron builder

* Fix after-sign

* Allow singleArch

* Add CSC_FOR_PULL_REQUEST
2023-04-10 20:19:28 +02:00
Oscar Hinton 23c4d45285
[PM-1415] [BEEEP] Angular 15 (#4719)
* Upgrade Angular to 15

* Remove attr.allow for webauthn
2023-03-22 18:26:04 +01:00
Oscar Hinton ff4293b7bd
[PM-1512] Upgrade prettier (#5028)
* Upgrade prettier

* Lock prettier version
2023-03-21 11:28:15 +01:00
Oscar Hinton 6df106ca47
Add cache to lint-staged for prettier (#4862) 2023-02-24 17:09:23 +01:00
Oscar Hinton 76d6586ff8
Enable caching for prettier (#4837) 2023-02-24 16:44:01 +01:00
Matt Gibson 084c89107e
Add type check to npm scripts (#4631) 2023-02-06 13:40:00 -06:00
Thomas Rittson cc5c753e30
[EC-1051] Add TailwindCSS linting rules (#4605) 2023-02-03 07:27:08 +10:00
Oscar Hinton 4d6e333d8d
[SM-468] Add eslint rule for forcing type to buttons (#4576)
* Add eslint rule for forcing type to buttons

* Fix eslint js errors
2023-01-31 18:39:10 +01:00