1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-11 10:10:25 +01:00
Commit Graph

2829 Commits

Author SHA1 Message Date
Addison Beck
3a3ff432b2
Update the README to mention the discrepancy with homebrew (#9856)
* Update the README to mention the discrepancy with homebrew

* Update copy
2024-06-28 10:59:28 -04:00
github-actions[bot]
20a6552621
Autosync the updated translations (#9865)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-28 14:12:42 +00:00
github-actions[bot]
27070eb031
Autosync the updated translations (#9864)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-28 14:07:02 +00:00
Bernd Schoolmann
383a4851b6
Add auto submit on identifier query parameter (#9803) 2024-06-28 15:35:10 +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
Shane Melton
b7a961bf1f
[PM-8486] Browser Refresh - Autofill functionality (#9616)
* [PM-8486] Introduce VaultPopupAutofill service

* [PM-8486] Remove moved autofill functionality from VaultPopupItem service

* [PM-8486] Add autofill functionality to button and menu options

* [PM-8486] Hide Autofill and Save option for Cards/Identities

* [PM-8486] Reduce nesting in closePopup

* [PM-8486] Breakup doAutofillAndSave method

* [PM-8486] Start subscription in autofill service constructor

* [PM-8486] Cleanup missed calls to removed methods
2024-06-27 13:30:55 -07:00
Ike
2042b3a26c
[PM-8938] two factor settings authenticator validation (#9857)
* add validation

* minor adjustments

* better useability on submit button

* removed img

* fixed formatting
2024-06-27 12:38:10 -07: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
Nick Krantz
5ce4e8f4e5
[PM-7897] Attachments - Part 1 (#9715)
* add v2 attachments page

* add add attachment fields

* add file upload UI

* move cipher-attachments to a new component

* load cipher and add initial submit

* add list of existing attachments

* fix incorrect toast usage

* integrate with bit submit states

* add new max file translation without the period

* refactor attachments v2 component

* remove default list styles

* add tests for attachments components

* use `CipherId` type

* pass submit button reference to the underlying form

* remove bitFormButton

* [PM-7897] Attachments Part 2 (#9755)

* make `isNew` param optional

* emit success output after upload

* navigate the user to the edit screen after an upload

* allow for the deletion of an attachment

* add download attachment component to attachments view

* implement base attachment link

* add premium redirect

* show specific error message for free organizations

* make open-attachments a button so it is keyboard accessible

* fix lint error

* use bitItem

* using bitAction rather than standalone loading/deleting value

* remove extra title, unneeded because of the appA11yTitle usage

* use `replaceUrl` to avoid the back button going to the attachments page

* use bit-item for consistency

* show error when a user tries to open an attachment that is a part of a free org

* add `CipherId` type for failed builds
2024-06-27 10:50:45 -05:00
Tom
98c6cc4a7e
[PM-5957] CLI - List items long runtime (#9589)
* Initial checking of collect many

* should update to better handle parameters

* cleaning up event collection params

* Adding documentation

* Removing commented out code saved for testing

* Adding pr changes and using the account service for event collection user id

* browser main.background event collection service needed the account service
2024-06-27 08:44:43 -04:00
Addison Beck
76a3cb5a46
Update CLI storefronts to use bitwarden licensed artifacts (#9827)
* Update the build job to use `bit` artifacts for stores

* Update the CLI's license in `package.json` for the NPM store

* Add license configuration to `snapcraft.yaml`
2024-06-26 16:01:05 -04:00
Tom
89a34a396c
Adding the setting of the account to null on logout for web (#9592)
Merging.
2024-06-26 14:42:25 -04:00
vinith-kovan
ab83e822f7
[PM-2056] update two factor duo dialog (#8976)
* migrating two factor duo component

* migrating two factor duo component

* two factor duo component migration

* two factor duo component migration

* removed null check from two-factor-setup

* cleanup duo changes

* remove ikey and skey references

* clean up

---------

Co-authored-by: Jake Fink <jfink@bitwarden.com>
2024-06-26 23:25:42 +05:30
vinith-kovan
b38629b4c9
[AC-2411] migrate account component (#8854)
* migrate account component

* account component review comment addressed

* account component review comment addressed

---------

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2024-06-26 23:16:32 +05:30
Daniel James Smith
1495b06736
Move send icons to @bitwarden/send-ui (#9840)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-26 15:52:55 +01:00
KiruthigaManivannan
5e9e095b40
PM-5022 Migrate Payment Method component (#8397)
* PM-5022 Migrated Payment Method component

* PM-5022 Addressed review comments

* PM-5022 Addressed review comments on CSS

* PM-5022 Addressed the css comment and fixed build issues

* PM-5022 Changed app-callout to bit-callout

---------

Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
2024-06-26 19:36:25 +05:30
Alex Morask
dbc6f1c840
Add description to billing history, update invoice table and report name (#9777) 2024-06-26 09:30:37 -04:00
Will Martin
8df054cf51
[CL-319] custom back action in popup header component (#9829)
* expose FunctionReturningAwaitable from CL lib

* expose backAction as input on popup header component
2024-06-25 15:55:49 -04:00
Jake Fink
d7bf0fe536
[PM-8868] only deserialize org invite if not nullish (#9644)
* only deserialize org invite if not nullish

* add null check to OrganizationInvite init methods

* PR feedback
2024-06-25 15:00:27 -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
KiruthigaManivannan
7fffbc7938
PM- 2059 Update Two factor webauthn dialog (#9009)
* PM-2059 Update Two Factor Webauth Dialog

* PM-2059 Added event emitter for enabled status

* PM-2059 Addressed review comments

* convert to arrow function

* PM-2059 Latest comments addressed

* PM-2059 Updated disable method by adding a condition to capture simple dialog in base component

---------

Co-authored-by: rr-bw <102181210+rr-bw@users.noreply.github.com>
2024-06-25 20:33:48 +05:30
Alex Morask
b6c46745a5
Add default OrganizationUpdateRequest values when FormControls are disabled (#9774) 2024-06-25 10:45:21 -04: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
Jake Fink
1fdfd695e1
reference correct default kdf config (#9822)
* reference correct default kdf config

* update change kdf references
2024-06-25 08:57:59 -04:00
Jake Fink
0add2949c0
[PM-8772] move ranges to static properties on class (#9567)
* move ranges to static properties on class

* rename static properties
2024-06-25 08:21:02 -04:00
Andreas Coroiu
dce5c0f184
[PM-6413] Add http loophole for localhost (#9236)
* [PM-6413] feat: add http loophole for localhost

Fixes #6882

* feat: add sanity check

* feat: change fido2 filters to allow scripts on localhost

* [PM-6413] fix: injection tests
2024-06-25 11:06:04 +02:00
Jason Ng
1826403d8d
added a clear organization method inside vault-filter service (#9786) 2024-06-24 12:30:04 -07: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
Alex Morask
fa1a6359bc
[AC-2774] [AC-2781] Consolidated issues for Consolidated Billing (#9717)
* Rename provider client components for brevity

* Make purchased seats dynamic on create client component

* Fix access and empty state for service users

* Refactor manage client subscription dialog

* Fixed manage subscription dialog errors

* Make unassigned seats dynamic for create client dialog

* Expanded invoice statuses

* Update invoice header on invoices component
2024-06-24 11:15:53 -04:00
renovate[bot]
043a7a39ff
[deps] Autofill: Update tldts to v6.1.29 (#9800)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-24 10:18:09 -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
aj-rosado
ce75800aec
Added aria-expanded attribute to options button on web send add edit (#9732) 2024-06-24 10:34:52 +01: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
Conner Turnbull
87932cf926
Update email on sponsored families signup to update on change (#9649) 2024-06-21 14:01:04 -04:00
github-actions[bot]
248bf56b95
Autosync the updated translations (#9761)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-21 08:06:02 +00: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
github-actions[bot]
f4a4e3b822
Autosync the updated translations (#9759)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-21 08:02:10 +00:00
Ike
d74435dba7
[PM-8924] Login component tab and keyboard navigation fixes (#9707)
* tab and keyboard navigation fixes

* PM-8924 - Improve login component keyboard and mouse navigation scenarios

Co-authored-by: Ike Kottlowski <ikottlowski@bitwarden.com>

---------

Co-authored-by: Jared Snider <jsnider@bitwarden.com>
2024-06-20 14:20:54 -07:00
Nick Krantz
82f8641926
[PM-8615] Filters Accessibility tweaks (#9538)
* wrap filters in a role="toolbar" & add aria label

* announce deactivated org message when presented to the user
2024-06-20 14:21:22 -05:00
Thomas Avery
1763324a89
[SM-654] Individual secret permissions (#9527)
* update secret service

* Add new method to access policy selector service

* Add individual secret permission management to secret dialog

* add secret.service tests
2024-06-20 12:43:41 -05:00
Bitwarden DevOps
b70d227b86
Bumped client version(s) (#9751) 2024-06-20 16:57:26 +00:00
rr-bw
9fc89aa450
[PM-4952] Remove Password Component Bug Fixes (#9697)
* fix button padding

* convert to arrow functions
2024-06-20 09:04:35 -07:00
Jake Fink
b306554675
[PM-6789] finish key rotation distribution and fix legacy user (#9498)
* finish key rotation distribution and fix legacy user

* add ticket to TODO

* PR feedback: docs and renaming

* fix webauthn tests

* add test for send service

* add await to test
2024-06-20 11:36:24 -04: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
SmithThe4th
8bd2118d77
reverted user verification for passkeys (#9734) 2024-06-20 10:35:45 -04:00
Oscar Hinton
cbb2fa9442
[PM-8972] Migrate callouts to the new CL callout (#9710)
* Migrate callouts to the new CL callout
2024-06-20 15:45:48 +02:00
cyprain-okeke
593dc3c716
[AC-2721] [Defect] Apply subscription status updates in provider subscription details (#9729)
* Resolve the pending cancellation status

* Add the contact information
2024-06-20 13:50:10 +01: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
KiruthigaManivannan
7e3ba087ec
PM-4950 Migrate Hint Component (#9303)
* PM-4950 Migrate Hint Component

* PM-4950 Updated Anon layout changes

* PM-4950 Addressed review comments

* PM-4950 - Tweak form control + add comment.

* PM-4950 - Address PR feedback

* PM-4950 - Move canActivate up a level.

* PM-4950 - Consolidate route under AnonLayoutWrapperComponent path from merging in main.

---------

Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Jared Snider <jsnider@bitwarden.com>
Co-authored-by: Todd Martin <tmartin@bitwarden.com>
2024-06-19 11:42:16 -04:00
vinith-kovan
97002c8852
[PM 4973] migrate change kdf component (#8485)
* chnage kdf component migration

* chnage kdf component migration

* change kdf component migration

* migrating change-kdf component

* migrating change-kdf component

* migrating change-kdf component

---------

Co-authored-by: Todd Martin <tmartin@bitwarden.com>
2024-06-19 11:35:22 -04:00
KiruthigaManivannan
dfd4479a9c
PM-4960 Migrate Verify Recover Delete Component (#9171)
* PM-4960 Migrate Verify Recover Delete Component

* PM-4960 Minor fix

* PM-4960 Addressed review comments
2024-06-19 11:18:31 -04:00
renovate[bot]
a427ec371a
[deps] Platform (CL): Update @compodoc/compodoc to v1.1.25 (#8966)
* [deps] Platform (CL): Update @compodoc/compodoc to v1.1.25

* Fix compodoc errors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Vicki League <vleague@bitwarden.com>
2024-06-19 09:00:56 -04:00
Bitwarden DevOps
4a25db4ec0
Bumped client version(s) (#9725) 2024-06-18 23:30:19 +00:00
aj-rosado
1a37d02556
[AC-2504] Add new members access report card (#9335)
* Added new report card and FeatureFlag for MemberAccessReport

* Add new "isEnterpriseOrgGuard"

* Add member access icon

* Show upgrade organization dialog for enterprise on member access report click

* verify member access featureflag on enterprise org guard

* add comment with TODO information for follow up task

* Improved readability, removed path to wrong component and refactored buildReports to use the productType

* added TODO to remove the feature flag on cleanup

* changing ProductType to ProductTierType on isEnterpriseOrgGuard
2024-06-18 22:13:55 +01:00
Bitwarden DevOps
08cdecf514
Bumped client version(s) (#9720) 2024-06-18 19:10:10 +00:00
Bitwarden DevOps
9696b640fd
Bumped client version(s) (#9719) 2024-06-18 18:50:28 +00:00
Bitwarden DevOps
efe4d4a214
Bumped client version(s) (#9716) 2024-06-18 18:33:13 +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
Nick Krantz
2bec2c5605
fix sync service provider (#9713) 2024-06-18 10:15:38 -05:00
Nick Krantz
c219addc1c
[PM-2664] Hide Owners column below desktop viewports (#8923)
* hide owners row below desktop viewports

* hide collection owner on smaller screens
2024-06-18 08:23:02 -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
Jake Fink
75615902a3
fix email 2fa validation (#9702) 2024-06-17 17:26:52 -04:00
Jake Fink
8440759602
add back env selector to 2fa (#9701) 2024-06-17 17:25:58 -04:00
Jake Fink
0c6e296dc3
add validation to form (#9691) 2024-06-17 17:23:25 -04:00
aj-rosado
26186618f5
[PM-245] Fixed validation on navigate back on browser send add edit (#9605)
* Fixed validation on navigate back on browser send add edit

* simplified expression using nullish-resolution
2024-06-17 21:38:35 +01:00
Cesar Gonzalez
90d619acb5
[PM-8027] Inline menu appears within input fields that do not relate to user login (#9110)
* [PM-8027] Inlin menu appears within input fields that do not relate to user login

* [PM-8027] Inlin menu appears within input fields that do not relate to user login

* [PM-8027] Inlin menu appears within input fields that do not relate to user login

* [PM-8027] Working through logic heuristics that will help us determine login form fields

* [PM-8027] Fixing jest test

* [PM-8027] Reworking inline menu to qualify and setup the listeners for each form field after page deatils have been collected

* [PM-8027] Cleaning up implementation details

* [PM-8027] Cleaning up implementation details

* [PM-8027] Cleaning up implementation details

* [PM-8027] Updating update of page details after mutation to act on an idle moment in the browser

* [PM-8027] Updating how we guard against excessive getPageDetails calls

* [PM-8027] Refining how we identify a username login form field

* [PM-8027] Refining how we identify a password login form field

* [PM-8027] Refining how we identify a username login form field

* [PM-8027] Fixing jest tests for the overlay

* [PM-8027] Fixing jest tests for the collectPageDetails method

* [PM-8027] Removing unnecessary code

* [PM-8027] Removing unnecessary code

* [PM-8027] Adding jest test to validate new behavior

* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService

* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService

* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService

* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService

* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService

* [PM-8027] Finalization of Jest test for the implementation

* [PM-8027] Fixing a typo

* [PM-8027] Incorporating a feature flag to allow us to fallback to the basic inline menu fielld qualification method if needed

* [PM-8027] Incorporating a feature flag to allow us to fallback to the basic inline menu fielld qualification method if needed

* [PM-8027] Fixing issue with username fields not qualifyng as a valid login field if a viewable password field is not present

* [PM-8027] Fixing an issue where a field that has no form and no visible password fields should be qualified if a single password field exists in the page

* [PM-8027] Fixing an issue where a field that has no form and no visible password fields should be qualified if a single password field exists in the page

* [PM-8869] Autofill features broken on Safari

* [PM-8869] Autofill features broken on Safari

* [PM-5189] Fixing an issue found within Safari

* [PM-8027] Reverting flag from a fallback flag to an enhancement feature flag

* [PM-8027] Fixing jest tests
2024-06-17 18:49:29 +00:00
Bernd Schoolmann
1970abf723
[PM-4370] Implement PRF key rotation (#9517)
* Add prf key rotation

* Fix tests

* Re-add comment

* Remove encrypted private key from webauthnlogincredentialresponse

* Refactor to use rotateablekeyset

* Move key rotation logic to webauthn-login-admin service

* Fix type error

* Add parameter validation

* Add documentation

* Add input validation

* Add tests
2024-06-17 20:47:06 +02:00
Will Martin
06410a0633
[CL-118][CL-164][PM-8019] collapsible side navigation (#6383) 2024-06-17 14:10:50 -04:00
Bitwarden DevOps
3bfdc50d5d
Bumped client version(s) (#9700) 2024-06-17 18:01:01 +00:00
Tom
c26669cf60
Moving the config command and adding the error for server config when logged in (#9347) 2024-06-17 11:00:19 -04:00
Todd Martin
4e19c3ef52
[PM-7387] Hide Master Password tab for users without MP (#9555) 2024-06-17 10:41:22 -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
github-actions[bot]
94dcc89747
Autosync the updated translations (#9686)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-17 12:49:04 +00:00
github-actions[bot]
b35b89bb66
Autosync the updated translations (#9685)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-17 12:46:28 +00:00
vinith-kovan
18b56c0b5a
Bug fix - Yubikey code obscured (#9624) 2024-06-16 14:33:43 -04:00
KiruthigaManivannan
1976843f75
PM-8482 Change KDF Confirmation no longer has browser validation (#9485)
* PM-8482 Change KDF Confirmation no longer has browser validation

* PM-8482 - ChangeKdfConfirmationComponent - use form invalid instead of manual form valid check

---------

Co-authored-by: Jared Snider <jsnider@bitwarden.com>
2024-06-16 14:32:08 -04:00
Todd Martin
66dc01cc62
[PM-7930] Add ability to pop out extension to user decryption options component (#9037)
* Added app-pop-out to components

* Removed debugging.

* Removed pop-out from login via auth request.

* Undid header changes.

---------

Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
2024-06-16 14:01:48 -04:00
github-actions[bot]
aab9b0e73c
Autosync the updated translations (#9641)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-16 07:18:57 +00:00
Jared Snider
b15cac627f
Auth/ Fix web route data configuration issues for SSO comp and Accept Emergency comp (#9671) 2024-06-15 11:10:00 -04:00
Robyn MacCallum
afe9a1768a
[SM-1305] Add Kubernetes and Rust to the integrations page (#9611)
* Add Kubernetes and Rust to the integrations page

* Fix integrations page tests
2024-06-14 16:54:52 -04:00
Jared Snider
0dd476588d
PM-8886 - SsoComponent - fix missing form validation (#9665) 2024-06-14 16:17:54 -04:00
Jake Fink
1043a582c1
[PM-7879, PM-7635] Add server verification for master password to user verification (#9523)
* add MP server verification

* add tests and minor service enhancements

* fix tests

* fix initializations for cli and browser

* fix CLI

* pr feedback
2024-06-14 16:06:55 -04:00
rr-bw
e38a39f7c6
adjust w (#9657) 2024-06-14 12:50:05 -07:00
Conner Turnbull
f484dd491b
[PM-8830] Billing Enums Rename (#9612)
* Renamed ProductType to ProductTierType

* Renamed Product properties to ProductTier

* Moved product-tier-type.enum.ts to billing folder

* Added ProductType enum
2024-06-14 15:43:40 -04:00
Bitwarden DevOps
e521d702ba
Bumped client version(s) (#9668) 2024-06-14 19:41:36 +00:00
Nick Krantz
90cdd9343b
[Fix] Storybook: product navigation errors (#9664)
* fix product switcher stories by adding sync service mock

* remove redundant await
2024-06-14 14:16:13 -05:00
Jared Snider
dda17885f9
PM-8867 - RecoverDelete comp - fix missing page title (#9660) 2024-06-14 14:06:56 -04:00
Bitwarden DevOps
966737c2e2
Bumped client version(s) (#9661) 2024-06-14 17:58:33 +00:00
Jared Snider
a95ca524c6
PM-8866 - Fix Recover delete component submit missing form validation. (#9658) 2024-06-14 13:49:27 -04:00
Cesar Gonzalez
6e7239e05e
[PM-8885] Hardcode Fallback to TreeWalker Strategy for PageCollection details (#9652) 2024-06-14 12:08:13 -05:00
Bitwarden DevOps
977712873b
Bumped client version(s) (#9655) 2024-06-14 16:58:44 +00:00
Alex Morask
af53df09ac
[AC-1944] Add provider billing history component (#9520)
* Add provider-billing-history.component

* Implement provider client invoice export
2024-06-14 12:27:49 -04: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
Cesar Gonzalez
eb96f7dbfb
[PM-8869] Fix broken autofill cache invalidation features on Safari (#9643)
* [PM-8869] Autofill features broken on Safari

* [PM-8869] Autofill features broken on Safari
2024-06-14 10:26:41 -05: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
Nick Krantz
94438d4138
[PM-8208] Fix: Product Navigation flash (#9587)
* wait until a sync is complete to render the product switcher content

* refactor unneeded observables into their own variable

* do not show product switcher button until content is loaded

* use `ReplaySubject` to ensure that `syncCompleted$` last value is always used
2024-06-14 08:24:50 -05:00
Daniel García
e3b425069c
[PM-8870] Fix argon2 in desktop (#9628) 2024-06-14 11:36:26 +02:00
github-actions[bot]
fb4987b7b1
Autosync the updated translations (#9642)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-14 08:21:47 +00: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
Rui Tomé
f85b7b314c
[AC-1658] Update list command to show only organizations where the user is a member (#9453)
* Refactor list organizations command to use organizationService.memberOrganizations$

* Deprecate OrganizationService.getAll method and update CLI get command to use the organizations observable
2024-06-14 15:38:50 +10:00
Shane Melton
2333059885
[PM-8831] Hide trashed items from new vault popup lists (#9633) 2024-06-13 14:11:18 -07:00
Bitwarden DevOps
d266868dd8
Bumped client version(s) (#9636) 2024-06-13 20:26:52 +00:00
Shane Melton
2ff9c3bb76
[AC-2771] [AC-2772] Provider Restriction Fixes (#9635)
* [AC-2771] Do not make API request when restricted provider is not a member of the org

* [AC-2771] Fix console errors when switching organizations

* [AC-2772] Fix org vault for providers who are members
- Show vault filters
- Hide header search bar
- Show create new item button
2024-06-13 13:18:49 -07: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
Shane Melton
e56a3386a2
[AC-2763] Allow providers who are also members access to items (#9585)
* [AC-2763] Do not restrict providers if they are also a member of the organization

* [AC-2763] Reduce branching complexity

* [AC-2763] Remove explicit restrict provider access checks in Vault

We can safely fall back organization helpers for cipher access as it already accounts for provider users who are members.
2024-06-13 07:21:14 -07:00
Thomas Rittson
89aa6220ca
[AC-2740] Add device-approval to bw serve (#9512)
* Extract bw serve endpoint configuration to a configurator class

* Add device-approval endpoints to bw serve
2024-06-13 11:32:51 +10:00
Thomas Rittson
b35930074c
[PM-8457] [PM-8608] Members page - remove paging logic / fix search (#9515)
* update admin console members page to use Component Library
  components and tools, including virtual scroll and table filtering

* temporarily duplicate the base component to avoid impacting
  other subclasses
2024-06-13 08:09:35 +10:00
Shane Melton
6687ef5978
[PM-7683] Fix dynamic item defects (#9575)
* [PM-8639] Add data-testid attribute for test automation

* [PM-8669] Add autofill aria label

* [PM-8674] Show autofill menu options for card/identities when not in the autofill suggestion list

* [PM-8635] Hide menu items when copy cipher field directive is disabled

* [PM-8636] Disable copy menu dropdown when no items available to copy

* [CL-309] Add title override to bitBadge

* [PM-8669] Update menu-item directive disabled input

* [PM-7683] Fix race condition for remainingCiphers$

* [PM-7683] Use strict equality check
2024-06-12 14:33:18 -07:00
Conner Turnbull
4d27824064
Revert "[PM-5024] tax info component migration (#8199)" (#9603)
This reverts commit 99dc88688a.
2024-06-12 12:04:48 -04:00
Jake Fink
c1d3659a28
initialize subscription after setting initial values (#9579) 2024-06-12 11:50:23 -04:00
Conner Turnbull
a7912ad10c
Revert "Upload license dialog not closing bug fix (#9588)" (#9602)
This reverts commit bece072086.
2024-06-12 16:22:46 +01:00
KiruthigaManivannan
dd5d01283e
PM-4954 Migrate SSO Component (#9126)
* PM-4954 Migrate SSO Component

* PM-4954 Updated anon layout changes

* PM-4954 Updated oss routing module

* PM-4954 Addressed review comments

* PM-4954 - SSO Comp - adjust to use form control accessor.

* PM-4954 - SsoComp - update form control accessor to use type safe approach.

* PM-4954 - Move canActivate up a level

* PM-4954 - Consolidate route under AnonLayoutWrapperComponent path after merging in main.

---------

Co-authored-by: Jared Snider <jsnider@bitwarden.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
2024-06-12 19:46:58 +05:30
vinith-kovan
ae688d9e9e
[PM-4961]anon-layout login component migrated (#9167)
* anaon-layout login component migrated

* Login component migration

* Login component migration

---------

Co-authored-by: Ike Kottlowski <ikottlowski@bitwarden.com>
2024-06-12 18:59:44 +05:30
KiruthigaManivannan
d5e0ab74a4
PM-1943 Migrate Recover Delete Component (#9169)
* PM-1943 Migrate Recover Delete Component

* PM-1943 Anon layout changes done

* PM-1943 - await navigate

* PM-1943 - Add new anon layout wrapper env selector.

---------

Co-authored-by: Jared Snider <jsnider@bitwarden.com>
2024-06-12 18:37:08 +05:30
Bitwarden DevOps
88dc574982
Bumped client version(s) (#9596) 2024-06-12 12:54:20 +00:00
Conner Turnbull
f85c4877e2
Updated certain billing callsites to get billing history instead (#9443) 2024-06-12 07:52:59 -04:00
vinith-kovan
99dc88688a
[PM-5024] tax info component migration (#8199)
* tax info component migration

* tax info component migration

* tax info component migration

* PM-5024 Updated form controls in the component

---------

Co-authored-by: KiruthigaManivannan <kiruthiga.manivannan@kovanlabs.com>
2024-06-12 13:28:23 +05:30
vinith-kovan
bece072086
Upload license dialog not closing bug fix (#9588) 2024-06-12 12:19:33 +05:30
Cesar Gonzalez
3b0005b48c
[PM-8518] Autofill scripts do not inject into sub frames on install (#9459)
* [PM-8518] Autofill scripts do not inject into sub-frames on install

* [PM-8518] Implementing jest tests for added BrowserApi methods

* [PM-8518] Adding generic typing to tabSendMessage call
2024-06-11 15:50:03 -05:00
Cesar Gonzalez
fe82dbe2b9
[PM-8510] Implement collect page details observable (#9452)
* Working through a POC of a collectPageDetails observable

* Implementing collect page details observable

* [PM-8510] Implement collectPageDetails observable

* [PM-8510] Adding documentation to newly created collectPageDetailsFromTab method

* [PM-8510] Removing unnecessary file

* [PM-8510] Implementing Jest tests for the collectPageDetailsFromTab$ method

* [PM-8510] Implementing Jest tests for the collectPageDetailsFromTab$ method

* [PM-8510] Implementing Jest tests for the collectPageDetailsFromTab$ method

* [PM-8510] Implementing Jest tests for the collectPageDetailsFromTab$ method

* [PM-8510] Removing unnecessary property

* [PM-8510] Adding subscription reference to current tab component

* [PM-8510] Fixing jest tests
2024-06-11 20:00:05 +00:00
rr-bw
9b0250d4fd
Check undefined data properties before i18n (#9590)
* remove duplicate route

* check for undefined before translation
2024-06-11 12:06:02 -07:00
vinith-kovan
19d863c9ef
[PM-4956] two factor component migration (#9204)
* two factor component migration

* two factor component migration

* two factor component migration

* two factor component migration

* two factor component migration
2024-06-11 23:25:58 +05:30
vinith-kovan
832abcd955
[PM-2057] update two factor email dialog (#9547)
* migrating two factor email component

* two factor email component migration

* two factor email component migration

* two factor email component migration

* two factor email component migration
2024-06-11 23:17:55 +05:30
Tom
e6803e05ee
[PM-8593] CLI - Logout needs to reset active account (#9503)
* On logging out the account service active account needs set to null

* Auth service logout back to old spot and account switch after cleaning the state
2024-06-11 13:36:31 -04:00
Alex Morask
f6702cd2d7
[AC-2595] [AC-2596] Empty clients placeholder and setup provider hint (#9505)
* Added empty state to providers clients page

* Added bitForm to Setup component and added billing email hint
2024-06-11 10:36:31 -04:00
Nick Krantz
cbc34950fb
add check for PersonalOwnershipPolicy in vault filters (#9570) 2024-06-10 14:25:21 -05:00
Jason Ng
841edc1058
[PM-7102] Create Add/Edit container for Item v2 work (#9541)
* set up new add-edit-v2 component
2024-06-10 14:23:29 -04:00
Vincent Salucci
b169207b74
[AC-2647] Remove Flexible Collections MVP code (#9518)
* chore: organization.ts, remove refs to flexibleCollections and isManager, refs AC-2647

* chore: clean up callers of removed methods from organization.ts, refs AC-2647

* chore: access-selector, remove fc input and update permissionList param, refs AC-2647

* chore: update permissionList caller, update group-add-edit fc refs, and remove accessAll, refs AC-2647

* chore: update member-dialog fc callers, refs AC-2647

* chore: update bulk-collections-dialog fc callers, refs AC-2647

* chore: update collection-dialog fc callers, refs AC-2647

* chore: update simple fc caller to misc files, refs AC-2647

* chore: update member-dialog fc callers, refs AC-2647

* chore: remove accessAll references and update callers, refs AC-2647

* chore: update comment to specify v1 usage, refs AC-2647

* chore: remove unused message keys and code calls to use those messages, refs AC-2647

* chore: remove readonly false from access-selector model map function, refs AC-2647
2024-06-10 11:59:20 -05:00
Shane Melton
19f2d2aefc
[PM-8379] Update vault popup items service to track loading state (#9528) 2024-06-10 09:55:12 -07:00
renovate[bot]
700acc069b
[deps] Autofill: Update tldts to v6.1.25 (#9559)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 10:24:14 -04:00
vinith-kovan
b49b6b370f
[PM-4952] Migrate-remove-password-component (#9305)
* migrating remove-password component

* add loading state

---------

Co-authored-by: rr-bw <102181210+rr-bw@users.noreply.github.com>
2024-06-10 19:42:10 +05:30
Rui Tomé
eef1e511b5
[AC-2286] [Defect] - CLI: User creating a collection through the CLI does not have access to the collection (#9409)
* Send current Org user Id on collection creation through CLI

* Run npm prettier

* Add organization services to CreateCommand creation on ServeCommand

* Refactor organization data models to include organizationUserId property

* Refactor create command to utilize the OrganizationUserId on the Organization object

* Add users to collection request in edit command

* fix: organization.data test update to correct deserialization, refs AC-2286

---------

Co-authored-by: Vincent Salucci <vincesalucci21@gmail.com>
2024-06-07 14:14:21 -05:00
Thomas Avery
769d67af39
[SM-1292] Add secret view dialog (#9445)
* Add secret view dialog

* Use secret view dialog
2024-06-07 10:32:26 -05:00
Cesar Gonzalez
d30b947dd7
[PM-8498] Moving content script-specific FIDO2 code from Vault to Autofill ownership (#9431)
* [PM-8498] Moving content script-specific FIDO2 code from Vault to Autofill ownership

* [PM-8498] Adjusting jest test reference for webauth-utils
2024-06-07 08:47:38 -05:00
Daniel James Smith
28e8f8f364
[PM-7240] Create new export component [UI changes] (#9285)
* Move/replace submit and userVerification logic from web into the BaseExportComponent

Add "@bitwarden/auth" as dependency to the vault-export-ui package
New submit logic also checks for password-encrypted exports which will be need for future UI updates on browser and desktop

* Move/replace submit and userVerification logic from web into the BaseExportComponent

Add "@bitwarden/auth" as dependency to the vault-export-ui package
New submit logic also checks for password-encrypted exports which will be need for future UI updates on browser and desktop

* Create export-browser-v2 component

Copy existing `export-browser`-component
Add `popup-page` and -`header` and -`footer`
Add missing imports as page is marked as standalone
Route to new page when feature flag enabled

* Remove duplicate verifyUser methods

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-07 09:17:00 -04:00
github-actions[bot]
8361c0bd29
Autosync the updated translations (#9543)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-07 10:21:13 +00:00
github-actions[bot]
9f10569e9c
Autosync the updated translations (#9545)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-07 06:46:25 +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
Shane Melton
c8b2807487
[PM-8665] Show toast when favorite is toggled (#9537) 2024-06-06 14:25:23 -07:00
Nick Krantz
3457941634
show family icon for free orgs in filter chips (#9532) 2024-06-06 15:30:02 -05:00
Nick Krantz
a5591dc4bc
[PM-8592] Deactivated state not showing (#9533)
* refactor vault state observables into a single variable to remove multiple subscriptions

* add clarification comment

* fix comment to be accurate
2024-06-06 15:28:29 -05: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
Shane Melton
79968c2d32
[PM-8335] Show autofill suggestion when no autofill login items present (#9521) 2024-06-06 10:43:55 -07:00
KiruthigaManivannan
c8eac6fa12
PM-4977 Migrate Preferences component (#8663)
* PM-4977 Migrate Preferences component

* PM-4977 Addressed the review comments

* PM-4977 Updated css in preferences html

* PM-4977 Removed the class applied on bit-hint
2024-06-06 20:46:59 +05:30
Nick Krantz
a7b45a44e3
[PM-8594] use singular version of the copy for filters (#9509)
* use singular for collection and type

* use singular verbiage for cipher type

* use type translations for singularity
2024-06-06 09:39:21 -05:00
KiruthigaManivannan
47e66bfeb4
AC-2723 Defect Range Too large error toast on reporting events is not being displayed (#9478) 2024-06-06 20:05:21 +05:30
vinith-kovan
c06211829f
[PM 5023] migrate payment component (#8345)
* payment component migration

* payment component migration

* payment component migration
2024-06-06 19:29:54 +05:30
KiruthigaManivannan
6fadee7cb4
PM-2055 Update Two Factor Authenticator Dialog (#8972)
* PM-2055 Update Two Factor Authenticator Dialog

* PM-2055 Added close to disable two factor

* PM-2055 Added a event emitter to capture enabled status
2024-06-06 09:53:29 -04:00
KiruthigaManivannan
a1442194ae
PM-2047 Migrated Change Avatar component (#8522)
* PM-2047 Migrated Change Avatar component

* PM-2047 Addressed the review comments

* PM-2047 Changed the file name

* PM-2047 Removed form promise
2024-06-06 19:23:02 +05:30
KiruthigaManivannan
d58103dfb1
AC-2702 Defect Full Header name is not visible for require sso component (#9479) 2024-06-06 18:57:04 +05:30
KiruthigaManivannan
f2bd16a0c4
PM-1938 Migrate Accept Emergency Component (#9177)
* PM-1938 Migrate Accept Emergency Component

* PM-1938 Updated OSS routing module

* PM-1938 Updated anon layout path and removed width

* PM-1938 Addressed review comments

* PM-1938 - Move canActivate up a level.

* PM-1938 - Consolidate routing after merging in main.

---------

Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Jared Snider <jsnider@bitwarden.com>
2024-06-06 18:45:17 +05:30
KiruthigaManivannan
d8a86cdb7e
PM-8478 Defect Visually more padding needed around bit avatar (#9481) 2024-06-06 18:18:13 +05:30
Maciej Zieniuk
323b59de71
SM-1213 Add Bitwarden Secrets Manager tip to CLI help (#9307)
* SM-1213 Add Bitwarden Secrets Manager tip to help

* SM-1213: Moved SM tip before examples
2024-06-06 09:40:51 +02:00
Will Martin
472a7a9d4d
[CL-302] respect bottom padding in scrollable popup-layout (#9514) 2024-06-05 17:17:24 -04:00
Cesar Gonzalez
ce69b25d54
[PM-8519] Inline menu fails to update credentials after saving credentials when unlocking extension (#9462)
* Add Back Foreground & Background Derived State

* Do Dependency Injection

* Defend `map` Calls

* Remove Folder Change

* Add Helper For Preparing a Record For Use in `forkJoin`

* Update & Test CryptoService Changes

* Delete Unused Code

* Update DeviceTrustService

* Update CipherService

* Make `userPublicKey$` Public

* Rename convertValues File

* Switch to `MonoTypeOperatorFunction`

* Remove Unnecessary `async`

* Remove Unnecessary Mock

* Update libs/common/src/platform/abstractions/crypto.service.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Add `convertValues` Tests

* Add Doc Comments

* Convert to `function`'s

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Fix Test Typos

* Add param doc

* Update Test Name

* Add `@throws` Docs

* [PM-8519] Inline Menu fails to Update Credentials After Saving New Cipher When Unlocking Extension

* Revert "Merge branch 'reintroduce-foreground-background-derived' into autofill/pm-8519-inline-menu-fails-to-update-credentials-after-saving-credentials-when-unlocking-extension"

This reverts commit 53b060dac1, reversing
changes made to 15b9a237b8.

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
2024-06-05 15:14:34 -05:00
Victoria League
d3f1992ad5
[CL-294] Make section-header work across clients (#9386) 2024-06-05 15:07:00 -04:00
KiruthigaManivannan
6e55733873
PM-4951 Migrate Recover Two Factor Component (#9170)
* PM-4951 Migrate Recover Two Factor Component

* PM-4951 Addressed review comments

* PM-4951 Addressed review comments

* update route

* add type safety to data properties

---------

Co-authored-by: rr-bw <102181210+rr-bw@users.noreply.github.com>
2024-06-05 10:52:04 -07:00
vinith-kovan
1cec69e377
[PM 2164] api-key component migration (#8562)
* api-key component migration

* api-key component migration

* api-key component migration

* api-key component migration
2024-06-05 22:44:33 +05:30
vinith-kovan
24fb3f71f1
[PM-2057] update two factor email dialog (#8974)
* migrating two factor email component

* two factor email component migration

* two factor email component migration

* two factor email component migration
2024-06-05 22:29:51 +05:30
Shane Melton
1cfbcf4ee0
[PM-8334] Sort ciphers after autofill (#9511)
* [PM-8334] Add localData$ to CipherService and watch it for updates

* Fix leftover tw-fixed class

* [PM-8334] Fix tests
2024-06-05 08:10:36 -07:00
Justin Baur
1aaa88a64d
[PM-7837] Move SyncService to Platform Ownership (#9055)
* Move

* Update  References In Unowned Files

* Update  References In Vault Files

* Update Web AppComponent

* Add Import
2024-06-05 10:48:12 -04:00
Jason Ng
cb0927ac5d
[PM-8553] browser v2 search bar defects (#9506)
* update no results icon and no results scrolling
* update v2 search so the term persist when the user clicks into an item and exits the item
2024-06-05 10:06:52 -04:00
vinith-kovan
7e86c0afd4
[PM-5014] Download license component migration (#8443)
* Download license component migration

* download license dialog component migration

* download license dialog component migration
2024-06-05 13:45:08 +05:30
Shane Melton
f059d136b2
[PM-8485] [PM-7683] Dynamic list items - Org Details (#9466)
* [PM-7683] Add fullAddressForCopy helper to identity.view

* [PM-7683] Introduce CopyCipherFieldService to the Vault library

- A new CopyCipherFieldService that can be used to copy a cipher's field to the user clipboard
- A new appCopyField directive to make it easy to copy a cipher's fields in templates
- Tests for the CopyCipherFieldService

* [PM-7683] Introduce item-copy-actions.component

* [PM-7683] Fix username value in copy cipher directive

* [PM-7683] Add title to View item link

* [PM-8456] Introduce initial item-more-options.component

* [PM-8456] Add logic to show/hide login menu options

* [PM-8456] Implement favorite/unfavorite menu option

* [PM-8456] Implement clone menu option

* [PM-8456] Hide launch website instead of disabling it

* [PM-8456] Ensure cipherList observable updates on cipher changes

* [PM-7683] Move disabled logic into own method

* [PM-8456] Cleanup spec file to use Angular testbed

* [PM-8456] Fix more options tooltip

* [PM-8485] Introduce new PopupCipherView

* [PM-8485] Use new PopupCipherView in items service

* [PM-8485] Add org icon for items that belong to an organization

* [PM-8485] Fix tests

* [PM-8485] Remove share operator from cipherViews$
2024-06-04 14:34:48 -07:00
Nick Krantz
d0c1325f0c
update icons for folder & collection filters (#9508) 2024-06-04 16:26:39 -05:00
Shane Melton
6eb94078f6
[PM-8456] [PM-7683] Dynamic list items - 3 dot menu (#9422)
* [PM-7683] Add fullAddressForCopy helper to identity.view

* [PM-7683] Introduce CopyCipherFieldService to the Vault library

- A new CopyCipherFieldService that can be used to copy a cipher's field to the user clipboard
- A new appCopyField directive to make it easy to copy a cipher's fields in templates
- Tests for the CopyCipherFieldService

* [PM-7683] Introduce item-copy-actions.component

* [PM-7683] Fix username value in copy cipher directive

* [PM-7683] Add title to View item link

* [PM-8456] Introduce initial item-more-options.component

* [PM-8456] Add logic to show/hide login menu options

* [PM-8456] Implement favorite/unfavorite menu option

* [PM-8456] Implement clone menu option

* [PM-8456] Hide launch website instead of disabling it

* [PM-8456] Ensure cipherList observable updates on cipher changes

* [PM-7683] Move disabled logic into own method

* [PM-8456] Cleanup spec file to use Angular testbed

* [PM-8456] Fix more options tooltip
2024-06-04 14:21:14 -07:00
Shane Melton
d1a9d6f613
[PM-8455] [PM-7683] Dynamic list items - Copy Action (#9410)
* [PM-7683] Add fullAddressForCopy helper to identity.view

* [PM-7683] Introduce CopyCipherFieldService to the Vault library

- A new CopyCipherFieldService that can be used to copy a cipher's field to the user clipboard
- A new appCopyField directive to make it easy to copy a cipher's fields in templates
- Tests for the CopyCipherFieldService

* [PM-7683] Introduce item-copy-actions.component

* [PM-7683] Fix username value in copy cipher directive

* [PM-7683] Add title to View item link

* [PM-7683] Move disabled logic into own method
2024-06-04 14:09:09 -07:00
KiruthigaManivannan
fc2953a126
AC-2680 Custom permission manage account recovery no longer auto triggers the manage users (#9477) 2024-06-04 15:55:35 -04:00
vinith-kovan
9322dacbd4
[PM 5011][PM-8562] migrate user subscription component (#9499)
* migrate user subscription along with update license dialog

* migrate user subscription along with update license dialog

* migrate user subscription along with update license dialog
2024-06-04 23:26:20 +05:30
rr-bw
13c2c2ecaa
[PM-8236] Allow for additional data properties (#9278)
* allow for additional properties

* create interface for DataProperties and extend AnonLayouWrapperData

* move data properties to RouterService

* add docs

* add comment

* rewrite comment
2024-06-04 08:38:54 -07:00
renovate[bot]
be5507411b
[deps] Platform: Update @types/node to v20 (#9428)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 08:27:05 -05:00
renovate[bot]
24f0a7478b
[deps] Platform: Update Rust crate anyhow to v1.0.86 (#9375)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 12:18:36 +02:00
renovate[bot]
7627afbfec
[deps] Platform: Update Rust crate base64 to v0.22.1 (#9376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 14:33:25 -04:00
Bitwarden DevOps
99639b537f
Bumped client version(s) (#9486) 2024-06-03 18:10:48 +00:00
Jared Snider
9d35a8895e
Auth/PM-8367 - Email Verification - Integrate Registration Self Hosted Env Selector + new Self Hosted Env Settings Dialog into Registration Start (#9361)
* PM-8367 - WIP - initial comp creation

* PM-8367 - Majority of new registration self hosted env config dialog working

* PM-8367 - RegistrationEnvSelectorComponent - add method handleSelfHostedEnvConfigDialogResult and add toast for happy path.

* PM-8367 - Add validation TODO

* PM-8367 - RegistrationSelfHostedEnvConfigDialogComponent - Add validator

* PM-8367 - RegEnvSelector - Only show self hosted if the client is browser or desktop since we will be using the selector on web as well.

* PM-8367 - Registration start comp - add env selector

* PM-8367 - Registration start - add proper import for standalone comps.

* PM-8367 - Registration Start - get storybook fixed with registration env selector

* PM-8367 - Add self hosted server to web translations only for storybook

* PM-8367 - Add more storybook examples and update docs (WIP - need to test self hosted selection)

* PM-8367 - Registration Start - update stories

* PM-8367 - Env Selector now emits selected region so that parent comps can listen to it if needed.

* PM-8367 - Registration Start - wire up handler for selectedRegionChange so that the parent comp can successfully track isSelfHost and hide / show the terms / privacy policy checkbox

* PM-8367 - TODO cleanup

* PM-8367 - Registration start docs - stage gate is two words.

* PM-8367 - Per working session with Will, move top level provided services to app level instead of module level to solve dialog null injector errors.

* PM-8367 - Storybook working for self hosted env dialog

* PM-8367 - Add dialog scroll feature to bitDialog and implement in self hosted env dialog.

* PM-8367 - Revert bit dialog changes and scroll implementation.

* PM-8367 - Tweak registration start docs

* PM-8367 - Remove unused changeDetectorRef

* PM-8367 - Add docs per PR feedback
2024-06-03 13:05:27 -04:00
Jared Snider
f691854387
Auth - PM-7392 & PM-7436 - Token Service - Desktop - Add disk fallback for secure storage failures (#8913)
* PM-7392 - EncryptSvc - add new method for detecting if a simple string is an enc string.

* PM-7392 - TokenSvc - add checks when setting and retrieving the access token to improve handling around the access token encryption.

* PM-7392 - (1) Clean up token svc (2) export access token key type for use in tests.

* PM-7392 - Get token svc tests passing; WIP more tests to come for new scenarios.

* PM-7392 - Access token secure storage to disk fallback WIP but mostly functional besides weird logout behavior.

* PM-7392 - Clean up unnecessary comment

* PM-7392 - TokenSvc - refresh token disk storage fallback

* PM-7392 - Fix token service tests in prep for adding tests for new scenarios.

* PM-7392 - TokenSvc tests - Test new setRefreshToken scenarios

* PM-7392 - TokenSvc - getRefreshToken should return null or a value - not undefined.

* PM-7392 - Fix test name.

* PM-7392 - TokenSvc tests - clean up test names that reference removed refresh token migrated flag.

* PM-7392 - getRefreshToken tests done.

* PM-7392 - Fix error quote

* PM-7392 - TokenSvc tests - setAccessToken new scenarios tested.

* PM-7392 - TokenSvc - getAccessToken - if secure storage errors add error to log.

* PM-7392 - TokenSvc tests - getAccessToken - all new scenarios tested

* PM-7392 - EncryptSvc - test new stringIsEncString method

* PM-7392 - Main.ts - fix circ dep issue.

* PM-7392 - Main.ts - remove comment.

* PM-7392 - Don't re-invent the wheel and simply use existing isSerializedEncString static method.

* PM-7392 - Enc String - (1) Add handling for Nan in parseEncryptedString (2) Added null handling to isSerializedEncString. (3) Plan to remove encrypt service implementation

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

* PM-7392 - Remove encrypt service method

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

* PM-7392 - Actually fix circ dep issues with Justin. Ty!

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

* PM-7392 - TokenSvc - update to use EncString instead of EncryptSvc + fix tests.

* PM-7392 - TokenSvc - (1) Remove test code (2) Refactor decryptAccessToken method to accept access token key and error on failure to pass required decryption key to method.

* PM-7392 - Per PR feedback and discussion, do not log the user out if hte refresh token cannot be found. This will allow users to continue to use the app until their access token expires and we will error on trying to refresh it. The app will then still work on a fresh login for 55 min.

* PM-7392 - API service - update doAuthRefresh error to clarify which token cannot be refreshed.

* PM-7392 - Fix SetRefreshToken case where a null input would incorrectly trigger a fallback to disk.

* PM-7392 - If the access token cannot be refreshed due to a missing refresh token or API keys, then surface an error to the user and log it so it isn't a silent failure + we get a log.

* PM-7392  - Fix CLI build errors

* PM-7392 - Per PR feedback, add missing tests (thank you Jake for writing these!)

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

* PM-7392 - Per PR feedback, update incorrect comment from 3 releases to 3 months.

* PM-7392 - Per PR feedback, remove links.

* PM-7392 - Per PR feedback, move tests to existing describe.

* PM-7392 - Per PR feedback, adjust all test names to match naming convention.

* PM-7392 - ApiService - refreshIdentityToken - log error before swallowing it so we have a record of it.

* PM-7392 - Fix copy for errorRefreshingAccessToken

* PM-7392 - Per PR feedback, move error handling toast responsibility to client specific app component logic reached via messaging.

* PM-7392 - Swap logout reason from enum to type.

* PM-7392 - ApiService - Stop using messaging to trigger toast to let user know about refresh access token errors; replace with client specific callback logic.

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* PM-7392 - Per PR feedback, adjust enc string changes and tests.

* PM-7392 - Rename file to be type from enum

* PM-7392 - ToastService - we need to await the activeToast.onHidden observable so return the activeToast from the showToast.

* PM-7392 - Desktop AppComp - cleanup messaging

* PM-7392 - Move Logout reason custom type to auth/common

* PM-7392 - WIP - Enhancing logout callback to consider the logout reason + move show toast logic into logout callback

* PM-7392 - Logout callback should simply pass along the LogoutReason instead of handling it - let each client's message listener handle it.

* PM-7392 - More replacements of expired with logoutReason

* PM-7392 - More expired to logoutReason replacements

* PM-7392 - Build new handlers for displaying the logout reason for desktop & web.

* PM-7392 - Revert ToastService changes

* PM-7392 - TokenSvc - Replace messageSender with logout callback per PR feedback.

* PM-7392 - Desktop App comp - replace toast usage with simple dialog to guarantee users will see the reason for them being logged out.

* PM-7392 - Web app comp - fix issue

* PM-7392 - Desktop App comp - don't show cancel btn on simple dialogs.

* PM-7392 - Desktop App comp - Don't open n simple dialogs.

* PM-7392 - Fix browser build

* PM-7392 - Remove logout reason from CLI as each logout call handles messaging on its own.

* PM-7392 - Previously, if a security stamp was invalid, the session was marked as expired. Restore that functionality.

* PM-7392 - Update sync service logoutCallback to include optional user id.

* PM-7392 - Clean up web app comp

* PM-7392 - Web - app comp - only handle actually possible web logout scenarios.

* PM-7392 - Browser Popup app comp - restore done logging out message functionality + add new default logout message

* PM-7392 - Add optional user id to logout callbacks.

* PM-7392 - Main.background.ts - add clarifying comment.

* PM-7392 - Per feedback, use danger simple dialog type for error.

* PM-7392 - Browser Popup - add comment clarifying expectation of seeing toasts.

* PM-7392 - Consolidate invalidSecurityStamp error handling

* PM-7392 - Per PR feedback, REFRESH_ACCESS_TOKEN_ERROR_CALLBACK can be completely sync. + Refactor to method in main.background.

* PM-7392 - Per PR feedback, use a named callback for refreshAccessTokenErrorCallback in CLI

* PM-7392 - Add TODO

* PM-7392 - Re-apply bw.ts changes to new service-container.

* PM-7392 - TokenSvc - tweak error message.

* PM-7392 - Fix test

* PM-7392 - Clean up merge conflict where I duplicated dependencies.

* PM-7392 - Per discussion with product, change default logout toast to be info

* PM-7392 - After merge, add new logout reason to sync service.

* PM-7392 - Remove default logout message per discussion with product since it isn't really visible on desktop or browser.

* PM-7392 - address PR feedback.

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2024-06-03 12:36:45 -04:00
Alex Morask
010b55d39d
Prevent Provider from viewing client organization payment method and billing history (#9442) 2024-06-03 11:10:54 -04:00
Alex Morask
28de91888a
[AC-1939] Manage provider payment information (#9415)
* Added select-payment-method.component in shared lib

Because we're going to be implementing the same functionality for providers and orgs/users, I wanted to start moving some of this shared functionality into libs so it can be accessed in both web and bit-web. Additionally, the Stripe and Braintree functionality has been moved into their own services for more central management.

* Added generalized manage-tax-information component to shared lib

* Added generalized add-account-credit-dialog component to shared libs

* Added generalized verify-bank-account component to shared libs

* Added dialog for selection of provider payment method

* Added provider-payment-method component

* Added provider-payment-method component to provider layout
2024-06-03 11:01:14 -04:00
DanHillesheim
aee9720a6d
Revert "Vault - Trial initiation content updates" (#9421) 2024-06-03 08:34:51 -06:00
Nick Krantz
748eb00223
[PM-6826] Vault filter refresh (#9365)
* add initial type filter

- use `bit-select` while the chip component is being developed

* get cipherTypes$ from service

- integrate with user settings

* initial add of folder selection

* initial add of vault selection

* initial add of collections filter

* update `VaultPopupListFilterService` to `VaultPopupListFiltersService`

* integrate hasFilterApplied$

* intermediate commit of integration to the filters component

* do not return the tree when the value is null

* return null when the updated option is null

* update vault-popup-list to conform to the chip select structure

* integration of bit-chip-select

* move "no folder" option to the end of the list

* show danger icon for deactivated organizations

* show deactivated warning when the filtered org is disabled

* update documentation

* use pascal case for constants

* store filter values as full objects rather than just id

- This allows secondary logic to be applied when filters are selected

* move filter form into service to be the source of truth

* fix tests after adding "jest-preset-angular/setup-jest"

* remove logic to have dynamic cipher type filters

* use ProductType enum

* invert conditional for less nesting

* prefer `decryptedCollections$` over getAllDecrypted

* update comments

* use a `filterFunction$` observable rather than having to pass filters back to the service

* fix children testing

* remove check for no folder

* reset filter form when filter component is destroyed

* add takeUntilDestroyed for organization valueChanges

* allow takeUntilDestroyed to use internal destroy ref

- The associated unit tests needed to be configured with TestBed rather than just `new Service()` for this to work

* use controls object for type safety
2024-06-03 09:20:14 -05:00
github-actions[bot]
3835a9ddaf
Autosync the updated translations (#9472)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-02 09:32:32 +00:00
github-actions[bot]
c72e8df619
Autosync the updated translations (#9471)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-02 09:31:23 +00:00
github-actions[bot]
f172612b19
Autosync the updated translations (#9470)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-06-02 09:30:49 +00:00
Anders Åberg
0d492b4454
Fix PM-8134: Change b64 to b64url (#9193) 2024-06-01 13:07:36 -04:00
Nick Krantz
00c305dff3
Browser - Add jest-preset-angular (#9412)
* add "jest-preset-angular/setup-jest" to browser app

* use flushPromises rather than await a dummy promise

* move the import of `page-script` into beforeAll rather than the describe scope

* invoke the sendMessage callback rather than relying on a promise comparison
2024-05-31 13:21:45 -05:00
Bitwarden DevOps
fb577a448e
Bumped client version(s) (#9464) 2024-05-31 17:36:04 +00:00
Oscar Hinton
b784fe7593
Remove unused dependency @tsconfig/node16 (#9429)
I was reviewing node related dependencies, and @tsconfig/node16 references node16. Since it's unused it's better to remove it than upgrading it.
2024-05-31 10:30:34 -05:00
Bitwarden DevOps
f3e780a678
Bumped client version(s) (#9458) 2024-05-31 14:30:37 +00:00
github-actions[bot]
4798cd0a95
Autosync the updated translations (#9450)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-05-31 06:31:47 +00:00
github-actions[bot]
0dc51baf79
Autosync the updated translations (#9449)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-05-31 06:31:27 +00:00
github-actions[bot]
9a456cc313
Autosync the updated translations (#9447)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-05-31 06:29:57 +00:00
github-actions[bot]
748ce19f18
Autosync the updated translations (#9448)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-05-31 06:18:08 +00:00
Will Martin
868e0a5ac9
[PM-6788][PM-7755] add babel/preset-env and browserslist (#9383)
* add babel present-env and browserslist

---------

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2024-05-30 18:42:26 -04:00
Todd Martin
85843c8baa
[PM-6805] Update minimum supported macOS desktop version to 12 (#9439) 2024-05-30 18:25:17 -04:00
Daniel James Smith
de92720d7e
[PM-7289] Create generator libraries (#9432)
* Create and register @bitwarden/generator-core

- Create libs/tools/generator/core
- Register new library within tsconfigs
- Register new library within eslint.configs

* Create and register @bitwarden/generator-extensions

- Create libs/tools/generator/extensions
- Register new library within tsconfigs
- Register new library within eslint.configs

* Create and register @bitwarden/generator-components

- Create libs/tools/generator/components
- Register new library within tsconfigs
- Register new library within eslint.configs

* Update libs/tools/generator/components/package.json

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

* Update libs/tools/generator/extensions/package.json

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

* Add empty barrel files for new libs

* Fix extension of test.environment

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by:  Audrey  <ajensen@bitwarden.com>
2024-05-30 15:38:31 -04:00