1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-09-24 03:32:51 +02:00
Commit Graph

840 Commits

Author SHA1 Message Date
Jake Fink
9c66b5bf9f
[PM-4917, PM-8707, PM-9119] Persist login email memory through 2fa on browser (#9811)
* persist email memory through 2fa on browser

* fix tests

* fix desktop
2024-07-11 14:51:06 -04:00
Bernd Schoolmann
9eddbfc6e7
[PM-7084]: 3/6 Introduce shared yubikey two-factor component (#9769)
* Add shared two-factor-options component

* Add new refactored two-factor-auth component and totp auth componnet behind feature flag

* Add yubico yubikey otp shared two-fa component
2024-07-11 10:28:55 -04:00
renovate[bot]
23fdb212e3
[PM-9460][deps] Tools: Update electron to v31.2.0 (#10070)
* [deps] Tools: Update electron to v31.2.0

* Bump version in electron-builder.json

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-07-11 16:12:33 +02:00
Bernd Schoolmann
e977dacdcf
[PM-6797] Prevent account switching race condition on desktop & enable worker decryption (#9312)
* Prevent account switching race condition on desktop

This enables us to allow background thread / multithread bulk decryption on desktop.

* Disable account switcher component during switching
2024-07-11 14:11:51 +02:00
Bernd Schoolmann
7e2b4d9652
[PM-7084] 2/6: Add shared two-factor-auth orchestrator component, and TOTP two-factor component (#9768)
* Add shared two-factor-options component

* Add new refactored two-factor-auth component and totp auth componnet behind feature flag

* Fix default value for twofactorcomponentrefactor featureflag
2024-07-09 16:19:04 +02:00
Justin Baur
053e255a68
Delete Unused Bits of StateService (#9858)
* Delete Unused Bits of StateService

* Fix Tests
2024-07-08 20:38:10 -04:00
Jared Snider
226af09aac
Auth/PM-7321 - Registration with Email Verification - Registration Finish Component Implementation (#9653)
* PM-7321 - Temp add input password

* PM-7321 - update input password based on latest PR changes to test.

* PM-7321 - Progress on testing input password component + RegistrationFinishComponent checks

* PM-7321 - more progress on registration finish.

* PM-7321 - Wire up RegistrationFinishRequest model + AccountApiService abstraction + implementation changes for new method.

* PM-7321 - WIP Registration Finish - wiring up request building and API call on submit.

* PM-7321 - WIP registratin finish

* PM-7321 - WIP on creating registration-finish service + web override to add org invite handling

* PM-7321 - (1) Move web-registration-finish svc to web (2) Wire up exports (3) wire up RegistrationFinishComponent to call registration finish service

* PM-7321 - Get CLI building

* PM-7321 - Move all finish registration service and content to registration-finish feature folder.

* PM-7321 - Fix RegistrationFinishService config

* PM-7321 - RegistrationFinishComponent- handlePasswordFormSubmit - error handling WIP

* PM-7321 - InputPasswordComp - Update to accept masterPasswordPolicyOptions as input instead of retrieving it as parent components in different scenarios will need to retrieve the policies differently (e.g., orgInvite token in registration vs direct call via org id post SSO on set password)

* PM-7321 - Registration Finish - Add web specific logic for retrieving master password policies and passing them into the input password component.

* PM-7321 - Registration Start - Send email via query param to registration finish page so it can create masterKey

* PM-7321 - InputPassword comp - (1) Add loading input (2) Add email validation to submit logic.

* PM-7321 - Registration Finish - Add submitting state and pass into input password so that the rest of the registration process keeps the child form disabled.

* PM-7321 - Registration Finish - use validation service for error handling.

* PM-7321 - All register routes must be dynamic and change if the feature flag changes.

* PM-7321 - Test registration finish services.

* PM-7321 - RegisterRouteService - Add comment documenting why the service exists.

* PM-7321 - Add missing input password translations to browser & desktop

* PM-7321 - WebRegistrationFinishSvc - apply PR feedback
2024-07-08 10:40:23 -04:00
Bernd Schoolmann
d92e1b3eca
Add shared two-factor-options component (#9767) 2024-07-08 11:19:30 +02:00
Andreas Coroiu
cc31d96378
[PM-9441] Catch and log exceptions during migration (#9905)
* feat: catch and log exceptions during migration

* Revert "feat: catch and log exceptions during migration"

This reverts commit d68733b7e5.

* feat: use log service to log migration errors
2024-07-04 09:02:18 +02:00
Bernd Schoolmann
d7a0510ef9
Add required env variables to desktop native build script (#9869) 2024-07-03 14:00:00 -04:00
renovate[bot]
9c17878330
[PM-9460][deps] Tools: Update electron to v31 (#9921)
* [deps] Tools: Update electron to v31

* Bump version in electron-builder

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-07-03 17:57:33 +02:00
Andreas Coroiu
9d060be48c
[PM-9442] Add tests for undefined state values and proper emulation of ElectronStorageService in tests (#9910)
* fix: handle undefined value in migration 66

* fix: the if-statement was typo

* feat: duplicate error behavior in fake storage service

* feat: fix all migrations that were setting undefined values

* feat: add test for disabled fingrint in migration 66

* fix: default single user state saving undefined value to state

* revert: awaiting floating promise

gonna fix this in a separate PR

* Revert "feat: fix all migrations that were setting undefined values"

This reverts commit 034713256c.

* feat: automatically convert save to remove

* Revert "fix: default single user state saving undefined value to state"

This reverts commit 6c36da6ba5.
2024-07-03 16:06:55 +02:00
Jake Fink
052b3be2eb
[PM-7972] Account switching integration with "remember email" functionality (#9750)
* add account switching logic to login email service

* enforce boolean and fix desktop account switcher order
2024-07-03 09:53:40 -04:00
Bernd Schoolmann
5839999fc4
Rename "encryptionAlgorithm" to "hashAlgorithmForEncryption" for clarity (#9891) 2024-07-03 10:32:19 +02:00
github-actions[bot]
43f7e2086b
Autosync the updated translations (#9922)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-07-02 21:56:01 +00:00
Bitwarden DevOps
9294a4c47e
Bumped client version(s) (#9914) 2024-07-02 17:22:57 +00:00
Bitwarden DevOps
150c4b6f2d
Bumped client version(s) (#9895) 2024-07-01 17:25:00 +00:00
Daniel García
33c985e00b
[PM-8789] Move desktop_native into subcrate (#9682)
* Move desktop_native into subcrate

* Add publish = false to crates
2024-07-01 15:19:29 +02:00
Daniel James Smith
a613d9c268
[PM-8397] Make vault timeout input standalone (#9366)
* Move vault-timeout-input to @bitwarden/auth/angular

Move vault-timeout-input.component.ts to @bitwarden/auth/angular/vault-timeout-input
Expose via barrel file
Fix imports on clients

* Add dependencies to package.json

Not necessary right now, but good practice for once we move to building each package independently

* Make VaultTimeoutInputComponent a standalone component

* Update selector to present team ownership

* Use new standalone on web

Move vault-timeout-input.component.html to @bitwarden/auth/angular/vault-timeout-input/
Delete old vault-timeout-input.component on web
Register new component on loose-components-module
Update used selector in preferences.component

* Remove unneeded export of VaultTimeoutInputComponent

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-28 17:41:17 +02:00
github-actions[bot]
09c6995e10
Autosync the updated translations (#9866)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-28 13:31:59 +00:00
Bernd Schoolmann
c01f6be286
[PM-1802] Update 2fa provider icons and description (#9568)
* Update yubikey to yubico

* Update icons and descriptions

* Change order of 2fa providers

* Refactor 2fa providers into separate component

* Update i18n messages for 2fa providers

* Update design

* Fix link

* Remove unused SVGs

* Undo changes to scss

* Add speedbumps to links

* Fix missing i18n string

* Add a11y tags

* Fix incorrect filepath

* Remove unused i18n strings

* Delete accidentally committed file

* Fix premium and enabled checkmark being in new line

* Rename two-factor-icon selector

* Update authenticator names in two-factor-authenticator setup component

* Update text according to figma design

* Update keys to notify crowdin translators of changed content

* Move svg icons to separate file

* Fix incorrect i18n key
2024-06-27 10:14:21 -07:00
✨ Audrey ✨
1080d46aaf
[PM-9170] generator library migrations (#9812)
* migrate browser to generator libraries
* migrate cli to generator libraries
* migrate desktop to generator libraries
* migrate angular library to generator libraries
* migrate web to generator libraries
2024-06-27 12:16:04 -04:00
Ike
41e1d91558
[PM-5156] [PM-5216] Duo v2 removal (#9513)
* remove library and update package and webpack

* update 2fa flow and remove feature flag

* update request and response models

* fix merge conflicts
2024-06-25 11:09:45 -07:00
Daniel James Smith
c35bbc522c
[PM-9051][PM-8641] Use reusable export-component on web (#9741)
* Add export-web.component

Introduce new export-web component
Delete old component
export.module - With export-web being standalone there's no need for a importModule
Change routing to load new component

* Prepare export.component to receive a orgId via the hosting-component

* Remove unused onSaved as it's replaced by onSuccessfulExport

* Refactor org-vault-export.component

Introduce new org-vault-export.component.html as the old component relied on the markup from password manager
Refactor org-vault-export.component
Retrieve organizationId from Route and pass it into the shared export.component
Ensure when exporting from AC to include all data from the selected org
org-vault-export.module - With the new component being standalone there's no need for a importModule
Change routing to load new org-vault-export component

* PM-8641 - Add success toast to base-export component
This ensures a success toast is shown on all clients consistently
Add missing entries into clients messages.json

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-25 19:17:03 +02:00
Bitwarden DevOps
44fb8cda1b
Bumped client version(s) (#9826) 2024-06-25 16:00:31 +00:00
renovate[bot]
a0e00f9519
[deps] Platform: Update @types/node to v20.14.8 (#9818)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-25 09:54:27 -04:00
renovate[bot]
d7d35a9e2f
[PM-6446][deps] Platform: Update argon2 to v0.40.1 (#8073)
* [deps] Platform: Update argon2 to v0.40.1

* Update inclusion in context isolation

* Ensure node-gyp available for mac builds

Mac runners seem to have progressed above python 3.12, which removed `distutils`. We need to ensure it's installed for node-gyp compilations.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2024-06-24 13:28:34 -04:00
renovate[bot]
5d73a0df1e
[deps] Tools: Update electron to v30.1.2 (#9773)
* [deps] Tools: Update electron to v30.1.2

* Bump version in electron-builder

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-24 12:15:33 +02:00
Ike
705a02086e
[PM-7693] Remove cookie from Duo connector (#9699)
* utilizing locale service in duo

* refactor launchDuoUri method

* Add cookie information back in ext. and desktop to support backwards compatibility

* Update duo-redirect.ts

fixing comment
2024-06-21 14:56:27 -07:00
github-actions[bot]
783c31683a
Autosync the updated translations (#9760)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-21 08:03:59 +00:00
SmithThe4th
eadb1fa4ef
[PM-7215] User with Can View permission can remove passkey or delete URIs from UI, though it isn't saved (#9607)
* Removed - button on passkeys and uris when user has view only access, disabled cog button and made input fields on uris readonly when user has view only access

(cherry picked from commit 077edd77c1)

* switched to use viewonly to hide remove button

(cherry picked from commit dbd854494f)
2024-06-20 10:59:11 -04:00
✨ Audrey ✨
639debe91b
[PM-9008] factor generator-extensions into separate libraries (#9724) 2024-06-20 10:49:23 -04:00
Daniel James Smith
8d04731633
[PM-6568][PM-8820][Tech-Debt] Migrate all tools owned toasts to use CL ToastService instead of PlatformUtilsService (#9405)
* Migrate all tools owned toasts to use CL ToastService instead of PlatformUtilsService

* Fix test that was missing a mock

* Fix double checking file and file-content selection

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-19 18:28:47 +02:00
Bitwarden DevOps
4a25db4ec0
Bumped client version(s) (#9725) 2024-06-18 23:30:19 +00:00
Bitwarden DevOps
9696b640fd
Bumped client version(s) (#9719) 2024-06-18 18:50:28 +00:00
Merissa Weinstein
96f1aa073c
[PM-8391] turn on enableCipherKeyEncryption flag (#9362)
* turn on enableCipherKeyEncryption flag

* turn enableCipherKeyEncryption flag on in desktop config

---------

Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
2024-06-18 12:11:10 -05:00
renovate[bot]
6091958d22
[PM-8955][deps] Tools: Update electron to v30.1.1 (#9683)
* [deps] Tools: Update electron to v30.1.1

* Bump version in electron-builder

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-18 10:56:01 +00:00
rr-bw
2a0e21b4bb
[PM-5085] Create InputPasswordComponent (#9630)
* setup for InputPasswordComponent and basic story

* add all input fields

* add translated error messages

* update validation

* add password-callout

* update hint text

* use PolicyService in component

* setup SetPasswordComponent

* remove div

* add default button text

* add mocks for InputPassword storybook

* simplify ngOnInit

* change param and use PolicyApiService

* check for breaches and validate against policy

* user toastService

* use useValue for mocks

* hash before emitting

* validation cleanup and use PreloadedEnglishI18nModule

* add ngOnDestroy

* create validateFormInputsDoNotMatch fn

* update validateFormInputsComparison and add deprecation jsdocs

* rename validator fn

* fix bugs in validation fn

* cleanup and re-introduce services/logic

* toggle password inputs together

* update hint help text

* remove SetPassword test

* remove master key creation / hashing

* add translations to browser/desktop

* mock basic password-strength functionality

* add check for controls

* hash before emitting

* type the EventEmitter

* use DEFAULT_KDF_CONFIG

* emit master key

* clarify comment

* update password mininum help text to match org policy requirement
2024-06-17 14:56:24 -07:00
Will Martin
06410a0633
[CL-118][CL-164][PM-8019] collapsible side navigation (#6383) 2024-06-17 14:10:50 -04:00
github-actions[bot]
f2bf4322b9
Autosync the updated translations (#9687)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-17 12:50:07 +00:00
Bitwarden DevOps
e521d702ba
Bumped client version(s) (#9668) 2024-06-14 19:41:36 +00:00
Bitwarden DevOps
966737c2e2
Bumped client version(s) (#9661) 2024-06-14 17:58:33 +00:00
Jared Snider
215bbc2f8e
Auth/PM-7324 - Registration with Email Verification - Registration Start Component Implementation (#9573)
* PM-7324 - Register new registration start comp at signup route on web

* PM-7324 - Add registerSendVerificationEmail logic in API service layer.

* PM-7324 - Update registration start comp to actually send information to API and trigger email.

* PM-7324 - progress on opt in for marketing emails redesign.

* PM-7324 - Add feature flag and feature flag guard to sign up route.

* PM-7324 - RegistrationEnvSelector - emit initial value

* PM-7324 - Registration Start comp - wire up setReceiveMarketingEmailsByRegion logic.

* PM-7324 - Registration start html - use proper link for email pref management.

* PM-7324 - Translate text

* PM-7324 - Design pass

* PM-7324 - design pass v2

* PM-7324 - Update Tailwind config to add availability of anon layout to desktop and browser extension

* PM-7324 - Desktop - AppRoutingModule - Add new signup route protected by the email verification feature flag.

* PM-7324 - BrowserExtension - AppRoutingModule - Add signup route protected by feature flag

* PM-7324 - Feature flag all register page navigations to redirect users to the new signup page.

* PM-7324 - Update AnonLayoutWrapperComponent constructor logic to avoid passing undefined values into I18nService.t method

* PM-7324 - Accept org invite web comp - adjust register url and qParams

* PM-7324 - Add AnonLayoutWrapperData to desktop & browser since we don't need titleId.

* PM-7324 - Revert anon layout wrapper comp changes as they were made separately and merged to main.

* PM-7234 - Fix registration start component so the login route works for the browser extension.

* PM-7324 - Registration start story now building again + fix storybook warning around BrowserAnimationsModule

* PM-7324 - Registration Start - add missing tw-text-main to fix dark mode rendering.

* PM-7324 - Update storybook docs

* PM-7324 - Get stub of registration finish component so that the verify email has something to land on.

* PM-7324 - Registration start - receive marketing materials should never be required.

* PM-7324 - Add finish signup route + required translations to desktop & browser.

* PM-7324 - AnonLayoutWrapperComponent - Resolve issues where navigating to a sibling anonymous route wouldn't update the AnonLayoutWrapperData.

* PM-7324 - Remove unnecessary array

* PM-7324  - Per PR feedback, improve setReceiveMarketingEmailsByRegion

* PM-7324 - Per PR feedback, inject login routes via route data

* PM-7324 - Document methods in account api service

* PM-7324 - PR feedback - jsdoc tweaks
2024-06-14 11:40:56 -04:00
renovate[bot]
9ef8404b7b
[deps] Tools: Update electron to v30 - abandoned (#8764)
* [deps] Tools: Update electron to v30

* Bump version in electron-builder.json

* Update to electron 30.1.0

---------

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: Hinton <hinton@users.noreply.github.com>
2024-06-14 17:16:29 +02:00
Daniel García
e3b425069c
[PM-8870] Fix argon2 in desktop (#9628) 2024-06-14 11:36:26 +02:00
github-actions[bot]
5523447c43
Autosync the updated translations (#9640)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-14 08:06:44 +00:00
Bernd Schoolmann
84e9778669
[PM-4139] Remove approve device logins setting and enable it by default (#9495)
* Remove login with device setting and enable it by default

* Remove unused i18n message
2024-06-13 18:05:05 +00:00
Bitwarden DevOps
88dc574982
Bumped client version(s) (#9596) 2024-06-12 12:54:20 +00:00
github-actions[bot]
31c04dfd14
Autosync the updated translations (#9544)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-07 06:12:30 +00:00
Justin Baur
ba3d21094e
[PM-7541] Move Last Desktop Settings (#9310)
* Clone Initial Data In `runMigrator`

- When using test cases, mutating the input data causes problems.

* Migrate `minimizeOnCopy` & `browserIntegrationEnabled`

* Update From Main

* Move Fingerprint Setting

- No Migration Yet

* Add Fingerprint to Migrations

* Convert Messaging to `async`

* Switch to calling `Boolean` for Map Function

* Catch Errors

* Remove LogService
2024-06-06 14:26:17 -04:00