1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-12-12 14:56:58 +01:00
Commit Graph

1062 Commits

Author SHA1 Message Date
Jordan Aasen
9041a4cd4c
[PM-6564] migrate auth toasts to CL toastService (#10665)
* migrate auth toasts to CL toastService

* fix component args

* fix component args

* fix specs

* fix toastService args
2024-08-27 10:33:58 -07:00
Jordan Aasen
e255d84121
[PM-4473] use anon layout for send access component (#10699)
* use anon layout for send access component

* fix width on explainer.

* don't show creator ID until send is decrypted in send access
2024-08-27 10:18:02 -07:00
Bernd Schoolmann
3c9b3ea2cc
[PM-6296] Fix biometrics error prompt when biometrics are temporarily unavailable in browser extension (v2) (#10374)
* Create unavailable message for biometrics when in clamshell mode

* Move browser biometrics

* Inject nativemessagingbackground instead of using constructor

* Fix linting

* Fix build on browser
2024-08-27 06:25:20 +00:00
Matt Gibson
9459cda304
Pm-10953/add-user-context-to-sync-replaces (#10627)
* Require userId for setting masterKeyEncryptedUserKey

* Replace folders for specified user

* Require userId for collection replace

* Cipher Replace requires userId

* Require UserId to update equivalent domains

* Require userId for policy replace

* sync state updates between fake state for better testing

* Revert to public observable tests

Since they now sync, we can test single-user updates impacting active user observables

* Do not init fake states through sync

Do not sync initial null values, that might wipe out already existing data.

* Require userId for Send replace

* Include userId for organization replace

* Require userId for billing sync data

* Require user Id for key connector sync data

* Allow decode of token by userId

* Require userId for synced key connector updates

* Add userId to policy setting during organization invite accept

* Fix cli

* Handle null userId

---------

Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
2024-08-26 20:44:08 -04:00
Jared Snider
c3e1b09643
PM-9906 - Web Preferences Component - Fix issue where having a vault timeout policy would prevent users from updating their preferences. (#10554) 2024-08-26 13:09:38 -04:00
Jordan Aasen
bfc49c4e41
display toast when billing sync copy button is clicked (#10661) 2024-08-26 09:13:58 -07:00
Matt Gibson
c2829cd71b
Remove password hint responses from API (#10523)
* Log reloading behavior

* Remove hints from responses.

changing password implies updating the hint, but no longer displays the old one. This is a security risk for shoulder surfing and breaks the escrow model we have where it is only shared via email when requested.

* Update change password hint label
2024-08-23 13:51:42 -04:00
cyprain-okeke
0d75b71ea9
[AC-2708][AC-2712][AC-2713] upgrading from a Organizations new design changes (#10662)
* Changes base on the new design

* changes base on the new design

* Fix the family plan summary issue
2024-08-23 16:45:03 +01:00
Conner Turnbull
938bb340df
Resolved broken web build (#10659) 2024-08-21 12:42:29 -04:00
Jordan Aasen
4c7ac36ffa
increase postal code colspan (#10647) 2024-08-21 09:20:52 -07:00
Jordan Aasen
0873f03932
migrate toast to CL service (#10644) 2024-08-21 09:19:55 -07:00
Jonathan Prusik
1fe6631c82
[BEEEP][PM-3876] - Warn users if a stored card has an expiry date in the past (#10470)
* add enableExpiredPaymentCipherWarning setting

* add card expiry warning to the v2 Card Details component

* remove enableExpiredPaymentCipherWarning setting

* update expired card callout design and copy

* move card expired callout to cipher view

* add card expiry warning to the web vault add-edit cipher component
2024-08-21 10:59:03 -04:00
Alex Morask
b030c6e27b
[AC-2858] Remove code supporting payment method warning banners (#10615)
* Remove errant payment method warning banner implementation

* Removing unused endpoint
2024-08-21 10:17:42 -04:00
SmithThe4th
dedd7f1b5c
[PM-10607] Require userId for getKeyForCipherKeyDecryption (#10509)
* updated cipher service to stop using the deprecated getUserKeyWithLegacySupport and use the version that requires a user id

* Added account service mock

* fixed cipher test

* Fixed test

* removed async from encryptCipher

* updated encryptSharedCipher to pass userId to the encrypt function

* Pass userId to getUserKeyWithLegacySupport on encryptSharedCipher

* pass in userid when setting masterKeyEncryptedUserKey

* Added activer usedId to new web refresh function
2024-08-20 11:00:48 -05:00
Victoria League
ed719f835a
[CL-389] Add end slot to non-text bit label content (#10457) 2024-08-20 11:55:11 -04:00
Alec Rippberger
3a31eb2f10
PM-9665: implement view item view (#10416)
* Add initial view cipher dialog.

* Add working view cipher modal dialog markup.

* Cleanup dialog markup and allow edit from dialog.

* Cleanup unused imports.

* Begin adding org-vault view-cipher functionality.

* Refactor to remove loose-components usage and use DialogService.

* Add edit and delete button functionality.

* Add delete functionality.

* Remove addition to loose components.

* Remove unused modal-dialog artifacts.

* Ensure dialog closes and URL updates properly on edit or close.

* Disable edit/delete buttons instead of hiding them.

* Add simple tests for view.component.ts.

* Adjust import order.

* Remove now unnecessary ng-template.

* Decrypt cipher to cipher view.

* Add cleanup function and additional delete test.

* Remove boolean return from delete promise.

* Remove fake timers.

* Remove unnecessary TestBed.inject calls.

* Add code comments.

* Hide new view cipher dialog behind feature flag.

* Keep "else if" statement intact.

* Simplify getting cipherTypeString.

* Add comments to vault.component.ts files.

* Change button type to "danger"

Update apps/web/src/app/vault/individual-vault/view.component.html

Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>

* Add a11y title to delete button.

* Simplify OrganizationService testing.

* Update comment to better reflect function.

* Use large dialog to better match designs.

* Add aria-haspopup to cipher row button.

* Add deleteCipher to messages.json.

* Remove extra argument from canEditAllCiphers.

* Use 'delete' instead of 'delete cipher' for a11y title.

* Remove 'bitFormButton' from non-form buttons.

* Rework view cipher view delete functionality.

* Add translations for cipher types.

* Remove unecesarry test.

* Add additional test coverage to ensure dialogs close.

* Add back delete functionality in view.component.ts.

* Update "secure note" to "note".

---------

Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
2024-08-19 14:32:17 -07:00
Jordan Aasen
ef281099b8
migrate report-layout component (#10545) 2024-08-19 12:30:46 +02:00
Oscar Hinton
604e22334a
[BEEEP] [PM-10132] Upgrade storybook to v8 (#10288)
Upgrade storybook to version v8 which is a major upgrade. Storybook provides an
upgrade wizard which did most of the work.

- Ran npx storybook upgrade.
- Manually updated `remark-gfm` since the newer mdx requires v 4.
- Migrated all old stories still using `Story` to `StoryObj`.
2024-08-16 09:28:29 +02:00
Jordan Aasen
92f87dad9a
[PM-4962] remove all bootstrap classes from reports. add missing header column (#10524)
* remove all bootstrap classes from reports. add missing header column

* finish migrating table components to component library

* update reports based on PR feedback
2024-08-15 17:16:38 -07:00
Jordan Aasen
6fd184728f
add missing header to exposed passwords report (#10516) 2024-08-14 12:53:30 -07:00
Kyle Spearrin
5547b953ad
[AC-2928] Create automatic app login policy (#10295)
* Create automatic app login policy

* update copy

* update copy

* [PM-10155] Automatic Login After Autofill (#10297)

---------

Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
2024-08-14 09:38:33 -05:00
Shane Melton
1b22320dc5
[AC-1041] My Vault filter on first login fix (#10301)
* [AC-1041] Ensure organizationTree$ updates whenever the policy observables emit

* [AC-1041] Ensure enforcePersonalOwnership updates whenever the policy observable emits

* [AC-1041] Do not attempt to pre-select null filter values or read-only collections
2024-08-13 10:32:02 -07:00
Vincent Salucci
471dd3bd7b
[PM-10294] Remove FC v1 from Clients (#10422)
* chore: remove fc v1 from org.canEditAnyCollection and update callers, refs PM-10294

* chore: remove fc v1 from collectionView.canEdit and update callers, refs PM-10294

* chore: remove fc v1 from organization.canEditAllCiphers and update callers, refs PM-10294

* chore: remove fc v1 from canDeleteAnyCollection, collection views, update callers, refs PM-10294

* chore: remove fc v1 from canEditUser/GroupAccess, refs PM-10294

* chore: remove fc v1 from canViewCollectionInfo, refs PM-10294

* chore: remove fc v1 from account component, refs PM-10294

* fix: remove fc v1 from collections component, refs PM-10294

* fix: update vault-items component, refs PM-10294

* fix: remove fc v1 from collection-dialog and collections components, refs PM-10294

* chore: remove ConfigService from group-add-edit and account components, refs PM-10294

* chore: change canEditAnyCollection to getter and update callers, refs PM-10294

* chore: change canEditUnmanagedCollections to getter and update callers, refs PM-10294

* chore: change canDeleteAnyCollection to getter and update callers, refs PM-10294

* chore: remove deprecated observable and update comments with v1, refs PM-10294

* chore: remove ununsed ConfigService from collection-dialog component, refs PM-10294

* chore: remove final fc v1 ref for vault-collection-row, refs PM-10294
2024-08-13 10:45:41 -05:00
cyprain-okeke
cdc82f13b0
Resolve the seat adjustment issue (#10265) 2024-08-13 12:36:40 +01:00
Justin Baur
a7adf952db
[PM-10754] Store DeviceKey In Backup Storage Location (#10469)
* Implement Backup Storage Location For Browser Disk

* Remove Testing Change

* Remove Comment

* Add Comment For `disk-backup-local-storage`

* Require Matching `valuesRequireDeserialization` values
2024-08-12 13:29:22 -04:00
cyprain-okeke
cd7aaacfd9
[PM-10026] [Defect] Zip code is not being enforced when subscribing in Password Manager (#10446)
* resolve the postal code error

* Resolve the issue if licence is uploaded

* resolve the postal code issue on selfhost
2024-08-12 16:01:19 +01:00
Alec Rippberger
2b69ccda40
[PM-8655] Update web app new item button (#10354)
* Add additional extension refresh menu behind feature flag.

* Open new cipher dialog with proper cipher type selected.

* Adjust onboarding copy and default to login cipher.

* Update "New item" button styles.

* Add test to ensure onboarding component always calls onAddCipher.emit with the login cipher type.

* Hide onboarding and new item changes behind feature flag

* Fix missing mock in test.

* Remove extensionRefreshEnabled$ and conditional styles from the "add new" button.

* Remove rounding class from menu "new" button.
2024-08-08 23:45:47 -05:00
Cesar Gonzalez
d2c4c4cad4
[PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs (#10448)
* [PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs

* [PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs
2024-08-08 13:04:28 -05:00
Justin Baur
dcb21c2685
Move lastSync State (#10272) 2024-08-06 15:01:42 -04:00
✨ Audrey ✨
4a5a0ca537
[PM-10104] add generator password type policy (#10275)
* add generator password type policy
* limit options display to only valid options when override in effect
* remove defaultType i18n message
2024-08-06 11:49:27 -04:00
Bernd Schoolmann
2ce8500391
[PM-990] Unix biometrics unlock via Polkit (#4586)
* Update unix biometrics for desktop biometrics rework

* Implement polkit policy setup

* Enable browser integration on Linux

* Remove polkit policy file

* Undo change to messages.json

* Fix biometrics setup, implement missing functions

* Implement osSupportsBiometrics

* Fix polkit settings message

* Remove unwraps in biometrics unix rust module

* Force password reprompt on start on linux with biometrics

* Merge branch 'main' into feature/unix-biometrics

* Allow browser extension to be unlocked on Linux via Polkit

* Implement availability check

* Cleanup

* Add auto-setup, manual setup, setup detection and change localized prompts

* Implement missing methods

* Add i18n to polkit message

* Implement missing method

* Small cleanup

* Update polkit consent message

* Fix unlock and print errors on failed biometrics

* Add dependencies to core crate

* Fix reference and update polkit policy

* Remove async-trait

* Add tsdoc

* Add comment about auto setup

* Delete unused init

* Update help link

* Remove additional settings for polkit

* Add availability-check to passwords implementation on linux

* Add availability test

* Add availability check to libsecret

* Expose availability check in napi crate

* Update d.ts

* Update osSupportsBiometric check to detect libsecret presence

* Improve secret service detection

* Add client half to Linux biometrics

* Fix windows build

* Remove unencrypted key handling for biometric key

* Move rng to rust, align linux bio implementation with windows

* Consolidate elevated commands into one

* Disable snap support in linux biometrics

---------

Co-authored-by: DigitallyRefined <129616584+DigitallyRefined@users.noreply.github.com>
2024-08-06 11:04:17 -04:00
Alex Morask
2c5c96094c
Make client owner email required when creating client org (#10403) 2024-08-05 14:42:50 -04:00
Oscar Hinton
c50a9063bc
[PM-2340] Enable use-lifecycle-interface (#5488)
Enables one of the recommended rules of @angular-eslint. Since this rule was fairly trivial to fix and has no QA effects it seemed reasonable to migrate all code.
2024-08-02 13:59:38 -04:00
Bernd Schoolmann
cc45655b86
Revert "[PM-6296] Fix biometrics error prompt when biometrics are temporarily…" (#10373)
This reverts commit 1184c504d1.
2024-08-02 07:46:54 -04:00
Bernd Schoolmann
1184c504d1
[PM-6296] Fix biometrics error prompt when biometrics are temporarily unavailable in browser extension (#9851)
* Add availability check to biometrics

* Move isbiometricunlockavailable logic to parent component

* Fix availability detection on desktop

* FIx response parsing on browser

* Suppress pending biometric message while checking for availability

* Refactor biometrics functions out of platformutilsservice

* Remove unused constructor

* Remove unused abstract function definitions

* Rename abstract services

* Add documentation

* Rename service abstraction, add comments

* Add comments

* Refactor browser biometrics into background/foreground and remove callbacks

* Remove unused logs

* Remove unused logs
2024-08-02 12:31:11 +02:00
Bernd Schoolmann
c6229abd12
[PM-5963] Fix tde offboarding vault corruption (#9480)
* Fix tde offboarding

* Add tde offboarding password request

* Add event for tde offboarding

* Update libs/auth/src/common/models/domain/user-decryption-options.ts

Co-authored-by: Jake Fink <jfink@bitwarden.com>

* Update libs/common/src/services/api.service.ts

Co-authored-by: Jake Fink <jfink@bitwarden.com>

* Make tde offboarding take priority

* Update tde offboarding message

* Fix unit tests

* Fix unit tests

* Fix typo

* Fix unit tests

---------

Co-authored-by: Jake Fink <jfink@bitwarden.com>
2024-08-01 19:48:09 -04:00
cyprain-okeke
5dbdb33ac5
Resolve the camelCase comments (#10340) 2024-08-01 14:24:15 +01:00
Rui Tomé
766c2f4b9c
[PM-8290] Refresh vault after saving item collections (#10053) 2024-07-31 15:27:20 +01:00
cyprain-okeke
6896ef2392
[AC-2708] Upgrading from a password manager only subscription (#10320)
* Add changes for the upgrade dialog

* Resolve the  free org to any org type besides Families

* Resolve the pr comments on navigation

* resolve family plan upgrade from free
2024-07-30 16:01:28 +01:00
Nick Krantz
8f437dc773
[PM-1655] Trial Registration Layout (#9091)
* add messaging for finish sign up component

* Add product enum for finish sign up components

* Allow confirmation details component to display secret manager confirmation

* add FinishSignUp component

- Started as exact copy of trial initiation component
- Consolidated with secrets manager trial components

* Integration finish sign up component into routing

- Use anon layout component
- Add resolver to pass the accurate title to the layout

* migrate to product tier type

* use existing ProductType enum

* migrate to accept org service

* fix query param parsing for free trial text

* migrate finish sign up to complete trial naming

* migrate fully to productTier

* fix import of free trial resolver

* increase max width of anon layout

* add auth-input component

* refactor component makeup

* export the users password if needed to auto login the user

* handle login situations where a stepper isn't used

* fix type check

* allow max width of anon layout to be configurable

* remove account created toast

* update productTier query param in text resolver

* set maxWidth for secrets manager trial route

* parse product query param as an int

* properly show registration error

* update routes to be from the root rather than relative

* install updated prettier and apply fixes

* fix missing password in test

---------

Co-authored-by: Conner Turnbull <133619638+cturnbull-bitwarden@users.noreply.github.com>
2024-07-30 08:11:40 -04:00
Thomas Rittson
c5c8c45bab
[AC-2924] Remove GroupsComponentRefactor flag (#10259)
* Remove feature flag and old component
2024-07-26 07:46:11 +10:00
Bernd Schoolmann
ad26f0890a
[PM-4348] Migrate AuthGuards to functions (#9595)
* Migrate auth guards

* Fix remaining auth guard migration

* Fix unauth guard usage

* Add unit tests for auth guard and unauth guard

* Remove unused angular DI code

* Move auth related logic out fo sm guard

* Add tests

* Add more tests for unauth guard

* Fix incorrect merge
2024-07-25 17:00:29 -04:00
Thomas Rittson
6830e471bb
Remove unused i18n strings (#10220) 2024-07-25 14:02:42 -04:00
Ike
b3f7bad4b2
added feature flag, and services for tokenable when adding Authenticator two factor; (#10261) 2024-07-25 08:13:57 -07:00
renovate[bot]
b9eb4003a1
[deps] Autofill: Update prettier to v3.3.3 (#10228)
* [deps] Autofill: Update prettier to v3.3.3

* prettier formatting changes

* fix SyntaxError for literal @ inline html

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com>
2024-07-25 11:11:55 -04:00
cd-bitwarden
5180ec44e0
Creating a landing page for SM, where user can request access from ad… (#9504)
* Creating a landing page for SM, where user can request access from admins

* moving files to better folder, also fixing UI

* updating file paths

* cleaning up the code

* Updating API request to be the new one, and fixing HTML

* Adding coowners

* Updating OrganizaitonId in the request model to be a Guid

* Update apps/web/src/app/secrets-manager/secrets-manager-landing/request-sm-access.component.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Update apps/web/src/app/layouts/product-switcher/navigation-switcher/navigation-switcher.component.ts

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

* Update apps/web/src/app/layouts/product-switcher/navigation-switcher/navigation-switcher.component.ts

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

* Suggested changes from Maceij and Thomas

* fixing merge issues

* fixing issues

* Fixing logic to match top bar

* updating file name to not start with a capital letter

* renaming folder

* updating names

* Getting around the lint issue

* fixing lint issues

* Changes requested by Vicky

* Maciej suggested changes

* Fixing comments

* Update apps/web/src/app/secrets-manager/secrets-manager-landing/sm-landing-api.service.ts

Thomas's suggested improvement

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* ui fixes

* New awesome changes, to include the scenario where a Provider user is logged in, and to handle if an admin needs instructions to enable SM for themselves

* renaming fuctions and variables

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
2024-07-25 11:03:57 -04:00
rr-bw
9355a9bb43
[PM-7330] Create SetPasswordComponent (email verification) (#9810)
* setup SetPassword component

* accept query params

* add InputPasswordComponent to template

* add route

* add dynamic translation with org name

* feature flag route

* setup onInit

* add set password logic

* move to libs

* remove comments

* update AuthGuard routing

* use ToastService

* replace deprecated methods

* replace orgId input with policy input

* use getter for msg instead of ngOnInit

* cleanup

* refactor to use services

* more refactoring of service

* address browser routing and translations

* add desktop service

* simplify queryParam handler

* remove ngOnDestroy

* small edits

* use inject()

* add jsdocs

* create basic tests

* add success toasts on successfuly set password

* add tests

* update feature-flag

* move model to service

* refactor client services to override setPassword()

* add error handling to setPassword()

* move auto enroll logic to service

* update tests

* fix test

* adjust padding on password-callout list

* revert refactor of auto enroll logic

* refactor keyPair generation to own method

* update page title and button text

* update pageSubtitle and translations

* fix test
2024-07-25 07:42:32 -07:00
Alex Morask
768b5393e9
Null check provider in organization management check (#10233) 2024-07-24 10:13:03 -04:00
aj-rosado
9a6b37d019
Restructued is-enterprise-org.guard to be a function. (#10134)
Added test cases for IsEnterpriseOrgGuard

Co-authored-by: Tom <ttalty@bitwarden.com>
Co-authored-by: Tom <144813356+ttalty@users.noreply.github.com>
2024-07-24 11:08:33 +02:00
SmithThe4th
91aa475766
[PM-6992] Refactor VaultComponent (#10126)
* Added function to return cipherview observable and trigger the decryption process if the cipherviews$ observable returns empty

* Updated the vault component to use getCipherViews$ observable function

* converted vault banner to standalone component

* converted vault header to standalone component

* fixed unawaited promises

converted component to standalone component

* cleaned up vault module

* fixed imports

* refactored getCipherView$ observable

* refactored onVaultItemsEvent to switch case

* Refactored to use toast service instead of platform utils service for toast

* Added function to return cipherview observable and trigger the decryption process if the cipherviews$ observable returns empty

* Updated the vault component to use getCipherViews$ observable function

* converted vault banner to standalone component

* converted vault header to standalone component

* fixed unawaited promises

converted component to standalone component

* cleaned up vault module

* fixed imports

* refactored getCipherView$ observable

* refactored onVaultItemsEvent to switch case

* Refactored to use toast service instead of platform utils service for toast

* merged with main and fixed conflicts

* reordered standalone property

* converted components to standalone

* cleaned up ng module for org vault

* cleaned up vault module individual vault

* fixed conflicts

* Replaced deprecated toast service

* refactored to use switch case for org vault

* fixed comments and fixed failing tests

reverted to use getAllDecrypted
2024-07-23 16:47:54 -04:00