1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-09-09 01:18:22 +02:00
Commit Graph

602 Commits

Author SHA1 Message Date
github-actions[bot]
be986440bd
Autosync the updated translations (#4352)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-12-30 12:35:18 +01:00
Patrick
9f711d8cdd
[EC-892] Hide Secrets Manager (#4347)
* [EC-892] Hide Secrets Manager

Set the secretsManager flag to false outside of dev to deactivate it in all other environments

* linting

* set base to false for maximum safety

this gets rid of having to set it in selfhosted and cloud, but i feel safer with a belt and suspenders; don't want someone setting it true in base without thinking and the feature popping up in prod before we're ready.
2022-12-29 17:11:58 -05:00
Rui Tomé
bf67493663
[EC-781] User can bypass master password requirements policy by canceling password reset and pasting invite link (#4218)
* [EC-781] Forcing the user to login to evaluate if the user's password meets the Organization password policy requirements

* [EC-781] Fix bug preventing from submitting update password form

* Revert "[EC-781] Forcing the user to login to evaluate if the user's password meets the Organization password policy requirements"

This reverts commit f09d74b4fc.

* [EC-781] Get email value from query parameters also for authenticated requests

* [EC-781] Forcing the user to login to evaluate if the user's current password meets the Organization password policy requirements

* [EC-781] Logging out the user using messagingService on accept-organization component

* [EC-781] Refactored accept-organization component to be simpler to read
2022-12-29 16:20:19 +00:00
Daniel James Smith
1fc7798e7d
Update year in copyrights (#4325) 2022-12-28 21:59:23 +01:00
Andreas Coroiu
350724f586
[EC-587] Update UI copy for Encrypted Export (#4228) 2022-12-28 15:51:00 +00:00
github-actions[bot]
81402f2166
Autosync the updated translations (#4311)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-12-23 12:49:30 +01:00
Patrick H. Lauke
e1aceca72b
[PS-1386] Browser/Desktop/Web: Accessibility - Stop username regenerator button from losing focus (#3405)
* Make username regenerator button same as password one

it seems that (originally?) it wanted to be disabled at first and then become active again once the generator's async call was finished...but this seems unnecessary. removing all that extraneous stuff that doesn't seem to be actually doing anything makes this work just as well as the password generator button, and doesn't end up losing/resetting focus.

* Remove the `[disabled]` attribute from regenerate buttons

* Use `aria-disabled` instead of `disabled`, make click event conditional

* Make spinner show for `aria-disabled` controls as well
2022-12-23 01:18:18 +01:00
Will Martin
288827f13a
[SM-403] fix: manually detectChanges in Product Switcher (#4307) 2022-12-22 16:36:23 -05:00
Robyn MacCallum
3a98b415b0
Revert "[EC-772] Add i18n key typechecking in web (#4023)" (#4296)
This reverts commit 5a1940f3f4.
2022-12-21 17:46:23 -05:00
Will Martin
eeb407b8a4
[SM-43] create product-switcher (#4189)
* rebase to master

* use bit-menu in product switcher; add focusStrategy to bit-menu

* recommit locales after rebase

* add light style to iconButton, use in product-switcher

* move out of component library

* add buttonType input

* gate behind sm flag

* update aria-label

* add role input to bit-menu

* style changes

* simplify partition logic

* split into two components for Storybook

* update focus styles; update grid sizing to relative

* fix underline on hover

* update attribute binding

* move to layouts dir

* add bitLink; update grid gap

* reorder loose components

* move orgs mock

* move a11y module

* fix aria role bug; add aria label to menu

* update colors

* update ring color

* simplify colors

* remove duplicate link module
2022-12-21 16:50:41 -05:00
Jared Snider
9ed195c9f9
SG-903 - AllUsers count now updated on user remove which fixes issue with web/org/manage/people comp showing upgrade modal even after a user has been removed. (#4294) 2022-12-21 11:59:23 -05:00
Andreas Coroiu
772513c673
[EC-823] fix: append ng-select overlay to body (#4243) 2022-12-21 14:36:36 +01:00
Thomas Rittson
5a1940f3f4
[EC-772] Add i18n key typechecking in web (#4023) 2022-12-21 14:27:00 +10:00
Jared Snider
f0fba6c4e1
SG-898 - Adjust people component invite user action to check allUsers instead of users (which gets filtered and modified when a user uses the user status filter buttons) (#4269) 2022-12-20 10:15:23 -05:00
Melanie Kanavakatini
35b33335fb
[EC-474] Add hidden char count toggle to web and desktop (#3262)
* feat-web: add hidden char count toggle

* Added toggle char count for desktop

* Use Tailwind and Component Library, add i18n

* Hide char count when password is hidden

* Initial proposal

* Update colors per design spec for all clients

Also make variable names consistent across clients

* Remove unused scss

* Add styling

* Set fixed with for password count elements

* Add separate wrapped stories

* Fix alignment of first char when wrapped

* Minor refactors

* Make naming consistent

* Add Figma url

* add barrel files

* Use CL component

* Fix template

* Remove duplicate style

* Use ColorPasswordComponent in web, remove old pipe

Also remove styling and move pipe out of jslib-module given that
it's no longer shared by all Angular clients

* Run prettier

* Remove unused scss vars

* Undo unnecessary changes

* Remove unnecessary changes

* Fix styling

* Fix selector

* Collect show password event

* Fix incorrect background in dark mode

* Fix linting

* Use color password for password history

* Add char count to hidden custom fields in desktop

* Fix char count background in web: take 2

* Update service name

* Add missing label toggleCharacterCount for desktop

Co-authored-by: Daniel James Smith <djsmith@web.de>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
2022-12-20 13:31:18 +01:00
Andreas Coroiu
32ec5bdba1
[CL-58] Make icon button compatible with bit suffix directive (#4057)
* [CL-58] feat: add support for modyfing button types from directives

* [CL-58] feat: set button type secondary when used as prefix/suffix

* [CL-58] chore: add example using suffix to async actions story

* [CL-58] feat: update story with examples

* [CL-58] feat: allow buttons to have their style unset

* [CL-58] feat: move all styling into prefix/suffix

* [CL-58] fix: static content prefix/suffix

* [CL-58] fix: add missing bitFormButton to bitAction

* [CL-58] fix: disabled opacity not overriding correctly

* [CL-58] feat: change hover color to muted

* [CL-58] feat: replace undefined with unstyled

* [CL-58] fix: focus borders on input and prefix/suffix

* [CL-58] feat: update production code to use icon button correctly

* [CL-58] refactor: move out button type to common place

* [CL-58] fix: buttons not migrated correctly

* [CL-58] feat: use icon button in password toggle

* [CL-58] fix: remove button icon stories

* [SM-358] Migrate password toggles (#4129)

* [CL-58] fix: missing i18n service in story

* [CL-58] fix: missing bitIconButton directive in export comp

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
2022-12-20 08:14:29 +10:00
Daniel James Smith
8c8d4b3e3e
Add passky importer (#4253)
Create types for passky export format
Add test files
Write tests for passky-json-importer
Write importer for passky export
Register 'passkyjson' with `importOptions`
Import/register passky-json-importer with import.service
Add instructions on how to export from Passky
2022-12-19 21:47:45 +01:00
Shane Melton
f67fffcc08
[EC 784] Refactor organization user service (#4163)
* [EC-784] Introduce OrganizationUserService and abstraction

* [EC-784] Move API response models into abstraction folder

* [EC-784] Register OrganizationUserService in JsLib

* [EC-784] Add OrganizationUserService to CLI Main

* [EC-784] Move getOrganizationUser()

- Move getOrganizationUser() implementation to OrganizationUserService
- Update any references to the API service in the CLI and Web projects

* [EC-784] Move getOrganizationUserGroups()

* [EC-784] Move and rename getOrganizationUsers()

* [EC-784] Move getOrganizationUserResetPasswordDetails()

* [EC-784] Move OrganizationUser API request models into abstraction folder

* [EC-784] Move postOrganizationUserInvite()

* [EC-784] Move postOrganizationUserReinvite()

* [EC-784] Move postManyOrganizationUserReinvite()

Also tweak the signature to avoid exposing the API request model

* [EC-784] Move postOrganizationUserAccept()

* [EC-784] Move postOrganizationUserConfirm()

* [EC-784] Move postOrganizationUsersPublicKey()

Also modify signature to avoid exposing API request model

* [EC-784] Move postOrganizationUserBulkConfirm()

* [EC-784] Move putOrganizationUser()

* [EC-784] Move putOrganizationUserGroups()

* [EC-784] Update abstraction method definitions to use abstract keyword

* [EC-784] Move putOrganizationUserResetPasswordEnrollment()

* [EC-784] Move putOrganizationUserResetPassword()

* [EC-784] Move deleteOrganizationUser()

* [EC-784] Move deleteManyOrganizationUsers()

* [EC-784] Move revokeOrganizationUser()

* [EC-784] Move revokeManyOrganizationUsers()

* [EC-784] Move restoreOrganizationUser()

* [EC-784] Move restoreManyOrganizationUsers()

* [EC-784] Move internal OrganizationUserBulkRequest model out of service abstraction

* [EC-784] Rename organizationUser folder to organization-user
2022-12-19 10:56:16 -08:00
Robyn MacCallum
2df2f953c2
[SG-890] Fix routing to org members in trial confirmation (#4255)
* Fix routing to org members in trial confirmation

* Adjust trial tests with new route
2022-12-19 08:51:09 -05:00
Jared Snider
1f92dcbf20
Defect/SG-825 - users in org w/ no personal vault still see personal vault (disabled org policies now still apply) (#4094)
* SG-825 - policy.service - Apply policies of disabled orgs

* SG-825 - OrgFilter - Show org suspended icon when org is disabled and remove personal vault policy enabled

* SG-825 - Org Filter refactor - Enterprise users can now access org options to leave orgs without selecting them (previously, you had to select an org to get the options to show up which was not possible for disabled orgs).  Users can now leave disabled orgs.

* SG-825 - fix aria label compile issue

* SG-825 - Browser - Vault filter CSS refactor - (1) Better ellipsis truncation implemented (2) Selected vault and dropdown widths now scale dynamically based on selection and container width

* SG-825 - Desktop - (1) Org suspended warning icon now displayed on disabled orgs even when personal vault removed policy applied (2) Org suspended icon now has same accessibility (title / label) as web & browser.
2022-12-16 15:22:27 -05:00
Jared Snider
3d008da287
Web - SG-668 update flows for free 2 person orgs (#4093)
* People-component - Minor refactoring - Make  org a comp prop instead of creating multiple component props for props on the org object

* Added IconDirective to Dialog.module so that bit-dialog-icon directive can work within <bit-simple-dialog> components

* SG-668 - #2 - If a free org has members (any status) at max seat limit, then prompt for upgrade with dialog which takes you to upgrade flow on billing/subscription management page

* SG-668 - (1) Refactored upgrade dialog to accept translated body text for better re-usability (2) Completed task #3 - If user has max collections for free org and tries to add a 3rd, they are prompted via upgrade dialog.

* SG-668 - Update equality checks to use strict equality

* SG-668 - Upgrade dialog now shows contextual body text based on if the user can manage billing or not
2022-12-16 15:11:37 -05:00
github-actions[bot]
9bbe13fa71
Autosync the updated translations (#4250)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-12-16 18:27:28 +01:00
Robyn MacCallum
c06c0f9f2c
[SG-742] (#4190)
* Remove default landing on masterpassword page

* Remove rememberEmail state service value that isn't needed

* Remove last occurence of setRememberEmail

* Remove alwaysRememberEmail functionality

* Remove always remember email from browser and add option to

* Add extra spacing around remember email check

* [SG-884] Fix Remember Email functionality for Login with SSO (#4238)

* Add saveEmailSettings method to LoginService

* Add StateService as a dependency to LoginService

* Update login components to utilize new login service method for saving rememberedEmail
2022-12-16 10:08:44 -05:00
Patrick H. Lauke
002c3f6368
[PS-1793] Desktop/Browser/Web: tweak disclosure widget design (#3951)
* Move chevron/arrow to start of disclosure widget

in addition, changes the only expand/collapse disclosure widget like this on the web client to use the same `<h3><button>...</button></h3>` structure as on browser extension and desktop app

* Change collapsed/expanded icons

Make them more understandable and consistent with other expand/collapse controls

* Harmonise desktop +/- controls to use arrow/chevron icons as well

also removes the incorrect `A11yTitle` in the generator that currently overrides the visible "Options" text (leading to a failure of WCAG 2.5.3 Label in Name)

* Change the icons for the expand/collapse disclosure widget in SSO component

* Expand icon explanation

plus minor typo cleanup

* Add patch for Send button focus outline
2022-12-15 15:13:09 +01:00
Colton Hurst
7df799f536
SM-261: Remove Import Secrets button (#4225) 2022-12-14 18:04:45 -05:00
Robyn MacCallum
a303bf33f7
Set showPasswordless to true (#4234) 2022-12-14 14:34:10 -05:00
aj-rosado
836d87f492
[PS-1017] corrected web vault accessibility when deleting an item with keyboard (#3893)
* PS-1017 Sending parent property to swal when delete popup appears above a modal

* PS-1017 - Added more cases where the parent is necessary to swal react properly to keyboard inputs.
Changed the way the ".modal-content" class is added to target to have it only on one place.

* [PS-1017] Removed edit of target css selector from platform. Added full target on related component
2022-12-14 14:59:13 +00:00
github-actions[bot]
d3831d5c77
Bumped web version to 2022.12.0 (#4221)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-12-13 14:53:56 -06:00
Robyn MacCallum
40cade39bb
[SG-483] Trial Initiation Cleanup (#4064)
* Remove 'showTrial' feature flag

* Replace Register component with trial and redirect trial routes to register

* Shore up fallback logic for bad params

* Remove register component that is no longer used

* Adjust register form margin top

* Update unit tests for new param handling

* Use enums for org names and add missing org routing

* Add new tests and fix existing flaky ones

* Use an enum for layouts
2022-12-12 15:59:40 -05:00
Robyn MacCallum
9c0aa9e8d4
[SG-664] Add org name length validation to inputs (#4111)
* Add maxLength validator to org name field

* Disable next button if name has any error

* Only check org name value changes

* Add name length validator to normal create org flow
2022-12-12 15:33:41 -05:00
github-actions[bot]
54a4b4690b
Autosync the updated translations (#4204)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-12-09 11:52:55 +01:00
Oscar Hinton
dffef8ac17
SM-310 [] Secrets (#3355)
* [SM-63] Secrets List overview (#3239)

The purpose of this PR is to create a new component for the Secrets Manager project where all the secrets associated to a specific organization ID can be viewed.

* [SM-63] Secrets List overview (#3239)

The purpose of this PR is to create a new component for the Secrets Manager project where all the secrets associated to a specific organization ID can be viewed.

* [SM-63] Display dates based off Figma (#3358)

* Display dates based off Figma

* Swapping date to medium format

* [SM-185] Use feature flags for secrets (#3409)

* Fix SM lint errors (#3526)

* Fix SM lint errors

* Update bitwarden_license/bit-web/src/app/sm/secrets/secrets.component.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [SM-65] Create/Edit Secrets Dialog (#3376)

The purpose of this PR is to add a Create/Edit Secrets dialog component.

* [SM-198] Empty Secrets View (#3585)

* SM-198 Empty Secrets View

* [SM-64] Soft delete secrets (#3549)

* Soft delete secrets

* SM-95-ProjectList (#3508)

* Adding project list and creating a shared module for secrets

* updates to style , temporarily using secrets results until API portion is completed

* removing non project related options from the list, updting api call to call projects now

* Adding view project option from drop down

* Changes requested by Thomas

* Changes requested by Thomas

* suggested fixes

* fixes after merge from master

* Adding decrypting to project list

* Update bitwarden_license/bit-web/src/app/sm/shared/sm-shared.module.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Update bitwarden_license/bit-web/src/app/sm/projects/project.service.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Update bitwarden_license/bit-web/src/app/sm/projects/project.service.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* fix to projectRequest so name is type EncString instead of string

* lint + prettier fixes

* Oscar's suggestions - Removing this. from projectList

* updating to use bitIconButton

* Updating to use BitIconButton

Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Fix double edit secret dialog (#3645)

* Fix typescript errors on secrets init (#3649)

* Resolve breaking changes

* Remove unecessary class

* SM-198 Update empty list text. (#3652)

* [SM-267] Minor visual fixes (#3673)

* SM-96: Add/Edit Project for SM (#3616)

* SM-96: Initial add for Add/Edit project

* Update secrets.module.ts

* Small fixes based on PR comments

* SM-96: Small fixes + fix new project creation

* Fully fix create / edit project

* SM-96: Update toast text

* Remove message with exclamation

* SM-96: Fix broken build

* SM-96: Remove disabled on save buttons for SM dialogs & switch to early exits

* SM-96: Run linter

* [SM-186] Service Accounts - Overview (#3653)

* SM-186 Service Accounts Overview

* Remove duplicate titles (#3659)

* [SM-187] Create Service Account Dialog (#3710)

* SM-187 Create Service Account Dialog

* Fix renamed paths

* SM Modal Updates (#3776)

* Add type=button to cancel button on sm dialogs

* Update new secret/project modal titles to match design

* Add loading spinner for project and secret edit modals

* Add max length to project name

* Use Tailwind CSS class instead of custom and remove click handler

* Fix spinner

* Add buttonType=primary to project dialog save button

* Fix loading change for secret dialog and use tw-text-center

Co-authored-by: Hinton <hinton@users.noreply.github.com>

* [SM-113] Delete Projects Dialog (#3777)

* SM-113 Add Delete Projects Dialog

* [SM-306] Migrate secrets dialog to async form (#3849)

* [SM-310] Prepare secrets manager for merge to master (#3885)

* Remove Built In Validator on Project Delete (#3909)

Handle all Project Delete validation through custom validator

* [SM-312] Mark all inputs as touched when submitting (#3920)

* Use new icon for no item (#3917)

* Create navigation component (#3881)

* [SM-150] Project / Secret mapping (#3912)

* wip

* removing added file

* updates

* handling projects and secrets mapping in UI

* moving files and fixing errors

* Update bitwarden_license/bit-web/src/app/secrets-manager/secrets/secrets-list.component.html

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Decrypt the name

* fixing the secrets-list.component bug

* renaming file and view name

* lint fixes

* removing secret with projects list response, and other misc name changes

* Adding back things I shouldnt have deleted

* Update bitwarden_license/bit-web/src/app/secrets-manager/secrets/responses/secret-with-projects-list.response.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* updating button (#3779)

* [SM-300] Access Tokens (#3955)

* [SM-301] fix: associate labels with inputs (#4058)

* fix: wrap input in label

* fix: update all label in projects and service accounts

* [SM-196] Create Access Token Dialog (#4095)

* Add create access token dialog

* Use ServiceAccountView for access token creation

* Set version to readonly for access token

* DRY up Expiration Date & bug fix

* Break out expiration options component

* Move expiration-options to layout; Match FIGMA

* Create Generic Key generator

* Add getByServiceAccountId

* Change to use keyMaterial and not the full key

* Use access token id, not service account

* Remove generic key generator

* Swap to service account name placeholder

* Swap ExpirationOptions to a CVA

* No longer masking according to FIGMA

* Remove schema comment

* Code review updates

* Update required logic and approach

* Move ExpirationOptionsComponent into access

Co-authored-by: Hinton <hinton@users.noreply.github.com>

* SM-99: Individual Project / Secrets Tab (#4011)

Co-authored-by: Hinton <hinton@users.noreply.github.com>

* Fixes for the demo (#4159)

* [SM-360] Add support for never expiring access tokens (#4150)

* Add support for never expiring access tokens

* Render performance fixes

* Update bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/dialogs/expiration-options.component.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [SM-360] Fix access token display dialog for never expiring tokens (#4164)

* Fix access token display dialog

* Add disableClose to access token display dialog

* [SM-299] Add license checks (#4078)

* [SM-69] feature: create org-switcher, bit-nav-item, bit-nav-group, bit-nav-divider (#4073)

* feat: create nav-item, nav-group, org-switcher

* add tree variant; add stories; move to component library

* render button if no link is present

* fix routerLinkActive; add template comments; fix styles

* update storybook stories

* rename to route

* a11y fixes

* update stories

* simplify tree nesting

* rename nav-base component

* add divider; finish org-switcher; add overview page skeleton

* add nav-divider story

* code review

* rename components to CL naming scheme

* fix iconButton focus color

* apply code review changes

* fix strict template route param

* add ariaLabel input; update org-switcher a11y

* add two way binding for nav-group open state; update stories

* add toggle control to org-switcher

* [SM-310] Disable Secrets Manager in QA (#4199)

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Thomas Avery <tavery@bitwarden.com>
Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>
Co-authored-by: cd-bitwarden <106776772+cd-bitwarden@users.noreply.github.com>
Co-authored-by: Colton Hurst <colton@coltonhurst.com>
Co-authored-by: Will Martin <contact@willmartian.com>
2022-12-09 11:21:07 +01:00
Shane Melton
c002573581
[EC-623] Reusable Search Input Component (#4082)
* [EC-623] Introduce shared organization module and search input component

* [EC-623] Add search input story

* [EC-623] Rename search input component tag prefix from bit->app
2022-12-08 08:15:50 -08:00
Daniel James Smith
200dd0a1fb
[PS-1906] Extract uploadEvents from EventService into new service (#4108)
* Move event.service to it's own folder

Move abstractions/event.service to abstractions/event/event.service
Move services/event.service to services/event/event.service
Fix all the imports

* Extract event-upload from event.service

Move `uploadEvents` from `EventService` to `EventUploadService`
Create event-upload-service-factory
Fix wiring up all the dependencies

* Remove clearEvents from EventService

clearEvents is only related to uploading events and can be moved into EventUploadService

Change the logout-method to only call EventUploadService.uploadEvents as that also calls clearEvents internally

* Rename EventService to EventCollectionService

Rename libs\common\abstraction\event\event.service.ts to libs\common\abstractions\event\event-collection.service.ts

Rename libs\common\services\event\event.service.ts to libs\common\services\event\event-collection.service.ts

Fix all the imports

Fix up service regristration/instantiation

Reanme \browser\src\background\service_factories\event-service.factory.ts to \browser\src\background\service_factories\event-collection-service.factory.ts

* Move interval to upload events to EventUploadSvc

Move the `init()` from event-collection.service to event-upload.service
Change call-site in web, desktop, browser
2022-12-06 14:47:42 +01:00
Oscar Hinton
84bd5ae7ee
Update urls to match the contributing docs (#4192) 2022-12-06 11:20:27 +01:00
Rui Tomé
d240d96368
[EC-342] Gate custom permissions behind enterprise plan (#3907)
* [EC-342] Add 'UseCustomPermissions' property in Organization.

* [EC-342] Add/Edit message texts for Permission types

* [EC-342] Add check to determine if org can have custom permissions

* [EC-342] Add description to message text

* [EC-342] Checking if the selected user type is 'Custom'

* Update apps/web/src/locales/en/messages.json

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* [EC-342] Update custom permissions check to only look for UseCustomPermissions flag. Create updateUser and inviteUser methods.

* [EC-342] Split Custom Permissions text into 3 parts.

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2022-12-06 09:50:24 +00:00
Abhishek Shandilya
34394c5d0e
fix url (#4183) 2022-12-05 09:27:02 +01:00
Rui Tomé
9dc72428d0
[EC-584] Update ApiService to remove any appendages to ClientVersion (#4008)
* [EC-584] Update ApiService to remove any appendages to ClientVersion

* [EC-584] Extract application version number logic from ApiService to PlatformUtils

* Update libs/electron/src/services/electronPlatformUtils.service.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [EC-584] Use getApplicationVersion as source for getApplicationVersionNumber

* [EC-584] Remove defaulting to dash on getApplicationVersionNumber and add unit tests

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2022-12-02 19:38:12 +00:00
Patrick H. Lauke
8e4e770ca3
Fix typo for DuckDuckGo form field (#4172) 2022-12-02 02:09:13 +01:00
github-actions[bot]
e7f484c75f
Autosync the updated translations (#4171)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-12-02 01:25:51 +01:00
github-actions[bot]
7563005757
Bumped web version to 2022.11.2 (#4167)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-12-01 14:34:56 -08:00
Justin Baur
7b55096edf
[PS-1942] Add Provider Filters (#4147)
* Add Helper to filter out Provider Orgs

* Use filter where getAll used to be used

* Change name to isNotProviderUser
2022-12-01 15:31:24 -05:00
Oscar Hinton
1686c3b3c0
Fix build errors for strict templates (#4134) 2022-11-29 09:00:45 +10:00
github-actions[bot]
ae5df5472c
Bumped web version to 2022.11.0 (#4135)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-11-28 17:17:03 -05:00
Oscar Hinton
d994faa8a6
[SM-252] Enable strict templates (#3601) 2022-11-28 18:59:46 +01:00
github-actions[bot]
b312f6b925
Autosync the updated translations (#4131)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-11-28 16:48:23 +01:00
Todd Martin
cdd9c16778
Enabled passwordless on cloud.json (#4127) 2022-11-27 16:18:24 -05:00
github-actions[bot]
8767cad4f9
Autosync the updated translations (#4118)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-11-25 01:23:38 +01:00
Jake Fink
a6ce83d9e0
rename cipehrs component to vault items component (#4081) 2022-11-22 08:30:33 -05:00
Carlos Gonçalves
a6226c7c90
[SG-632] - Change forwarded providers radio buttons list to dropdown (#4045)
* SG-632 - Changed forwarded providers list of radio buttons to dropdown

* SG-632 - Added role attributes to improve accessibility.

* SG-632 - Added sorting to array and empty option

* SG-632 - Fix styling to match standards.
2022-11-21 17:08:47 +00:00
Justin Baur
076e605f10
[PS-1879] Fix Key Connector Migration Flow (#4080)
* Move OrganizationService to fullSync

* Add Tech Debt Tracking Link

* Remove Commented out code

* Add InternalOrganizationService

* Use InternalOrganization in services that get to update state
2022-11-18 16:38:28 -05:00
github-actions[bot]
1e5147697b
Autosync the updated translations (#4084)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-11-18 01:13:08 +01:00
Sammy Chang
b5e927c2c8
[PS-1783] Fix file selector input bug from PS-1465 ( #3502 ) (#3928)
* Fix file selector input

* Add file selector state changes back

* Remove async pipe
2022-11-16 19:22:10 +01:00
Shane Melton
635973d458
[EC-750] Specify organizationId for credit and adjust payment components (#4061) 2022-11-14 17:07:43 -08:00
Thomas Rittson
64bbc08ee2
Add organization-options menu to single org (#3678) (#4051)
Re-apply commit 7c3255d (#3678) which was accidentally reverted by
the Org Admin Refresh changes in commit 09c3bc8 (#3925)
2022-11-15 06:40:24 +10:00
Robyn MacCallum
8d128b01b9
Use loginService to get and set remember email values (#3941) 2022-11-11 14:15:45 -05:00
dgoodman-bw
af2e03bdf8
PS-1798 - ensure admin users can edit ciphers (#4025) 2022-11-11 11:01:31 -07:00
Daniel James Smith
0e78910582
[PS-1805] BEEEP: Renamed importers based on agreed naming-convention (#3978)
* Rename all importer related files

Renamed all files based on our naming convention which we decided on with https://github.com/bitwarden/adr/blob/master/decisions/0012-angular-filename-convention.md

* Removed entries from whitelist-capital-letters.txt

* Rename missing safeInCloud test data

* Fix broken import

* Renamed folders (removed capital letters)

* Fix filename of BitwardenCsvImporter

* Fix imports of onepassword mac/win importer tests

* Remove already renamed folders from whitelist

* Rename dashlaneImporters to dashlane

Rename the folder
Fix all the imports
Remove dashlaneImporters from white-list

* Rename keeperImporters to keeper

Rename the folder
Fix all the imports
Remove keeperImporters from white-list

* Rename onepasswordImporters to onepassword

Rename the folder
Fix all the imports
Remove onepasswordImporters from white-list

* Rename safeinCloud test data folder

* Fix onepassword importer type imports
2022-11-11 16:20:03 +01:00
github-actions[bot]
c5512fba02
Autosync the updated translations (#4037)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-11-11 12:51:16 +01:00
Rui Tomé
c2bf6a6700
[EC-449] Event log user for SCIM events (#3643)
* [EC-449] Added EventSystemUser Enum and added systemUser property to eventResponse

* [EC-449] Add systemUser property to BaseEventsComponent, EventExport and EventView

* [EC-449] Set EventSystemUser as string on EventExport

* [EC-449] Remove systemUser from EventExport

* [EC-449] Rename EventSystemUser file to lowercase

* [EC-449] Force git to rename EventSystemUser file

* [EC-449] Rename EventSystemUser file to event-system-user.ts

* [EC-449] Fix EventSystemUser reference on EventsComponent

* [EC-449] Move installationId username logic to BaseEventsComponent

* Update libs/common/src/enums/event-system-user.ts

Add a note to warn about using the Enum key in the UI.

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* [EC-449] Remove EventSystemUser from provider events. Remove nested condition on events component

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2022-11-09 12:13:37 +00:00
Rui Tomé
4813320abc
[EC-675] Display the Event for “Viewed Card Number for item item-identifier” (#3976)
* [EC-675] Add missing Event capture for viewing item Card Number

* [EC-675] Fix correct event type for viewing item Card Number

* Update apps/web/src/locales/en/messages.json

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2022-11-09 12:01:55 +00:00
Justin Baur
d6a6dedbba
[PS-1843] Sort organizations in buildOrganizations (#4015)
* Sort organizations in buildOrganizations

* Add sort by name to Organization Switcher
2022-11-08 21:56:27 -05:00
Shane Melton
30f72825d7
[EC-670] Update Members tab to support flex wrap (#4003)
Use tailwind classes to style the Members page header so that it supports wrapping the controls to a new line should they exceed the width of the container.
2022-11-08 12:44:17 -08:00
Rui Tomé
aac33d32b8
[EC-650] Revert observable usage from ImportComponent (#4010) 2022-11-08 17:35:15 +00:00
Andreas Coroiu
7141f9f175
[EC-645] fix: web payment component breaking storybook compilation (#3906) 2022-11-08 15:25:49 +01:00
Danielle Flinn
a0ee87e1d9
Fixed EC reported event log copy bugs (#3977) 2022-11-08 13:44:23 +00:00
github-actions[bot]
22a6957162
Autosync the updated translations (#3969)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-11-08 00:53:54 +01:00
Shane Melton
0ee82fba8b
[EC-672] Update SSO login page language (#3997)
- Replace 'Organization Identifier' with 'SSO identifier'
- Sentence case 'SSO identifier'
- Add 'SSO' to SSO login page helper text
2022-11-07 11:06:56 -08:00
Jake Fink
6f4771da6c
[EC-678] [EC-673] Fix active tab not showing selected while in child route (#3964)
* [PS-1114] hide reporting sidebar if only events

* [PS-1114] add orgRedirectGuard

* [PS-1114] highlight tabs based on route subset

* [PS-1114] redirect to correct child route on tab
- Use new OrgRedirectGuard

* [PS-1114] add settings redirect using guard
- refactored guard to accept array of strings

* [EC-678] [EC-673] remove remaining methods

* [EC-678][EC-673] address PR feedback
- change switch to if statements
- remove ternary
2022-11-07 09:21:16 -05:00
Robyn MacCallum
1cd62db1c0
Move hint button out of the formfield (#3960) 2022-11-04 11:10:29 -04:00
Kyle Spearrin
839d89e0b4
add csp and only pass hostname to duo init (#3972)
* add csp and only pass hostname to duo init

* expand style-src

* Update apps/web/src/connectors/duo.html

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2022-11-04 10:26:30 -04:00
Daniel James Smith
0ed011db8c
Org admin refresh translation nitpicks (#3971)
* Fix use of personal in favor of individual vault

* Fix capitalization according to #3577

* Fix capitalization on organizationInfo
2022-11-04 14:52:30 +01:00
Danielle Flinn
e243cf1e52
fixed typo in event log (#3962) 2022-11-04 09:33:53 +01:00
Thomas Rittson
07090e9382
Fix undefined property error in event logs (#3947)
EventService.policies was undefined because the service was erroneously using
ngOnInit to subscribe to the policies observable
2022-11-03 08:34:53 +10:00
Shane Melton
09c3bc8f1b
[EC-7] Org Admin Vault Refresh Client V1 (#3925)
* [EC-8] Restructure Tabs (#3109)

* Cherry pick pending PR for tabs component [CL-17] Tabs - Routing

* Update organization tabs from 4 to 6

* Create initial 'Members' tab

* Create initial 'Groups' tab

* Add initial "Reporting" tab

* Use correct report label/layout by product type

* Create initial 'Billing' tab

* Breakup billing payment and billing history pages

* Cleanup org routing and nav permission service

* More org tab permission cleanup

* Refactor organization billing to use a module

* Refactor organization reporting to use module

* Cherry pick finished/merged tabs component [CL-17] Tabs - Router (#2952)

* This partially reverts commit 24bb775 to fix tracking of people.component.html rename.

* Fix people component file rename

* Recover lost member page changes

* Undo members component rename as it was causing difficult merge conflicts

* Fix member and group page container

* Remove unnecessary organization lookup

* [EC-8] Some PR suggestions

* [EC-8] Reuse user billing history for orgs

* [EC-8] Renamed user billing history component

* [EC-8] Repurpose payment method component

Update end user payment method component to be usable for organizations.

* [EC-8] Fix missing verify bank condition

* [EC-8] Remove org payment method component

* [EC-8] Use CL in payment method component

* [EC-8] Extend maxWidth Tailwind theme config

* [EC-8] Add lazy loading to org reports

* [EC-8] Add lazy loading to org billing

* [EC-8] Prettier

* [EC-8] Cleanup org reporting component redundancy

* [EC-8] Use different class for negative margin

* [EC-8] Make billing history component "dumb"

* Revert "[EC-8] Cleanup org reporting component redundancy"

This reverts commit eca337e89b.

* [EC-8] Create and export shared reports module

* [EC-8] Use shared reports module in orgs

* [EC-8] Use takeUntil pattern

* [EC-8] Move org reporting module out of old modules folder

* [EC-8] Move org billing module out of old modules folder

* [EC-8] Fix some remaining merge conflicts

* [EC-8] Move maxWidth into 'extend' key for Tailwind config

* [EC-8] Remove unused module

* [EC-8] Rename org report list component

* Prettier

Co-authored-by: Vincent Salucci <vincesalucci21@gmail.com>

* [EC-451] Org Admin Refresh Permissions Refactor (#3320)

* [EC-451] Update new org permissions for new tabs

* [EC-451] Remove redudant route guards

* [EC-451] Remove canAccessManageTab()

* [EC-451] Use canAccess* callbacks in org routing module

* Fix org api service refactor and linting after pulling in master

* Fix broken org people and group pages after merge

* [EC-18] Reporting side nav direction (#3420)

* [EC-18] Re-order side nav for org reports according to Figma

* [EC-18] Fix rxjs linter errors and redundant org flag

* [EC-526] Default to Event Logs page for Reporting Tab (#3470)

* [EC-526] Default to the Events Logs page when navigating to the Reporting tab

* [EC-526] Undo default routing redirect when the child path is missing. Avoids defaulting to "/events" in case a user/org doesn't have access to event logs.

* [EC-19] Update Organization Settings Page (#3251)

* [EC-19] Refactor existing organization settings components to its own module

* [EC-19] Move SSO page to settings tab

* [EC-19] Move Policies page to Settings tab

Refactor Policy components into its own module

* [EC-19] Move ImageSubscriptionHiddenComponent

* [EC-19] Lazy load org settings module

* [EC-19] Add SSO Id to SSO config view

* [EC-19] Remove SSO identfier from org info page

* [EC-19] Update org settings/policies to follow ADR-0011

* [EC-19] Update two-step login setup description

* [EC-19] Revert nested policy components folder

* [EC-19] Revert nested org setting components folder

* [EC-19] Remove left over image component

* [EC-19] Prettier

* [EC-19] Fix missing i18n

* [EC-19] Update SSO form to use CL

* [EC-19] Remove unused SSO input components

* [EC-19] Fix bad SSO locale identifier

* [EC-19] Fix import order linting

* [EC-19] Add explicit whitespace check for launch click directive

* [EC-19] Add restricted import paths to eslint config

* [EC-19] Tag deprecated field with Jira issue to cleanup in future release

* [EC-19] Remove out of date comment

* [EC-19] Move policy components to policies module

* [EC-19] Remove dityRequired validator

* [EC-19] Use explicit type for SSO config form

* [EC-19] Fix rxjs linter errors

* [EC-19] Fix RxJS eslint comments in org settings component

* [EC-19] Use explicit ControlsOf<T> helper for nested SSO form groups.

* [EC-19] Attribute source of ControlsOf<T> helper

* [EC-19] Fix missing settings side nav links

* [EC-19] Fix member/user language for policy modals

* [EC-551] Update Event Logs Client Column (#3572)

* [EC-551] Fix RxJS warnings

* [EC-551] Update page to use CL components and Tailwind classes

* [EC-551] Update Client column to use text instead of icon. Update language and i18n.

* [EC-14] Refactor vault filter (#3440)

* [EC-14] initial refactoring of vault filter

* [EC-14] return observable trees for all filters with head node

* [EC-14] Remove bindings on callbacks

* [EC-14] fix formatting on disabled orgs

* [EC-14] hide MyVault if personal org policy

* [EC-14] add check for single org policy

* [EC-14] add policies to org and change node constructor

* [EC-14] don't show options if personal vault policy

* [EC-14] default to all vaults

* [EC-14] add default selection to filters

* [EC-14] finish filter model callbacks

* [EC-14] finish filter functionality and begin cleaning up

* [EC-14] clean up old components and start on org vault

* [EC-14] loop through filters for presentation

* [EC-14] refactor VaultFilterService and put filter presentation data back into Vault Filter component. Remove VaultService

* [EC-14] begin refactoring org vault

* [EC-14] Refactor Vault Filter Service to use observables

* [EC-14] finish org vault filter

* [EC-14] fix vault model tests

* [EC-14] fix org service calls

* [EC-14] pull refactor out of shared code

* [EC-14] include head node for collections even if collections aren't loaded yet

* [EC-14] fix url params for vaults

* [EC-14] remove comments

* [EC-14] Remove unnecesary getter for org on vault filter

* [EC-14] fix linter

* [EC-14] fix prettier

* [EC-14] add deprecated methods to collection service for desktop and browser

* [EC-14] simplify cipher type node check

* [EC-14] add getters to vault filter model

* [EC-14] refactor how we build the filter list into methods

* [EC-14] add getters to build filter method

* [EC-14] remove param ids if false

* [EC-14] fix collapsing nodes

* [EC-14] add specific type to search placeholder

* [EC-14] remove extra constructor and comment from org vault filter

* [EC-14] extract subscription callback to methods

* [EC-14] Remove unecessary await

* [EC-14] Remove ternary operators while building org filter

* [EC-14] remove unnecessary deps array in vault filter service declaration

* [EC-14] consolidate new models into one file

* [EC-14] initialize nested observable inside of service

Signed-off-by: Jacob Fink <jfink@bitwarden.com>

* [EC-14] change how we load orgs into the vault filter and select the default filter

* [EC-14] remove get from getters name

* [EC-14] remove eslint-disable comment

* [EC-14] move vault filter service abstraction to angular folder and separate

* [EC-14] rename filter types and delete VaultFilterLabel

* [EC-14] remove changes to workspace file

* [EC-14] remove deprecated service from jslib module

* [EC-14] remove any remaining files from common code

* [EC-14] consolidate vault filter components into components folder

* [EC-14] simplify method call

* [EC-14] refactor the vault filter service
- orgs now have observable property
- BehaviorSubjects have been migrated to ReplaySubjects if they don't need starting value
- added unit tests
- fix small error when selecting org badge of personal vault
- renamed some properties

* [EC-14] replace mergeMap with switchMap in vault filter service

* [EC-14] early return to prevent nesting

* [EC-14] clean up filterCollections method

* [EC-14] use isDeleted helper in html

* [EC-14] add jsdoc comments to ServiceUtils

* [EC-14] fix linter

* [EC-14] use array.slice instead of setting length

* Update apps/web/src/app/vault/vault-filter/services/vault-filter.service.ts

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* [EC-14] add missing high level jsdoc description

* [EC-14] fix storybook absolute imports

* [EC-14] delete vault-shared.module

* [EC-14] change search placeholder text to getter and add missing strings

* [EC-14] remove two way binding from search text in vault filter

* [EC-14] removed all binding from search text and just use input event

* [EC-14] remove async from apply vault filter

* [EC-14] remove circular observable calls in vault filter service

Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.com>

* [EC-14] move collapsed nodes to vault filter section

* [EC-14] deconstruct filter section inside component

* [EC-14] fix merge conflicts and introduce refactored organization service to vault filter service

* [EC-14] remove mutation from filter builders

* [EC-14] fix styling on buildFolderTree

* [EC-14] remove leftover folder-filters reference and use ternary for collapse icon

* [EC-14] remove unecessary checks

* [EC-14] stop rebuilding filters when the organization changes

* [EC-14] Move subscription out of setter in vault filter section

* [EC-14] remove extra policy service methods from vault filter service

* [EC-14] remove new methods from old vault-filter.service

* [EC-14] Use vault filter service in vault components

* [EC-14] reload collections from vault now that we have vault filter service

* [EC-14] remove currentFilterCollections in vault filter component

* [EC-14] change VaultFilterType to more specific OrganizationFilter in organization-options

* [EC-14] include org check in isNodeSelected

* [EC-14] add getters to filter function, fix storybook, and add test for All Collections

* [EC-14] show org options even if there's a personal vault policy

* [EC-14] use !"AllCollections" instead of just !null

* [EC-14] Remove extra org Subject in vault filter service

* [EC-14] remove null check from vault search text

* [EC-14] replace store/build names with set/get. Remove extra call to setOrganizationFilter

* [EC-14] add take(1) to subscribe in test

* [EC-14] move init logic in org vault filter component to ngOnInit

* [EC-14] Fix linter

* [EC-14] revert change to vault filter model

* [EC-14] be specific about ignoring All Collections

* [EC-14] move observable init logic to beforeEach in test

* [EC-14] make buildAllFilters return something to reduce side effects

Signed-off-by: Jacob Fink <jfink@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.com>

* [EC-97] Organization Billing Language / RxJS Warnings (#3688)

* [EC-97] Update copy to use the word members in a few places

* [EC-97] Cleanup RxJS warnings and unused properties in org billing components

* [EC-599] Access Selector Component (#3717)

* Add Access Selector Component and Stories

* Cherry pick FormSelectionList

* Fix some problems caused from cherry-pick

* Fix some Web module problems caused from cherry-pick

* Move AccessSelector out of the root components directory.

Move UserType pipe to AccessSelectorModule

* Fix broken member access selector story

* Add organization feature module

* Undo changes to messages.json

* Fix messages.json

* Remove redundant CommonModule

* [EC-599] Fix avatar/icon sizing

* [EC-599] Remove padding in  permission column

* [EC-599] Make FormSelectionList operations immutable

* [EC-599] Integrate the multi-select component

* [EC-599] Handle readonly/access all edge cases

* [EC-599] Add initial unit tests

Also cleans up public interface for the AccessSelectorComponent. Fixes a bug found during unit test creation.

* [EC-599] Include item name in control labels

* [EC-599] Cleanup member email display

* [EC-599] Review suggestions

- Change PermissionMode to Enum
- Rename permControl to permissionControl to be more clear
- Rename FormSelectionList file to kebab case.
- Move permission row boolean logic to named function for readability

* [EC-599] Cleanup AccessSelectorComponent tests

- Clarify test states
- Add tests for column rendering
- Add tests for permission mode
- Add id to column headers for testing
- Fix small permissionControl bug found during testing

* [EC-599] Add FormSelectionList unit tests

* [EC-599] Fix unit test and linter

* [EC-599] Update Enums to Pascal case

* [EC-599] Undo change to Enum values

* [EC-7] fix: broken build

* [EC-646] Org Admin Vault Refresh November Release Prep (#3913)

* [EC-646] Remove links from Manage component

These links are no longer necessary as they are now located in the new OAVR tabs.

* [EC-646] Re-introduce the canAccessManageTab helper

* [EC-646] Re-introduce /manage route in Organization routing module

- Add the parent /manage route
- Add child routes for collections, people, and groups

* [EC-646] Adjust Org admin tabs

Re-introduce the Manage tab and remove Groups and Members tabs.

* [EC-646] Change Members title back to People

* [EC-646] Move missing billing components

Some billing components were in the org settings module and needed to be moved the org billing module

* [EC-646] Fix import file upload button

-Update to use click event handler and tailwind class to hide input. Avoids inline styles/js blocked by CSP

- Fix broken async pipe

* [EC-646] Fix groups and people page overflow

Remove the container and page-content wrapper as the pages are no longer on their own tab

* [EC-646] Change People to Members

Change the text regarding managing members from People to Members to more closely follow changes coming later in the OAVR. Also update the URL to use /manage/members

* [EC-646] Cherry-pick ae39afe to fix tab text color

* [EC-646] Fix org routing permissions helpers

- Add canAccessVaultTab helper
- Update canAccessOrgAdmin include check for vault tab access
- Simplify canManageCollections

* [EC-646] Fix Manage tab conditional logic

- Add *ngIf condition for rendering Manage tab
- Re-introduce dynamic route for Manage tab

* Revert "[EC-14] Refactor vault filter (#3440)" (#3926)

This reverts commit 4d83b81d82.

* Remove old reference to bit-submit-button that no longer exists (#3927)

* [EC-593] Top align event logs row content (#3813)

* [EC-593] Top align event log row contents

* [EC-593] Prevent event log timestamp from wrapping

* [EC-593] Add alignContent input to bitRow directive

* [EC-593] Remove ineffective inline styles (CSP)

* [EC-593] Remove templated tailwind classes

Tailwind minimizes the bundled stylesheet by removing classes that aren't used in code. Using a string template for the classes causes those classes to be ignored.

* [EC-593] Introduce alignContent input to table story

* [EC-657] Hide Billing History and Payment Method for selfhosted orgs (#3935)

Signed-off-by: Jacob Fink <jfink@bitwarden.com>
Co-authored-by: Vincent Salucci <vincesalucci21@gmail.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.com>
2022-11-02 09:57:25 -07:00
Andreas Coroiu
7b8507cf9b
[EC-522] Improve handling of rxjs subjects (#3772)
* [EC-522] feat: no public rxjs subjects

* [EC-522] feat: improve null handling

* [EC-552] fix: init subject with empty set instead of null

* [EC-552] fix: don't push null into account subject

* [EC-522] feat: remove null filter
2022-11-01 11:25:46 +01:00
Gbubemi Smith
05fe75d96f
Added focus to the email and master password fields (#3934) 2022-10-31 17:37:42 -04:00
Todd Martin
2cd65939d5
Two-Step Login (#3852)
* [SG-163] Two step login flow web (#3648)

* two step login flow

* moved code from old branch and reafctored

* fixed review comments

* [SG-164] Two Step Login Flow - Browser (#3793)

* Add new messages

* Remove SSO button from home component

* Change create account button to text

* Add top padding to create account link

* Add email input to HomeComponent

* Add continue button to email input

* Add form to home component

* Retreive email from state service

* Redirect to login after submit

* Add error message for invalid email

* Remove email input from login component

* Remove loggingInTo from under MP input

* Style the MP hint link

* Add self hosted domain to email form

* Made the mp hint link bold

* Add the new login button

* Style app-private-mode-warning in its component

* Bitwarden -> Login text change

* Remove the old login button

* Cancel -> Close text change

* Add avatar to login header

* Login -> LoginWithMasterPassword text change

* Add SSO button to login screen

* Add not you button

* Allow all clients to use the email query param on the login component

* Introduct HomeGuard

* Clear remembered email when clicking Not You

* Make remember email opt-in

* Use formGroup.patchValue instead of directly patching individual controls

* [SG-165] Desktop login flow changes (#3814)

* two step login flow

* moved code from old branch and reafctored

* fixed review comments

* Make toggleValidateEmail in base class public

* Add desktop login messages

* Desktop login flow changes

* Fix known device api error

* Only submit if email has been validated

* Clear remembered email when switching accounts

* Fix merge issue

* Add 'login with another device' button

* Remove 'log in with another device' button for now

* Pin login pag content to top instead of center justified

* Leave email if 'Not you?' is clicked

* Continue when enter is hit on email input

Co-authored-by: gbubemismith <gsmithwalter@gmail.com>

* [SG-750] and [SG-751] Web two step login bug fixes (#3843)

* Continue when enter is hit on email input

* Mark email input as touched on 'continue' so field is validated

* disable login with device on self-hosted (#3895)

* [SG-753] Keep email after hint component is launched in browser (#3883)

* Keep email after hint component is launched in browser

* Use query params instead of state for consistency

* Send email and rememberEmail to home component on navigation (#3897)

* removed avatar and close button from the password screen (#3901)

* [SG-781] Remove extra login page and remove rememberEmail code (#3902)

* Remove browser home guard

* Always remember email for browser

* Remove login landing page button

* [SG-782] Add login service to streamline login form data persistence (#3911)

* Add login service and abstraction

* Inject login service into apps

* Inject and use new service in login component

* Use service in hint component to prefill email

* Add method in LoginService to clear service values

* Add LoginService to two-factor component to clear values

* make login.service variables private

Co-authored-by: Gbubemi Smith <gsmith@bitwarden.com>
Co-authored-by: Addison Beck <addisonbeck1@gmail.com>
Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
Co-authored-by: gbubemismith <gsmithwalter@gmail.com>
2022-10-28 14:54:55 -04:00
Oscar Hinton
aa256b8a70
[SM-260] Hide email verification prompt if already verified (#3922)
Co-authored-by: Sammy Chang <sammychang2185@gmail.com>
2022-10-28 17:42:36 +02:00
Daniel James Smith
6cad253442
Revert "[PS-1465] Fix #2806 - The "Import Data" page's file selector button cannot be translated (#3502)" (#3900)
This reverts commit 768de03269.
2022-10-28 15:09:07 +02:00
github-actions[bot]
534e1c804b
Autosync the updated translations (#3916)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-10-28 02:34:21 +02:00
Thomas Rittson
96205bf6b8
Don't refresh org vault on filter change (#3879) 2022-10-28 07:41:10 +10:00
Thomas Rittson
da47992a22
[EC-272] Web workers using EncryptionService (#3532)
* Add item decryption to encryptService
* Create multithreadEncryptService subclass to handle web workers
* Create encryption web worker
* Refactor cipherService to use new interface
* Update dependencies
2022-10-28 07:38:54 +10:00
Justin Baur
e972e905c8
Remove DDG forwarder from SH (#3888) 2022-10-27 16:06:17 -04:00
Oscar Hinton
5f6f4bad82
[SM-251] Migrate to new avatar component (#3600) 2022-10-27 14:38:34 +02:00
Oscar Hinton
7fa0231616
[SM-298] Migrate search icon to bit icon component (#3823) 2022-10-27 14:35:37 +02:00
Oscar Hinton
27426dec31
[SM-266] Remove fetch, webcrypto and custom-elements polyfills (#3672) 2022-10-27 14:25:10 +02:00
dgoodman-bw
41d6b6bd21
Ps 976 moving of read only organization collection items to different folder not possible (#3474)
* PS-976 - when user has cipher readonly permissions, prevent user from editing cipher fields and make separate api call that only updates Favorite and Folder values

* PS-976 - in the readonly edit cipher view, hide non-operable buttons and display select values as readonly input text

* PS-976 - update failing test

* PS-976 - split cipher saveWithServer call into Create and Update calls

* PS-976 - replace property with function call to get the card expiration month for the readonly view

* MM-976 - when user has readonly permissions hide "delete" button on View Item view, hide generate username/password buttons on Edit Item view

* PS-976 - rename cipherPartialRequest file to align with new naming convention
2022-10-25 12:24:21 -07:00
Thomas Rittson
321aee1625
[EC-620] Fix provider billing obfuscation image (#3830)
* Use IconComponent for billing obfuscation image

* Wrap CSS variable refs in rgb function
2022-10-25 12:53:35 +10:00
github-actions[bot]
36a16aaf6e
Bump Web version to 2022.10.2 (#3886)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-10-24 13:54:59 -06:00
Daniel James Smith
8c59eef257
[PS-1123] Improve hostname and domain retrieval (#3168)
* Add test cases from previous PR https://github.com/bitwarden/jslib/pull/547

* Install tldts as replacement for tldjs

* Use tldts for hostname and domain retrieval/validation

* Remove usage of old tldjs.noop-implementation

* Add handling of about protocol

* Remove usage of tldEndingRegex and use tldts check instead

* Uninstall @types/tldjs and tldjs

* Updated package-lock.json

* Fix accessibility cookie check

* Rename loginUriView.spec to login-uri-view.spec

* Add test for getDomain failing file links

* getHostName - Return null when given, data, about or file links
2022-10-24 19:26:50 +02:00
Gbubemi Smith
67c4e34669
[SG-699] No Error Displayed if SSO Required (#3865)
* Introduced error handling when SSO authentication is required

* Fixed comments from PR
2022-10-21 15:03:14 -04:00
github-actions[bot]
e45f4fd7e5
Autosync the updated translations (#3872)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-10-21 18:30:42 +02:00
github-actions[bot]
abd522641c
Autosync the updated translations (#3863)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-10-21 12:31:00 +02:00
cd-bitwarden
836dba3519
adding encrypted export with password functionality to web/organizations (#3858) 2022-10-20 16:47:58 -04:00
Sammy Chang
768de03269
[PS-1465] Fix #2806 - The "Import Data" page's file selector button cannot be translated (#3502)
* Add translations for en and fi to test with

* Fix file select not being translated

* Add more translations for en and fi to test with

* Update permission labels to locale version

* Revert forms.scss file

* Revert changes

* Specify file selector button type

Co-authored-by: Daniel James Smith <djsmith@web.de>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2022-10-20 16:13:21 +02:00
Shane Melton
3ed1221f7f
Fix MultiSelect component styles and CSP error (#3841)
* Update Web styles and CSP to support MultiSelect component

- Include the MultiSelect module in the CL barrel file of exports
- Import the MultiSelect scss into the Web styles.scss
- Add the necessary sha256 hash to webpack CSP policy to support ngSelect inline styles

* Undo removal of 127.0.0.1 from webpack CSP
2022-10-19 16:24:39 -07:00
github-actions[bot]
02ae7ad9b3
Bump Web version to 2022.10.1 (#3837)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-10-19 13:07:43 -06:00
Danielle Flinn
2f408ee3d9
[PS-1529]Sentence case web vault (#3577)
* updated title case to sentence case

also added grammatical improvement to confirmation messages

* capitalized 'vault'

also updated the term personal vault to individual vault

* capitalized 'send'

* capitalized 'provider'

also caught some straggling lowercase 'vaults'

* sentence case 'organizations,' 'owners', and 'admins'

* updated more casing to sentence

* lowercase vault

* Updated Premium to title case

* fixed typos

* Fixed typos and removed 'disable'

* updated two-step login terms

* Fixed missed sentence casing

* Fixed missed sentence case

* lowercased groups

fixed other missed sentence case items as well

* fixe membership casing

* uppercase plan casing

addressed other comments from Fred.

* casing on billing sync and trash

* uppercase Social Security

* fixed single sign-on casing

fixed Enterprise policy casing

* merging in master

* replaced enabled

* fixed typos

Co-authored-by: Patrick <94560851+patrick-bitwarden@users.noreply.github.com>
2022-10-19 10:45:28 -07:00
Matt Gibson
da0a17a2b6
PS-1620 Move AccountService.delete to Internal (#3687)
* Move AccountService.delete to Internal

* Remove unnecessary promise
2022-10-18 22:02:11 +02:00
Oscar Hinton
cf2d3f5382
[SM-288] Rename requests and responses to follow naming convention (#3806) 2022-10-18 19:01:42 +02:00
Oscar Hinton
817ac30fcc
Whitelist 127.0.0.1:10000 for azurite (#3803) 2022-10-18 10:32:21 +02:00
Thomas Rittson
04aebbc3bc
Use settings in base.json and merge config keys (#3804) 2022-10-18 12:00:40 +10:00
Federico Maccaroni
0189401a06
EC-601 Remove device verification UI from web to avoid confusing users (#3744) 2022-10-14 18:52:55 -03:00
Oscar Hinton
e941f06bac
[SM-288] Rename models to follow naming convention (#3795) 2022-10-14 18:25:50 +02:00
Robyn MacCallum
1fd8d316a1
[SG-657] Use jest mock extended for unit test service mocks (#3690)
* Use jest mock extended for unit test service mocks

* Replace substitute with mock

* Fix merge issues
2022-10-14 09:21:36 -04:00
Oscar Hinton
19c62ba229
[PS-1676] Resolve Send Filters being truncated (#3791) 2022-10-14 14:17:55 +02:00
github-actions[bot]
6539831bfc
Autosync the updated translations (#3785)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2022-10-14 02:32:25 +02:00
github-actions[bot]
c69c2a0ecc
Autosync the updated translations (#3715)
Co-authored-by: github-actions <>
2022-10-12 15:06:27 +02:00
David Frankel
18bc209b73
[PS-1194] Display Creation Date in Clients (#3181)
* Add CreationDate to common libs

* Add CreationDate to Browser

* Add CreationDate to CLI

* Add CreationDate to Desktop

* Add CreationDate to Web

* Update tests

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2022-10-11 20:25:27 -05:00
github-actions[bot]
fd5bd3744d
Bump Web version to 2022.10.0 (#3747)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-11 13:35:16 -06:00
Vincent Salucci
9578e7b6b4
[CL-27] [EC-455] Ng-Select Integration (#3383)
* [CL-27] Select -> Library initial commit

* [EC-455] NG-Select Integration

* Prettier

* [EC-455] [CL-27] Add option for removing items on close // Added loading/no item found text defaults // Fixed disabled bg color // Added templated loading icon

* [EC-455] [CL-27] Removed enter override // Fixed backspace removal // Clearing search on add // Gave label select states

* [EC-455] [CL-27] Added copy from text to theme

* [EC-455] [CL-27] Changed SimpleItemView to type - removed creation logic to shift responsibility to hosting component

* [EC-455] [CL-27] Updated custom theme to include CSS variable colors

* [CL-27] [EC-455] Initial pass at form field control // initial template for custom value accessor

* [EC-455] working baseItem input

* [EC-455] working value accessor

* [EC-455] Completed FormFieldControl implemntation // fixed badge disabled bug

* [EC-455] Prettier

* [EC-455] Removed obsolete variables

* [EC-455] Private value accessor functions

* [EC-455] Cleaned up default variables

* [EC-455] Imported Shared module to access i18n pipe // cleaned up string refs

* [EC-455] Adjusted padding for clear button // Changed hover color to text-main // Fixed pipe import on stories

* [EC-455] FormObj factory

* [EC-455] FormObj factory

* [EC-455] Updated FormFieldModule import/export statements

* [EC-455] Null check ngControl // added strings

* [EC-455] Fixed remaining null check // Added standalone story & input

* [EC-455] Actually adding the null check

* [EC-455] Removed injector logic // Removed Value Accessor PROVIDER // Self-assigned value accessor

* [EC-455] Fixed ID copy pasta // Forwarded desribed by to focusable input // Abstracted input for label

* [EC-455] Prettier
2022-10-11 07:49:31 -05:00
Rui Tomé
3a298bd989
[EC-377] Transition Policy service into providing observables (#3259)
* Added abstractions for PolicyApiService and PolicyService

* Added implementations for PolicyApiService and PolicyService

* Updated all references to new PolicyApiService and PolicyService

* Deleted old PolicyService abstraction and implementation

* Fixed CLI import path for policy.service

* Fixed main.background.ts policyApiService dependency for policyService

* Ran prettier

* Updated policy-api.service with the correct imports

* [EC-377] Removed methods from StateService that read policies

* [EC-377] Updated policy service getAll method to use observable collection

* [EC-377] Added first unit tests for policy service

* [EC-377] Added more unit tests for Policy Service

* [EC-376] Sorted methods order in PolicyApiService

* [EC-376] Removed unused clearCache method from PolicyService

* [EC-376] Added upsert method to PolicyService

* [EC-376] PolicyApiService putPolicy method now upserts data to PolicyService

* [EC-377] Removed tests for deleted clearCache method

* [EC-377] Added unit test for PolicyService.upsert

* [EC-377] Updated references to state service observables

* [EC-377] Removed getAll method from PolicyService and refactored components to use observable collection

* [EC-377] Updated components to use concatMap instead of async subscribe

* [EC-377] Removed getPolicyForOrganization from policyApiService

* [EC-377] Updated policyAppliesToUser to return observable collection

* [EC-377] Changed policyService.policyAppliesToUser to return observable

* [EC-377] Fixed browser settings.component.ts getting vault timeout

* Updated people.component.ts to get ResetPassword policy through a subscription

* [EC-377] Changed passwordGenerationService.getOptions to return observable

* [EC-377] Fixed CLI generate.command.ts getting enforcePasswordGeneratorPoliciesOnOptions

* [EC-377] Fixed eslint errors on rxjs

* [EC-377] Reverted changes on passwordGeneration.service and vaultTimeout.service

* [EC-377] Removed eslint disable on web/vault/add-edit-component

* [EC-377] Changed AccountData.policies to TemporaryDataEncryption

* [EC-377] Updated import.component to be reactive to policyAppliesToUser$

* [EC-377] Updated importBlockedByPolicy$

* [EC-377] Fixed missing rename

* [EC-377] Updated policyService.masterPasswordPolicyOptions to return observable

* [EC-377] Fixed vaultTimeout imports from merge

* [EC-377] Reverted call to passwordGenerationService.getOptions

* [EC-377] Reverted call to enforcePasswordGeneratorPoliciesOnOptions

* [EC-377] Removed unneeded ngOnDestroy

* Apply suggestions from code review

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [EC-377] Fixed login.component.ts and register.component.ts

* [EC-377] Updated PolicyService to update vaultTimeout

* [EC-377] Updated PolicyService dependencies

* [EC-377] Renamed policyAppliesToUser to policyAppliesToActiveUser

* [EC-377] VaultTimeoutSettings service now gets the vault timeout directly instead of using observables

* [EC-377] Fixed unit tests by removing unneeded vaultTimeoutSettingsService

* [EC-377] Set getDecryptedPolicies and setDecryptedPolicies as deprecated

* [EC-377] Set PolicyService.getAll as deprecated and updated to use prototype.hasOwnProperty

* [EC-565] Reverted unintended change to vaultTimeoutSettings that was causing a bug to not display the correct vault timeout

* [EC-377] Removed unneeded destroy$ from preferences.component.ts

* [EC-377] Fixed policy.service.ts import of OrganizationService

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: mimartin12 <77340197+mimartin12@users.noreply.github.com>
2022-10-11 13:08:48 +01:00
Oscar Hinton
f6b2b75ad8
Forbid substitute (#3734) 2022-10-10 17:19:01 +02:00
Andreas Coroiu
bb4f063fe7
[EC-558] Reflecting async progress on buttons and forms (#3548)
* [EC-556] feat: convert button into component

* [EC-556] feat: implement loading state

* [EC-556] feat: remove loading from submit button

* [EC-556] fix: add missing import

* [EC-556] fix: disabling button using regular attribute

* [EC-556] feat: implement bitFormButton

* [EC-556] feat: use bitFormButton in submit button

* [EC-556] fix: missing import

* [EC-558] chore: rename file to match class name

* [EC-558] feat: allow skipping bitButton on form buttons

* [EC-558]: only show spinner on submit button

* [EC-558] feat: add new bit async directive

* [EC-558] feat: add functionToObservable util

* [EC-558] feat: implement bitAction directive

* [EC-558] refactor: simplify bitSubmit using functionToObservable

* [EC-558] feat: connect bit action with form button

* [EC-558] feat: execute function immediately to allow for form validation

* [EC-558] feat: disable form on loading

* [EC-558] chore: remove duplicate types

* [EC-558] feat: move validation service to common

* [EC-558] feat: add error handling using validation service

* [EC-558] feat: add support for icon button

* [EC-558] fix: icon button hover border styles

* [EC-558] chore: refactor icon button story to show all styles

* [EC-558] fix: better align loading spinner to middle

* [EC-558] fix: simplify try catch

* [EC-558] chore: reorganize async actions

* [EC-558] chore: rename stories

* [EC-558] docs: add documentation

* [EC-558] feat: decouple buttons and form buttons

* [EC-558] chore: rename button like abstraction

* [EC-558] chore: remove null check

* [EC-558] docs: add jsdocs to directives

* [EC-558] fix: switch abs imports to relative

* [EC-558] chore: add async actions module to web shared module

* [EC-558] chore: remove unecessary null check

* [EC-558] chore: apply suggestions from code review

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [EC-558] fix: whitespaces

* [EC-558] feat: dont disable form by default

* [EC-558] fix: bug where form could be submit during a previous submit

* [EC-558] feat: remove ability to disable form

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2022-10-10 16:04:29 +02:00
Gbubemi Smith
c0e872e576
added 2fa enabled (#3711) 2022-10-07 16:05:20 +01:00
Thomas Rittson
7c3255d9fa
Add organization-options menu to single org (#3678) 2022-10-05 07:41:35 +10:00
Oscar Hinton
b153ed6d01
[SM-265] Add eslint rule forbidding get().value (#3671) 2022-10-04 15:40:00 +02:00
github-actions[bot]
ecde1f075a
Autosync the updated translations (#3655)
Co-authored-by: github-actions <>
2022-09-30 03:05:53 +02:00
Oscar Hinton
a0e89af120
[SM-255] Forbid absolute imports in libs (#3624) 2022-09-29 16:38:50 +02:00
Oscar Hinton
5915ef7ed9
[SM-247] Fix csp rules not working for local dev (#3588) 2022-09-29 15:24:04 +02:00
Oscar Hinton
c7f85504c5
[SM-254] Rename web vault imports from src to web-vault (#3626) 2022-09-29 14:56:52 +02:00
Michał Chęciński
b91e2919b6
Add EE specific web container image (#3604)
* Add build command for ee

* Add config for ee

* Add build workflow for ee

* Change build pipeline for web ee

* Fix name of workflow in trigger

* Build ee image in web build workflow

* Fix name on matrix

* FIx name of the artifact

* Comment out zip extract

* Add zip extract

* All listing dir before unzip

* Add pwd

* Comment out unzipping

* Fix

* Add matrix instead of two stages

* Remove build web ee workflow

* Fix name
2022-09-29 12:21:47 +02:00
Thomas Rittson
24a7abbba7
Fix alignment for long filter names (#3635) 2022-09-29 08:55:51 +10:00
Gbubemi Smith
9c40ac4e14
updated submit button to use the block directive and add loader (#3644) 2022-09-28 18:23:48 +01:00
Justin Baur
c6dccc354c
[PS-1092] Organization Service Observables (#3462)
* Update imports

* Implement observables in a few places

* Add tests

* Get all clients working

* Use _destroy

* Address PR feedback

* Address PR feedback

* Address feedback
2022-09-27 16:25:19 -04:00
Gbubemi Smith
2c68518f87
corrected typos (#3633) 2022-09-27 19:10:19 +01:00
Todd Martin
cb746824e8
Added CSP rule for DDG email fowarder API (#3630)
Co-authored-by: Todd Martin <>
2022-09-27 13:44:13 -04:00
Oscar Hinton
701d795000
Fix storybook (#3625) 2022-09-27 14:42:15 +02:00
Andreas Coroiu
cd7c9bfd9f
[EC-556] refactor cl button (#3537)
* [EC-556] feat: convert button into component

* [EC-556] feat: implement loading state

* [EC-556] feat: remove loading from submit button

* [EC-556] fix: add missing import

* [EC-556] fix: disabling button using regular attribute

* [EC-556] fix: missing loading input in story templates

* [EC-556] feat: remove and replace submit button

* Fix packaging on Build Web workflow (#3613)

(cherry picked from commit 67c447d54c)

* [EC-556] fix: replaced buttons should be primary

Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
2022-09-27 11:25:53 +02:00
Gbubemi Smith
22a878792e
[SG-168] Passwordless login web MVP (#3424)
* passwordless login page redesign

* passwordless login page redesign

* restyled login form to use tailwind

* restyled login form to use tailwind

* moved texts on login device template to locales

* made reactive form changes for clients

* added request model

* made more changes

* added implmentation to auth request api

* fixed refrencing issue

* renamed model property

* Added resend notification functionality

* Added new file

* login with device first draft

* login with device first draft

* login with device first draft

* login with device first draft

* connection to anonymous hub

* connection to anonymous hub

* refactored confirm login response

* removed comment

* cleaned up login

* changed uptyped form builder

* changed uptyped form builder

* [SG-168] Update login strategy with passwordless login credentials.

* [SG-168] Removed logs. Changed inputs for passwordless logic strategy. Removed tokenRequestPasswordless it is using the same as password.

* code cleanup

* code cleanup

* removed login with device from self hosted

* fixed PR comments

* added module for login

* fixed post request bug

* added feature flag

* added feature flag

* added feature flag

Co-authored-by: André Bispo <abispo@bitwarden.com>
2022-09-26 23:26:10 +01:00
github-actions[bot]
34178f6efd
Autosync the updated translations (#3619)
Co-authored-by: github-actions <>
2022-09-26 21:22:21 +02:00
Sammy Chang
96bc18d4ef
Update permission title to allow for translations (#3607) 2022-09-25 12:34:06 +02:00
github-actions[bot]
a8f54f1c45
Autosync the updated translations (#3597)
Co-authored-by: github-actions <>
2022-09-23 02:02:25 +02:00
github-actions[bot]
30f38dc916
Bumped web version to 2022.9.2 (#3586)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-21 22:25:36 -04:00
github-actions[bot]
73b95cf8c4
Autosync the updated translations (#3583)
Co-authored-by: github-actions <>
2022-09-21 19:05:10 +02:00
Patrick H. Lauke
0eb3f369dc
[SM-223] Web: change <h2> modal title to <h1>, tweak styles to keep same look (#3328)
Co-authored-by: Hinton <hinton@users.noreply.github.com>
2022-09-20 13:14:04 +02:00
github-actions[bot]
0783bb2f7d
Autosync the updated translations (#3547)
Co-authored-by: github-actions <>
2022-09-16 03:24:59 +02:00
Gbubemi Smith
734f052faa
[SG-590] Missing error messages (#3514)
* added removed locale keys on clients

* resolved comments
2022-09-15 18:02:01 +01:00
github-actions[bot]
669a3572b8
Bumped web version to 2022.9.1 (#3539)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-15 11:52:51 -04:00
Todd Martin
04c2088360 Modified Fastmail CSP to match QA and Production proxies. 2022-09-15 10:17:46 -04:00
aj-rosado
f5336a2839
[PS-1111] Added prefix "Vault:" for accessibility on vault selector items (#3188)
* PS-1111 Added prefix "Vault:" for accessibility to vault selector items

* improved html readability

* PS-1111 Added more screen reader accessibility data to the Vault selector on Desktop and Web clients

* PS-1111 removed duplicated aria-label

* PS-1111 Removed unnecessary aria-label attribute

* PS-1111 Changed browser vault item accessibility title from span to button
2022-09-15 12:27:21 +01:00
Justin Baur
d2065cc91f
Update CSP rule for Angular CDK (#3529) 2022-09-14 14:02:34 -04:00
github-actions[bot]
44fbba49d1
Autosync the updated translations (#3518)
Co-authored-by: github-actions <>
2022-09-14 00:31:24 +02:00
André Filipe da Silva Bispo
acf332b689
[SG-659] Classic 2019 plans no longer generating TOTP codes for Free users (#3509)
* [SG-659] Fixed TOTP code visibility for users with classic plans.

* [SG-659] Refactored condition.

* [SG-659] Ran prettier

* [SG-659] Simplified expression.
2022-09-13 17:56:10 +01:00
Addison Beck
65641a38b7
[SG-656] Fix Trial Initiation Captcha Issue (#3481)
* [refactor] Isolate form validation logic

* [refactor] Relocate a few input scrubbing lines

* [refactor] Isolate RegisterRequest object construction logic

* [refactor] Isolate account registration logic

* [refactor] Isolate login logic

* [fix] Check for captchas during login from trial initiation

* [fix] Avoid a duplicated toast if the account was already created
2022-09-09 14:56:36 -04:00
github-actions[bot]
f0ed4f2086
Autosync the updated translations (#3471)
Co-authored-by: github-actions <>
2022-09-09 08:26:26 +00:00
rr-bw
04c594203c
add layout params for ABM campaign (#3459) 2022-09-07 13:54:33 -07:00
Thomas Rittson
09a96e4ee1
Move Injection Tokens to own file (#3456) 2022-09-08 06:23:32 +10:00
Matt Gibson
ae990019c9
Add icons to dev proxies (#3429) 2022-09-07 11:36:05 -05:00
github-actions[bot]
cd1af0a9f1
Bumped web version to 2022.9.0 (#3453)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-06 13:58:30 -07:00
Patrick H. Lauke
55e5e008c7
Don't prevent whitespace wrapping in links/buttons, widen desktop pages (#3407)
Allowing whitespace to wrap solves the issue of long link/button text awkwardly breaking out of controls
Widening desktop "pages" prevents some unnecessary wrapping in places like the "Create account" button on the login screen, whose content is slightly wider than it should be (but this is currently masked by the `nowrap`)

Closes https://github.com/bitwarden/clients/issues/2620
2022-09-06 20:32:01 +02:00
rr-bw
7c5e4dd3d6
[CL-7] Avatar (#3153)
* CL-7 Begin Implementing Avatar

* add figma design to parameters

* rework size property

* Update Figma file to correct component

* remove circle input (avatar will always be a circle)

* adjust sizing and limit inputs

* Setup color input and functionality

* Add border option

* fix bug duplicating classes

* Update size for large avatar

* Remove unnecessary class

* Fix typo

* Remove 'dynamic' input (Avatar will now regenerate on changes by default)

* Use Tailwind class instead of an arbitrary value

* Remove gravatars (deprecated, see SG-434)

* Rename methods to a more accurate name

* Rework classList() getter method

* Remove unnecessary logic and services

* Make properties private, and rename for better clarity

* Move sanitizer logic to the TS code rather than the template

* Rework and move function to a common static class in Utils

* Rename 'data' to 'text' for clarity

* Rework classList implementation

* Remove email since we removed gravatars

* Remove template

* set color based on color, id, or text input

* rework generate method

* add explicit null/undefined check

* remove comment

Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com>
2022-09-06 11:02:09 -07:00
Andreas Coroiu
15920f5354
[EC-512] Tree shakeable icons (#3427)
* [EC-512] feat: create new icon class

* [EC-512] feat: implement protected svgIcon function

* [EC-512] feat: use new icon class in component

* [EC-512] feat: integrate new icons in application

* [EC-512] fix: linting

* [EC-512] chore: move report icons to where they are used

* [EC-512] chore: add export type explanation
2022-09-06 08:21:59 +02:00
Daniel James Smith
57d60e2114
[PS-1282] Enable Arabic language support for desktop, browser, web (#3333)
* Register Arabic language with native name

* Register Arabic language for web vault

* Register Arabic language for browser

* Register Arabic language for desktop
2022-09-05 21:18:18 +02:00
github-actions[bot]
39700b5db3
Autosync the updated translations (#3435)
Co-authored-by: github-actions <>
2022-09-02 11:20:47 +02:00
Thomas Rittson
cff2422d7f
[EC-499] Add encryptService to domain model decryption (#3385)
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2022-09-02 11:15:19 +10:00
cd-bitwarden
8f7ee4eba2
Sm 89 ee (#3418)
* Rough draft of Export/Import changes w/ password encryption

* fix for encrypted export changes

* Create launch.json

* Updates to export logic modal user secret prompt

* Updates to error handling

* renaming the component for checking the user secret to a name that is more clear about what it accomplishes

* Fixing lint errors

* Adding a comment

* Suggested changes from CR

* Suggested changes from CR

* Making suggested changes

* removing unnecessary properties

* changes suggested

* Fix

* Updating error messages

* Removing unecessary launch.json file commit

* running lint, removing commented code

* removing launch.json

* Updates to remove the userVerificationPromptService

* updates

* Removing unused import, running npm prettier/lint

* Changes to use Form Fields

* Updates

* updates requested by Matt

* Update apps/web/src/app/tools/import-export/export.component.ts

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* Suggested Changes from PR

* Fix after merge from Master

* changes to styling

* Removing unused code and cleanup

* Update libs/angular/src/components/user-verification-prompt.component.ts

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* Update apps/web/src/locales/en/messages.json

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* Changes suggested by Thomas R

* Merging master into branch

* Revert "Merging master into branch"

This reverts commit eb2cdffe49.

* Requested changes and improvements

* merging master into feature branch

* Revert "merging master into feature branch"

This reverts commit e287715251.

* Suggested Changes

* changes

* requested changes

* Requested changes

* removing comments, fixing code

* reducing copied code

* fixing bug

* fixing bug

* changes

* WIP

* Thomas's requested changes

* adding back missing spaces

* change needed after the merge from master into feature branch

* prettier + lint

* Updating the EncryptedExportType Import

* Fixing build errors

Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.com>

* Move FilePasswordPrompt to ImportExportModule

Also remove base class
Also remove duplicate service providers

* Run prettier

* Suggested Changes from Thomas

* only require filePassword and confirmFilePassword if it's type is FileEncrypted

* Update to only enable the field when submitting a file password encrypted file

* Requested changes, moving logic to web

* undoing change to bit button

* Refactor to process file-encrypted imports in main import.component

*  Refactor confirm file password check

* Remove UserVerificationPromptService

* Address CodeScene feedback

* Updates to disable the required file password field when needed

* Subscribe to reactive form changes to adjust validators

* style changes requested by suhkleen

* Delete duplicate classes

* Fixing storybook issue

* Updating copy for encrypted export

Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.com>
2022-08-30 16:36:25 -04:00
Daniel James Smith
25207c2858
Extract settings related methods into VaultTimeoutSettingsService (#3419)
* Extract into new VaultTimeoutSettingsService

* Ensure new service is instantiated and registered for DI

* Create vaultTimeoutSettingsServiceFactory

* Fix VaultTimeoutServiceFactory

* Remove any and use void instead
2022-08-30 22:30:43 +02:00
Daniel James Smith
88a6541bd8
Refactorings for vaultTimeoutService/ServiceFactories (#3416)
* Move vaultTimeoutAbstraction  into it's own folder

* Move vaultTimeout service into it's own folder

* Added vaultTimeoutServiceFactory and it's missing dependencies
2022-08-30 16:11:19 +02:00
Justin Baur
2c208edb98
Add sync$ observable (#3384)
* Add sync$ observable

* Update lock method

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2022-08-29 14:14:59 -04:00
cd-bitwarden
a108476c3c
[SM-89] Updates to encrypted export (#2963)
* Rough draft of Export/Import changes w/ password encryption

* fix for encrypted export changes

* Create launch.json

* Updates to export logic modal user secret prompt

* Updates to error handling

* renaming the component for checking the user secret to a name that is more clear about what it accomplishes

* Fixing lint errors

* Adding a comment

* Suggested changes from CR

* Suggested changes from CR

* Making suggested changes

* removing unnecessary properties

* changes suggested

* Fix

* Updating error messages

* Removing unecessary launch.json file commit

* running lint, removing commented code

* removing launch.json

* Updates to remove the userVerificationPromptService

* updates

* Removing unused import, running npm prettier/lint

* Changes to use Form Fields

* Updates

* updates requested by Matt

* Update apps/web/src/app/tools/import-export/export.component.ts

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* Suggested Changes from PR

* Fix after merge from Master

* changes to styling

* Removing unused code and cleanup

* Update libs/angular/src/components/user-verification-prompt.component.ts

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* Update apps/web/src/locales/en/messages.json

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>

* Changes suggested by Thomas R

* Merging master into branch

* Revert "Merging master into branch"

This reverts commit eb2cdffe49.

* Requested changes and improvements

* merging master into feature branch

* Revert "merging master into feature branch"

This reverts commit e287715251.

* Suggested Changes

* changes

* requested changes

* Requested changes

* removing comments, fixing code

* reducing copied code

* fixing bug

* fixing bug

* changes

* WIP

* Thomas's requested changes

* adding back missing spaces

* change needed after the merge from master into feature branch

* prettier + lint

* Updating the EncryptedExportType Import

* Fixing build errors

Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.com>

* Move FilePasswordPrompt to ImportExportModule

Also remove base class
Also remove duplicate service providers

* Run prettier

* Suggested Changes from Thomas

* only require filePassword and confirmFilePassword if it's type is FileEncrypted

* Update to only enable the field when submitting a file password encrypted file

* Requested changes, moving logic to web

* undoing change to bit button

* Refactor to process file-encrypted imports in main import.component

*  Refactor confirm file password check

* Remove UserVerificationPromptService

* Address CodeScene feedback

* Updates to disable the required file password field when needed

* Subscribe to reactive form changes to adjust validators

* style changes requested by suhkleen

* Delete duplicate classes

Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: Thomas Rittson <eliykat@users.noreply.github.com>
2022-08-29 10:11:44 -04:00
Oscar Hinton
e7c7037a14
Add eslint-plugin-rxjs & rxjs-angular (#3373) 2022-08-26 18:09:28 +02:00
github-actions[bot]
84bb79dfd0
Autosync the updated translations (#3386)
Co-authored-by: github-actions <>
2022-08-26 10:09:51 +02:00
Thomas Rittson
90137936fa
[EC-473] Add feature flags to common code (#3324) 2022-08-26 13:00:14 +10:00
Daniel James Smith
4c5a46ce13
[PS-1363] Tech debt and small refactorings (#3377)
* Remove cast to any as Utils.gobal got typed with #3131

* BitwardenFileUploadService: Remove unneeded dependency

* Remove allowSoftLock from vaultTimeoutService

* ImportService: Remove dependency on PlatformUtilsSvc
2022-08-25 19:09:27 +02:00
Oscar Hinton
e0ae1bb738
Fix failing tests (#3374)
* Fix trial-initation test

Co-authored-by: Michał Chęciński <michal.checinski@outlook.com>
2022-08-25 18:26:18 +02:00
Kyle Spearrin
bb70113279
feedback from fastmail (#3375)
* feedback from fastmail

* follow redirects for getting account id api
2022-08-25 10:54:02 -04:00
Justin Baur
7145b13df1
[PS-1093] Move Organization Api Calls (#3243)
* Move organization api calls into seperate service

* Remove unneeded unknown

* Address PR feedback
2022-08-24 12:33:05 -04:00
Daniel James Smith
95a0cfb28d
Fix GitHub build badges (#3363)
* Fix link to build badge for web README

* Add missing cli and web build badges to README
2022-08-23 19:04:15 +02:00
Todd Martin
1804608717
Added CSP configuration for fastmail (#3361)
Co-authored-by: Todd Martin <>
2022-08-23 11:15:00 -04:00
rr-bw
7d204b1df3
increase header size so text doesn't overlap (#3356) 2022-08-22 16:13:21 -04:00
Kyle Spearrin
2a49824581
[SG-515] add fastmail integration for generator (#3318)
* add fastmail integration for generator

* prettier

* introduce forwarder interface and implementations
2022-08-19 14:52:14 -04:00
Gbubemi Smith
d8cb543645
[SG-576] Added reference data to trial initiation (#3312)
* Added reference data to trial initiation

* refactored to use private methods

* refactored to use private methods
2022-08-19 17:10:23 +01:00
David S
4c099aca46
[PS-1302] added duckduckgo's email forwarding service 🦆 (#3306)
* added duckduckgo's email forwarding

* removed unnecessary excxeption

* renamed "Private Duck Address" to "DuckDuckGo"

Co-authored-by: Dattito <github@relay.datti.to>
2022-08-19 09:45:02 -04:00
Robyn MacCallum
295ae5aa4e
[SG-577] Display content based on layout params (#3339)
* display content based on layout params

* Subfolder TrialInitiationModule content components

Co-authored-by: rr-bw <rrichetto@bitwarden.com>
Co-authored-by: addison <addisonbeck1@gmail.com>
2022-08-19 09:31:50 -04:00
Patrick H. Lauke
a48bf9269f
[PS-1301] Accessibility: improve item edit for URIs and custom fields (#3305)
* Add `role="group"` and accName to URI and custom field groups (browser)

Provides more context when editing fields (to understand what the remove, options, etc buttons are all about)

* Add `aria-describedby` to custom field value fields (browser)

provides further context other than the generic "Value" label

* Add `role="group"` and accName to URI and custom field groups, add `aria-describedby` to custom field value fields (desktop)

* Add `role="group"` and accName to URI and custom field groups, add `aria-describedby` to custom field value fields (web)

* Use `attr.aria-label` instead of `appA11yTitle`

don't need/want the tooltips appearing everywhere
2022-08-19 14:17:20 +02:00
github-actions[bot]
c53ed9956e
Autosync the updated translations (#3336)
Co-authored-by: github-actions <>
2022-08-19 11:30:25 +02:00
Daniel James Smith
dcd858d8ae
[PS-1286] Enable Basque language support for desktop, browser, web (#3332)
* Register basque language with native name

* Register basque language for web vault

* Register basque language for browser

* Register basque language for desktop
2022-08-18 17:55:41 +02:00
Patrick H. Lauke
adb8be746a
Web: fix twoStepLogin modal title > id (#3323)
Fixes a small typo/oversight in the markup for the `twoStepLogin` modal
2022-08-17 13:11:47 +02:00
Patrick H. Lauke
babfa30c68
[PS-1222] Remove appBlurClick throughout the popup and web code (#3208)
* Remove appBlurClick throughout the popup code

`appBlurClick` leads to focus being lost/reset for assistive technology users. It should not be necessary in any case - if focus does need to move after an action, explicitly set it somewhere programmatically using `focus()` rather than relying on browser heuristics

* Remove now redundant blur-click directive
2022-08-17 10:42:26 +02:00
Addison Beck
7e39867dae
Import OrganizationBadgeModule in VaultModule (#3316) 2022-08-16 09:10:35 -04:00
Todd Martin
ce4fd26e0d
[SG-587] Enabled showTrial feature flag in cloud (#3311)
* Enabled showTrial feature flag in cloud and selfhosted.
2022-08-15 16:21:08 -04:00
Thomas Rittson
d30701ada7
[EC-416] Refactor organization permission checks (#3252)
* Replace Permissions enum and helper methods with callbacks

* Remove scim feature flag

* Check if org has feature enabled as part of canManage checks

* Pin jest-mock-extended at v2.0.6 to fix compilation error
2022-08-15 07:08:06 -07:00
Robyn MacCallum
2d3d312cd7
Send reference data on account creation (#3297) 2022-08-12 13:19:39 -04:00
github-actions[bot]
d86b2d76c8
Autosync the updated translations (#3291)
Co-authored-by: github-actions <>
2022-08-12 11:35:15 +02:00
github-actions[bot]
c0a6db7d00
Bumped web version to 2022.8.1 (#3287)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-11 14:11:38 -07:00
Thomas Rittson
4a1c3eb1ec
[EC-423] Fix unit tests (#3265)
* Create base jest.config file

* Fix various tests that were broken

* Add maxWorkers to jest config

* Undo change to testEnvironment

* Enable tsconfig.spec.json
2022-08-11 11:35:08 +10:00
Justin Baur
1ba76dec16
[PS-1107] User Verification Service Refactor (#3219)
* UserVerificationService refactor

* Remove temp change

* move import order

* Address PR feedback
2022-08-09 21:31:02 -04:00
Justin Baur
43d428b3df
[PS-816] Add Autofill Shortcut to MV3 Extension (#3131)
* Work on background service worker.

* Work on shortcuts

* Work on supporting service worker

* Put new background behind version check

* Fix build

* Use new storage service

* create commands from crypto service (#2995)

* Work on service worker autofill

* Got basic autofill working

* Final touches

* Work on tests

* Revert some changes

* Add modifications

* Remove unused ciphers for now

* Cleanup

* Address PR feedback

* Update lock file

* Update noop service

* Add chrome type

* Handle "/" in branch names

Updates web workflow to handle the `/` in branch names when it's a PR.

* Remove any

Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Micaiah Martin <77340197+mimartin12@users.noreply.github.com>
2022-08-09 21:30:26 -04:00
André Filipe da Silva Bispo
c4f9c2cca6
[SG-416] Updates to Bitwarden Authenticator (#3045)
* [SG-416] Changed UI for TOTP codes on free plan and added link to get Premium. On browser, changed back action of premium.component in order to reuse on cipher details.

* [SSG-416] PR Fix

* [SSG-416] fix formatting

* [SSG-416] Updated desktop free plan OTP UI

* [SSG-416] noticed a bad div tag making file changes erratic

* [SG-416] fixed label

* [SSG-416] Fix formatting

* [SSG-416] Changed bootstrap classes to tailwind

* [SSG-416] Added premium and upgrade badge back. Muted placeholder totp code colors and button.

* [SSG-416] Change learn more to upgrade label on get premium modal. Fixed navigation for premium.

* [SSG-416] Removed unused image file.

* [SG-416] Changed browser "Premium subscription required" text to be all hyperlink.

* [SG-416] Fixed missing resource on browser

* [SG-416] Code format with lint
2022-08-09 19:03:02 +01:00
Gbubemi Smith
31cae4390f
[SG-414] Weak password prompt not displaying on master password reset (#3241)
* moved password strength to libs

* refactored password strength component

* made changes on desktop and browser to reuse component

* resolved suggestions from PR review

* shared module restructure

* shared module restructure

* Fixed no warning prompt on reset password

* SG-519 setting new password warning prompt fix

* removed any and added type
2022-08-09 18:32:08 +01:00
dgoodman-bw
ecd6863abe
PS-725 - add empty state image to Vault and Send pages in web and to the Vault page in the bowser extension (#3263) 2022-08-09 09:23:57 -07:00
Addison Beck
95bb429281
[SG-360] Remove the /modules/ folder (#3225)
* Move Web's SharedModule to /app/shared/

This commit relocates `SharedModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference `SharedModule`.

* Move /modules/pipes to /shared/pipes

This commit relocates `PipesModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference `PipesModule`.

* Move LooseComponentsModule to /shared/

This commit relocates `LooseComponentsModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference `LooseComponentsModule`.

* Move VerticalStepperModule to /shared/

This commit relocates `VerticalStepperModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference `VerticalStepperModule`.

* Move TrialInitiationModule to /shared/

This commit relocates `TrialInitiationModule` & `RegisterFormModule` from `/app/modules` to `/app/shared` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference `TrialInitiationModule` or `RegisterFormModule`.

* Move /modules/organization to /organization

This commit relocates all modules in `/app/modules/organization` to `/app/organization` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference the moved modules.

* Move /modules/vault/ to /vault

This commit relocates the IndividualVaultModule to `/app/modules/vault`, and the OrganizationVaultModule to `/app/organization/vault` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference the moved modules.

* Move VaultFiltersModule to /vault

This commit relocates the `VaultFilterModule` to `/app/vault/vault-filter`, and the OrganizationVaultFilterComponent to `/app/organization/vault/vault-filter` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference the moved modules.

* Remove the /modules/ folder from desktop

This commit relocates the `VaultFilterModule` to `/app/vault/vault-filter`, and the OrganizationVaultFilterComponent to `/app/organization/vault/vault-filter` to
align with [ADR #11](https://adr.bitwarden.com/decisions/0011-angular-folder-structure)

All other changes are just to adjust imports that reference the moved modules.

* Move Libs' VaultFiltersComponent to /vault/

This commit moves the lib's logic for `VaultFiltersModule` from
`/modules/` to `/vault/`

All other changes are just to adjust imports that reference the moved
files.

* Rename VaultModule -> SharedVaultModule

* Rename IndividualVaultModule -> VaultModule

* Rename OrganizationVaultModule -> VaultModule

* Rename OrganizationVaultFilterComponent

Rename OrganizationVaultFilterComponent to VaultFilterComponent

* Seperate the two VaultFilterComponents

This commit seperate the `OrganizationVaultFilterComponent` from the `VaultFilerModule`, which is only used by the individual vault.
A `VaultFilterSharedModule` was created to declare shared components and provide shared services between the two implementations.
This was done to align with best practices for NgModules.

* [r] Move VerticalStepperModule to /account/

More specifically, /account/trial/

* [r] Declare PaymentComponent in LooseComponentsModule

`PaymentComponent` is not reused across domains and should not be
declared in `SharedModule`.

I've moved it to `LooseComponentsModule` for now, but later it will need
to be exported from a `SettingsModule`.

* [r] Declare TaxInfoComponent in LooseComponentsModule

* [r] Reloacte Pipes out of /shared/

* [r] Extract locales out of SharedModule

* [r] Add documentation to shared module

* [r] Cleanup imports

* [r] Use an index.ts file for /shared/

* [r] Add eslint rule restricting access to /shared/

Co-authored-by: Hinton <hinton@users.noreply.github.com>
2022-08-08 15:08:35 -04:00
Rui Tomé
c263eacd88
[EC-376] Extract API logic from PolicyService to PolicyApiService (#3203)
* Added abstractions for PolicyApiService and PolicyService

* Added implementations for PolicyApiService and PolicyService

* Updated all references to new PolicyApiService and PolicyService

* Deleted old PolicyService abstraction and implementation

* Fixed CLI import path for policy.service

* Fixed main.background.ts policyApiService dependency for policyService

* Updated policy-api.service with the correct imports

* [EC-376] Sorted methods order in PolicyApiService

* [EC-376] Removed unused clearCache method from PolicyService

* [EC-376] Added upsert method to PolicyService

* [EC-376] PolicyApiService putPolicy method now upserts data to PolicyService
2022-08-08 10:04:36 +01:00
Brandon Maharaj
df7377d305
fix: link sso button (#3242)
* fix: link sso button

* fix: lint

* Update link-sso.component.html

* fix: force recheck

* fix: undo

* fix: idk

* fix

* fix: order tw classes
2022-08-05 13:20:41 -04:00
github-actions[bot]
e5c46d9493
Autosync the updated translations (#3248)
Co-authored-by: github-actions <>
2022-08-05 02:07:54 +02:00
Thomas Rittson
e69128203d
Enable SCIM feature flag (#3246) 2022-08-05 08:32:49 +10:00
Robyn MacCallum
34f33ebb54
[SG-487] Web component unit tests (#3189)
* Configure jest for web

* attempt to fix linter fule preventing angular core imports

* trial initiation tests

* small trial initiation component fix

* Small naming fix in tests
2022-08-04 10:19:31 -04:00
Oscar Hinton
6b1652e34c
[SM-108] Refactor Reports - Add storybook stories (#3204) 2022-08-03 21:40:04 +02:00
Brandon Maharaj
4398467368
fix: width layout (#3234) 2022-08-03 14:56:04 -04:00
github-actions[bot]
cff1c38ef2
Bumped web version to 2022.8.0 (#3227)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-02 13:08:15 -07:00
Oscar Hinton
379036123f
[SM-110] Add prettier-plugin-tailwindcss (#3215) 2022-08-02 08:45:59 +02:00
Gbubemi Smith
257fb0c0af
[SG-414] Refactor password strength component (#3186)
* moved password strength to libs

* refactored password strength component

* made changes on desktop and browser to reuse component

* resolved suggestions from PR review

* shared module restructure

* shared module restructure
2022-08-01 23:26:50 +01:00
Andreas Coroiu
a22ef4d36c
[EC-317] Desktop client delete user account (#3151)
* [EC-317] feat: add delete account section in settings

* [EC-317] feat: add new delete account modal

* [EC-317] feat: add ability to replace top-most modal

* [EC-317] chore: remove unecessary lint ignore

* [EC-317] fix: so delete account is closed if export vault is opened

* [EC-317] feat: inital delete account design without i18n

* [EC-317] feat: disabled but basic working delete functionality

* [EC-317] feat: implement according to new design

* [EC-317] feat: use translations

* [EC-317] feat: implement working deletion

* [EC-317] feat: add loading state and error messages

* [EC-317] feat: add menu bar item

* [EC-317] feat: update form to support typed reactive forms

* [EC-317] chore: update translation text after design review

* [EC-317] feat: move deletion logic to service

* [EC-317] refactor: update web deletion

* [EC-317] feat: disable submit if secret is empty

* [EC-317] fix: handle errors in components as well

* [EC-317] fix: use abstraction as interface

* [EC-317] refactor: extract deleteAccount from api service

* [EC-317] fix: typo in translations

* [EC-317] chore: rename to accountApiService
2022-07-29 21:49:58 +02:00
Oscar Hinton
cc91b79a15
[SM-107] Fix url for premium subscription (#3206) 2022-07-29 16:22:50 +02:00
github-actions[bot]
a7a8228570
Autosync the updated translations (#3202)
Co-authored-by: github-actions <>
2022-07-29 11:08:59 +02:00
Brandon Maharaj
3c7bb3bb84
fix: display allignment (#3190) 2022-07-28 15:51:51 -04:00
Rui Tomé
da341e1317
[EC-247] Add columns to provider portal clients table (#3147)
* Added properties "userCount", "seats" and "plan" to ProviderOrganizationResponse

* Added text message "numberOfUsers"

* Updated provider clients component with new columns

* Removed never used dependency

* Changed userCount to non nullable number

* Added condition on the component to only show seats number if not null

* Changed view condition to an explicit check
2022-07-28 09:31:57 +01:00
Oscar Hinton
797938881e
Add CoreModule (#3149) 2022-07-26 19:34:45 +02:00
Oscar Hinton
2011131bb2
[PS-182] Upgrade Angular to V14 (#2948) 2022-07-26 14:48:11 +02:00
Thomas Rittson
c90eb42ead
[EC-271] Refactor CryptoService - move symmetric encryption to EncryptService (#3042)
* move decryptFromBytes, decryptToBytes, and encryptToBytes from CryptoService to EncryptService
* leave redirects in CryptoService
* combine encryptService decryptFromBytes and decryptToBytes methods
* move parsing logic into EncArrayBuffer
* add tests
2022-07-26 11:40:32 +10:00
Brandon Maharaj
515ca3f0fe
[SG-451] [Defect] - Safari Extension Does Not Display Icon for Long Named Orgs (#3145)
* chore: added strings for disabled org messages

* chore: added icon display

* chore: added prevent filter check

* chore: code changes for desktop

* chore: browser

* fix: float icon

* fix: float right icon

* fix: vary elipsis size
2022-07-25 17:15:44 -04:00
Robyn MacCallum
1f599b499e
[SG-485] and [SG-486] Trial Initiation routing and bug fixes 2022-07-25 14:44:51 -04:00
Brandon Maharaj
6572bacca0
[SG-388] Organization menu style improvements (#3100)
* fix: css

* fix: alignment of icon in menu for a tags
2022-07-25 11:26:28 -04:00
Oscar Hinton
478de90d45
Cleanup src folder for web and move ts code into src/app per angular convention (#3127) 2022-07-25 15:13:54 +02:00
cyprain-okeke
adbe0d58fa
added a refresh token to avoid the time out issue (#3154)
Co-authored-by: dynwee <onwudiweokeke@gmail.com>
2022-07-25 10:02:28 +01:00
Rui Tomé
b50de43556
[EC-320] Add organization vault export to event logs (#3136)
* Added organizationId to EventData and EventRequest

* Added EventType Organization_ClientExportedVault

* Sending organizationId on Organization Export event

* Checking that the user belongs to the organization

* Added organizationExportResponse model

* Added API method to get Organization vault export data

* Updated getOrganizationDecryptedExport to use new API method
2022-07-25 09:56:03 +01:00
Thomas Rittson
0f44789d0f
[EC-338] Update SCIM code naming conventions (revoked/restore) (#3160) 2022-07-25 10:47:56 +10:00
Matt Gibson
528af15eb0
Do not use deprecated method (#3155) 2022-07-22 11:41:02 -05:00
Gbubemi Smith
9fef1d21a4
[SG-430] Modify registration component to use static ids (#3144)
* refactored form to use static ids

* renamed ids to meet standard

* renamed ids to meet standard

* renamed ids to meet standard
2022-07-22 11:22:01 +01:00
Oscar Hinton
80ee6d23c3
[SM-45] Scaffold secrets manager module (#2989)
* Scaffold secrets manager module
2022-07-22 11:16:24 +02:00
github-actions[bot]
42170282b1
Autosync the updated translations (#3158)
Co-authored-by: github-actions <>
2022-07-22 08:59:52 +02:00
Thomas Rittson
36b66ee5de
Add feature flag for scim navigation (#3146) 2022-07-21 13:27:06 +10:00
Robyn MacCallum
8f6713debb
[SG-69] Small Billing Adjustments (#3143)
* Adjust sizing of billing fields

* Move billing component into trial initiation module
2022-07-20 14:33:14 -04:00
Robyn MacCallum
a081de4b7a
[SG-70] Add confirmation details step (#3123)
* Add confirmation details step

* Cleanup

* Update apps/web/src/locales/en/messages.json

Co-authored-by: Addison Beck <addisonbeck1@gmail.com>

* Update apps/web/src/locales/en/messages.json

Co-authored-by: Addison Beck <addisonbeck1@gmail.com>

Co-authored-by: Addison Beck <addisonbeck1@gmail.com>
2022-07-20 11:33:41 -04:00
Thomas Rittson
adecf4eeba
[EC-339] Add eventType and UI strings for Restore/Revoke OrgUser (#3137) 2022-07-20 11:57:25 +10:00
Thomas Rittson
00ac22ba01
[EC-331] User status terminology updates (revoked/restore) (#3135) 2022-07-20 11:41:27 +10:00
Gbubemi Smith
f07e071f09
[SG-69] Billing payment step (#3133)
* billing folder added

* initial commit

* [SG-74] Trial Initiation Component with Vertical Stepper (#2913)

* Vertical stepper PoC

* Convert stepper css to tailwind

* trial component start

* trial component params

* tailwind-ify header

* Support teams, enterprise, and families layout param and more layout ui work

* Some more theming fixes

* Rename TrialModule to TrialInitiationModule

* Stepper fixes, plus more functionality demo

* Cleanup

* layout params and placeholders

* Only allow trial route to be hit if not logged in

* fix typo

* Use background-alt2 color for header

* Move vertical stepper out of trial-initiation

* Create components for the different plan types

* Remove width on steps

* Remove content projection for label

* Tailwind style fixes

* Extract step content into a component

* Remove layout param for now

* Remove step tags

* remove pointer classes from step button

* Remove most tailwind important designations

* Update apps/web/src/app/modules/vertical-stepper/vertical-step.component.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Tailwind and layout fixes

* Remove container

* lint & prettier fixes

* Remove extra CdkStep declaration

* Styles fixes

* Style logo directly

* Remove 0 margin on image

* Fix tiling and responsiveness

* Minor padding fixes for org pages

* Update apps/web/src/app/modules/trial-initiation/trial-initiation.component.html

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* prettier fix

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [SG-65] Reusable Registration Form (#2946)

* created reusable registration form

* fixed conflicts

* replicated reactive form changes in other clients

* removed comments

* client template cleanup

* client template cleanup

* removed comments in template file

* changed to component suffix

* switched show password to use component

* comments resolution

* comments resolution

* added toast disable functionality

* removed unused locale

* mode custom input validator generic

* fixed button

* fixed linter

* removed horizontal rule

* switched to button component

* Added billng step

* Added keys to locale

* billing trial initiation step

* billing trial initiation step

* Dont load billing content until the step is selected

* billing trial initiation step

* billing trial initiation step

* billing trial initiation step

* made the get plans endpoint anonymous

* merged with master and extra changes

* major changes on billing step

* billing step sub label

* Made changes to billing step sub label

* removed unused variable

* removed unused logic

* cleanup

* fixed suggestions

* removed unused reference

* added billing sub label

Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: addison <addisonbeck1@gmail.com>
2022-07-20 02:00:25 +01:00
Robyn MacCallum
2ddba6d2c3
Move Trial Initiation to register route (#3129) 2022-07-19 11:52:18 -04:00
Vitaly Baev
0a4b8b15bc
[PS-1122] Adds Mir payment system (#3079)
* Adds Mir payment system

* Fixes Mir regex pattern and formatting

* Changes Mir logos to Russian ones

* Localize Mir in select
2022-07-19 12:20:37 +02:00
Andreas Coroiu
a302f08a7c
[EC-267] Remove unassigned from lists it is not suppsed to be in (#3102)
* fix: remove unassigned from lists

* fix: remove unnecessary filter
2022-07-19 08:29:58 +02:00
Brandon Maharaj
4d5df858e9
chore: added new ui fields (#2991) 2022-07-18 17:47:53 -04:00
Robyn MacCallum
6a30f37ba9
Update qa.json (#3122) 2022-07-15 13:41:38 -04:00
Robyn MacCallum
d1141247e5
Turn off trial route in qa for testing (#3099) 2022-07-15 12:00:15 -04:00
Robyn MacCallum
ef68d5ed65
Fix additional storage binding for annual total (#3111) 2022-07-15 10:55:14 -04:00
Chad Scharf
e32c4083f3
EC-265 - SCIM configuration page in org admin (#3065)
* EC-265 - Initial stubs for SCIM config UI

* EC-265 - Scim config screen and plumbing

* EC-265 - Scim config component works! Needs cleanup

* EC-265 - Finalize scim config screen

* EC-265 - Remove  scim url from storage and env urls

* EC-265 - Refactor to use new component library

* EC-265 - Angular warnings on disabled attr resolved

* EC-265 - Continued transition to new components

* EC-265 - Page loading spinner pattern

* EC-265 - final SCIM configuration form changes

* scim cleanup

* use scim urls

* suggested changes

* feedback fixes

* remove return

* Move scimUrl logic to EnvironmentService

* Refactor scim url handling

Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
2022-07-15 09:35:30 -04:00
github-actions[bot]
e1ac5d0260
Autosync the updated translations (#3114)
Co-authored-by: github-actions <>
2022-07-15 11:32:20 +02:00
Brandon Maharaj
3093c32f76
[SG-329] Disabled Org display (#3050)
* chore: added strings for disabled org messages

* chore: added icon display

* chore: added prevent filter check

* chore: code changes for desktop

* chore: browser
2022-07-14 09:35:22 -04:00
Robyn MacCallum
f233b0cab7
[SG 435 & SG-436] Reusable org Component bug fixes (#3098)
* Disable submit button of formGroup is invalid

* Fix F4E bug

* Remove duplicate validation
2022-07-13 13:13:14 -04:00
Robyn MacCallum
0465168919
[SG-439] Add feature flags to web (#3092)
* Add feature flags to web

* Remove extra file from dev
2022-07-13 12:22:58 -04:00
Jake Fink
71b237a7eb
use a Set when validating emails to prevent duplicates (#3090) 2022-07-13 09:20:46 -04:00
Oscar Hinton
23253b3882
[PS-1078] Refactor FolderService to use Observables (#3022) 2022-07-12 20:25:18 +02:00
Robyn MacCallum
a43aa9612c
Fix org upgrade issues (#3091) 2022-07-12 13:58:33 -04:00
Robyn MacCallum
31a5fdbebb
[SG-68] Implement org info step (#3083)
* Implement org info step

* Set org info sub label properly
2022-07-12 13:27:03 -04:00
Colton Hurst
59eac668a7
[PS-713] Fix locale search bug (#3014)
* [PS-713] Fix locale search bug

* [PS-713] Add new locales to start at 1 char search

* [PS-713] Switch to ReplaySubject and other edits from PR comments

* PS-713: Add destroy to other sub and make locale inline a const

* PS-713: Use firstValueFrom instead of takeUntil

* PS-713: get this.locale asynchronously

Co-authored-by: Colton Hurst <churst@bitwarden.com>
2022-07-12 09:02:19 -04:00
Joseph Flinn
94cba4b917
Web Version Bump 2022.6.2 (#3085) 2022-07-11 14:14:52 -07:00
Robyn MacCallum
5ed6b9fb74
Implement create account step (#3073) 2022-07-11 11:06:32 -04:00
Rui Tomé
f6571346c2
Updated the Delete account modal description (#3064) 2022-07-11 11:25:30 +01:00
Rui Tomé
ab8af657c6
[EC-280] Update policies page content (#3059)
* Changed policies dialog “enabled” checkboxes title to “Turn on”

* Changed policies “Enabled” badge text to “On”

* Moved master password reset policy up to 3rd row

* Changed the wording on the Single-Sign-On page

* Updated policies page content

* Master-password component now uses new title text

* Two-factor-auth component now uses new title text

* Updated personal-ownership model checkbox text

* Updated texts for send options policy

* Updated the single-sign-on policy description
2022-07-11 11:24:02 +01:00
Robyn MacCallum
9347b13a76
[SG-73] Make Organization Info a reusable component (#3007)
* Create reusable organization info component

* remove extra import

* Use observable for form value changes

* Remove unnecessary null checks

* Refactor reactive controls
2022-07-08 21:05:35 -04:00
Oscar Hinton
f79c4f0c65
Extract API logic from FolderService to FolderApiService (#3011) 2022-07-08 15:40:31 +02:00
Andreas Coroiu
ce2606b406
[EC-267] Unassigned collection has disappeared in web vault (#3000)
* feat: add unassigned collection to decrypted collections

* feat: add support for unassigned in individual vault

* fix: dont activate collection when not selected

* fix: remove collection selection completely when pruning

* feat: prune collection selection if selecting my vault

* fix: filter and only show organization ciphers when unassigned collection is selected

* fix: only show unassigned for admins

* feat: add unassigned logic to organizational vault buildFilter

* refactor: move buildFilter to VaultFilterModel

* chore: add buildFilter tests

* fix: bugs in filtering logic

* refactor: use VaultFilter.buildFilter on desktop

* chore: group and reword tests for better readability

* feat: add additional test

* fix: connect unassigned collection to organization

* fix: test by adding missing

* chore: tweak test group naming

* fix: change undefined to null to better reflect real values
2022-07-08 10:18:07 +02:00
github-actions[bot]
30200c2c3c
Autosync the updated translations (#3069)
Co-authored-by: github-actions <>
2022-07-08 08:48:40 +02:00
Joseph Flinn
340beb1b87
Manual Web Version Bump 2022.6.1 (#3052) 2022-07-06 15:44:03 -07:00
Matt Gibson
12615c203f
[PS-1051] Fix/add master pass hash to all org reset key requests (#3049)
* clarify master password reset calls

* Add master password hash to master password change requests
2022-07-06 14:19:58 -05:00
Rui Tomé
2ecce7215f
Changed the wording of the Bitwarden account deletion text. (#3035) 2022-07-06 09:48:42 +01:00
Robyn MacCallum
fb70d8a2d3
Merge Feature/trial initiation (#3036)
* [SG-74] Trial Initiation Component with Vertical Stepper (#2913)

* Vertical stepper PoC

* Convert stepper css to tailwind

* trial component start

* trial component params

* tailwind-ify header

* Support teams, enterprise, and families layout param and more layout ui work

* Some more theming fixes

* Rename TrialModule to TrialInitiationModule

* Stepper fixes, plus more functionality demo

* Cleanup

* layout params and placeholders

* Only allow trial route to be hit if not logged in

* fix typo

* Use background-alt2 color for header

* Move vertical stepper out of trial-initiation

* Create components for the different plan types

* Remove width on steps

* Remove content projection for label

* Tailwind style fixes

* Extract step content into a component

* Remove layout param for now

* Remove step tags

* remove pointer classes from step button

* Remove most tailwind important designations

* Update apps/web/src/app/modules/vertical-stepper/vertical-step.component.ts

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Tailwind and layout fixes

* Remove container

* lint & prettier fixes

* Remove extra CdkStep declaration

* Styles fixes

* Style logo directly

* Remove 0 margin on image

* Fix tiling and responsiveness

* Minor padding fixes for org pages

* Update apps/web/src/app/modules/trial-initiation/trial-initiation.component.html

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* prettier fix

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [SG-65] Reusable Registration Form (#2946)

* created reusable registration form

* fixed conflicts

* replicated reactive form changes in other clients

* removed comments

* client template cleanup

* client template cleanup

* removed comments in template file

* changed to component suffix

* switched show password to use component

* comments resolution

* comments resolution

* added toast disable functionality

* removed unused locale

* mode custom input validator generic

* fixed button

* fixed linter

* removed horizontal rule

* switched to button component

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: gbubemismith <gsmithwalter@gmail.com>
2022-07-05 15:25:14 -04:00
Oscar Hinton
c1ace45915
[SM-71] Update all badges to use component library (#2999) 2022-07-04 11:00:13 +02:00
github-actions[bot]
86eb6315e9
Autosync the updated translations (#3020)
Co-authored-by: github-actions <>
2022-07-01 08:04:00 +02:00
Addison Beck
bb7dce031c
[fix] Force send attachment to always download and never open (#2908)
* [refactor] Introduce a file download service

* [refactor] Point platformUtilsService.saveFile() callers to fileDownloadService.download() instead

* [refactor] Remove platformUtilsService.saveFile()

* [fix] Force send attachments to always download and never open

* [fix] Remove the window property from FileDownloadRequest

* [fix] Move FileDownloadRequest to /abstractions/fileDownload

* [fix] Simplify FileDownloadRequest to a type

* [fix] Move BrowserApi.saveFile logic into BrowserFileDownloadService

* [fix] Use proper blob types for file downloads

* [fix] forceDownload -> downloadMethod on FileDownloadRequest

* [fix] Remove fileType from FileDownloadRequest

* [fix] Make fileType private
2022-06-29 17:15:29 -04:00
Vincent Salucci
a89b745f0b
[EC-282/EC-286] Update queryParams to use new filter object (#2985)
* [EC-282] Update queryParams to use new filter object

* Removed unused properties

* Removed unused method/property for organization vault

* Fixed organization trash filter
2022-06-29 15:12:08 -05:00
Oscar Hinton
e105a8f222
[CL-11] Submit button (#2971)
* Begin implementing submit button

* Add submit button

* Update figma url

* Add disabled when loading

* Update existing submit buttons

* Move template to it's own file
2022-06-29 16:27:42 +02:00
Oscar Hinton
db3e1a51e9
[SM-44] Lazy loaded import and exporters (#2918) 2022-06-28 22:24:21 +02:00
Joseph Flinn
74a3b05a0f
Web Version Bump to 2022.6.0 (#2992) 2022-06-28 13:24:13 -07:00
Thomas Rittson
3b3d60e102
Add webpack-bundle-analyzer command using npx (#2955) 2022-06-28 07:32:17 +10:00
Matt Gibson
399b8c2b34
PS-813 Add memory storage to state service (#2892)
* Use abstract methods and generics in StorageService

* Prepend `Abstract` to abstract classes

* Create session browser storage service

* Use memory storage service for state memory

* Inject memory storage service

* Maintain filename extensions to help ide formatting

* Preserve state if it's still in memory

* Use jslib's memory storage service

* linter

* Create prototypes on stored objects

* standardize package scripts

* Add type safety to `withPrototype` decorators

* webpack notify manifest version

* Fix desktop

* linter

* Fix script

* Improve prototye application

* do not change prototype if it already matches desired
* fix error with object values prototype application

* Handle null state

* Apply prototypes to browser-specific state

* Add angular language server to recommended extensions

* Improve browser state service tests

* Start testing state Service

* Fix abstract returns

* Move test setup files to not be picked up by default glob matchers

* Add key generation service

* Add low-dependency encrypt service

* Back crypto service with encrypt service.

We'll want to work items that don't require state over to encrypt service

* Add new storage service and tests

* Properly init more stored values

* Fix reload issues when state service is recovering state from session storage

Co-authored-by: Thomas Avery <Thomas-Avery@users.noreply.github.com>
Co-authored-by: Justin Baur <admin@justinbaur.com>

* Simplify encrypt service

* Do not log mac failures for local-backed session storage

* `content` changed to `main` in #2245

* Fix CLI

* Remove loggin

* PR feedback

* Merge remote-tracking branch 'origin/master' into add-memory-storage-to-state-service

* Fix desktop

* Fix decrypt method signature

* Minify if not development

* Key is required

Co-authored-by: Thomas Avery <Thomas-Avery@users.noreply.github.com>
Co-authored-by: Justin Baur <admin@justinbaur.com>
2022-06-27 12:38:12 -05:00
Jake Fink
81c61c8cec
[PS-998] Add button type to premium badge (#2973)
* prevent default on premium badge

* change type to button to stop submit
2022-06-27 08:49:10 -04:00
github-actions[bot]
a64c9cc997
Autosync the updated translations (#2966)
Co-authored-by: github-actions <>
2022-06-24 12:43:28 +02:00
Addison Beck
57b8144013
[refactor] Introduce ThemingService (#2943)
* [refactor] Introduce ThemingService

* [refactor] Implement ThemingService for web

* [refactor] Implement ThemingService on browser

* [refactor] Implement ThemingService for desktop

* [refactor] Remove deprecated platformUtils.service theme methods

* [fix] Move ThemingService from libs/common to libs/angular

* [fix] Simplify ThemeBuilder's constructor

* [fix] Dont notify subscribers of null values from theme$

* [fix] Always notify PaymentComponent of theme changes
2022-06-23 07:36:05 -04:00
Andreas Coroiu
fd69e163ff
[PS-683] Update negative copy (#2912)
* feat(browser): Update auto biometrics copy

* refactor(common): remove TotpService.isAutoCopyEnabled and use state directly

The TotpService was just taking the value from StateService and forwarding it, making it depend on state service.
All services that depended on the TotpService.isAutoCopyEnable flag also depended on StateService.
This therefore simplifies things by using StateService directly.

* feat(browser): update auto totp copy

* feat(browser): update add login notification copy

* feat(browser): update change password notification copy

* feat(browser): update context menu copy

* feat(browser): update show cards current tab copy

* feat(browser): update show identities current tab copy

* feat(browser): update enable favicon copy

* feat(browser): update badge counter copy

* feat(browser): update auto-fill copy

* feat(desktop): update auto biometrics prompt copy

* feat(desktop): update favicon copy

* feat(desktop): adjust copy

* feat(web): update favicons copy

* feat(web): adjust copy

* feat(web): update preference settings to sentence case

* feat(browser): update settings and options page to sentence case

* feat(desktop): update settings to sentence case

* feat(web): update copy

* feat(desktop): update copy
2022-06-23 09:53:42 +02:00
Chad Scharf
b28c07790d
EC-263 - Deactivate/activate in user management (#2893)
* SM-48 - Disable/enable in user management

* SM-48 - Disabled badge added to edit user

* SM-48 - Fix linter issues

* SM-48 - Color adjustments to badging

* SM-48 - Fix prettier formatting

* EC-263 - Rename disable to deactivate

* EC-263 - lint errors and cleanup

* EC-263 - Fix build and importer errors

* EC-263 - import grouping order fix

* EC-263 - PR review feedback and cleanup

* EC-263 - Fix build error in loose components

* EC-263 - Fix build error on formPromise in user edit

* EC-263 - Fix a11y bindings and modal handling
2022-06-20 10:21:50 -04:00
Oscar Hinton
98152fee54
Add storybook to web (#2926) 2022-06-17 16:23:04 +02:00
Oscar Hinton
19caa7bfe0
Simplify our gitignore files (#2925) 2022-06-17 15:33:51 +02:00
github-actions[bot]
230c5e626c
Autosync the updated translations (#2922)
Co-authored-by: github-actions <>
2022-06-17 09:57:36 +02:00
Thomas Rittson
bd537e2b22
Fix manage sso navigation permissions (#2899) 2022-06-17 09:55:48 +10:00
Jake Fink
ba0e33881f
center hcaptcha in connector and fix formatting on desktop (#2911) 2022-06-16 09:53:18 -04:00
Oscar Hinton
bc639688e8
Use NPM workspace (#2874) 2022-06-14 17:10:53 +02:00
Matt Gibson
c4ff8f99dc
Multi root workspace tweaks (#2858)
* Ignore jest for workspaces without tests (for now)

* Add jest as recommended extension

* Set eslint and prettier file paths

We can't do this on a multi-folder workspace level because the
path depths are not identical between folders

* fix tsconfig extends for

* Simplify bitwarden-licensed web tsconfig

This tsconfig isn't needed to build, since we do that through webpack
and the web client. It's only needed as hints to IDEs

* Remove unintended change

* linter
2022-06-13 21:39:36 -05:00
Thomas Rittson
b92685dcd9
[EC-243] Grant premium status when member accepts org invite (#2870)
* Rename setCanAccessPremium to setHasPremiumPersonally

* Add hasPremiumFromOrganization

* Refactor stateService methods

* Add getHasPremiumPersonally, deprecate tokenService.getPremium
2022-06-14 12:13:41 +10:00
Addison Beck
61769f16c2
[fix] Organization filter list expansion on badge click (#2897)
In the ciphers list we show a badge for organization ownership that can be clicked to filter the vault by the organization in question. This expansion does not work for items labeled "Me". Click these badges filters by "My Vault" but doesn't expand the filter list.

This commit corrects this behavior so the "Me" badges expand the organization filters when clicked. It does so by simply moving the line that checks for filter expansion out of a conditional that expects an organization, and instead does it any time an organization filter is changed.

https://bitwarden.atlassian.net/browse/SG-293?focusedCommentId=13459&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-13459
2022-06-13 14:56:01 -04:00
Federico Maccaroni
c93c6a775d
[PS-589] Added Device Verification section setting for 2FA Email for new device (#2868)
* PS-589 Added Device Verification section for enable/disable the feature of 2FA email on new device login and the api calls for the new endpoint

* PS-589 prettier fix

* PS-589 Fix import typo because of caps

* PS-589 Improved button to use bitButton directive and loading to have the ngIf on the 2fa setup component
2022-06-13 14:13:22 -04:00
Shane Melton
2d72201650
[PS-788] - Item links use cipherId in query string (#2880)
* Replace 'cipherId' query param with 'itemId' for linkable ciphers
2022-06-13 07:14:09 -07:00
Thomas Rittson
3b857345bb
Update README and CONTRIBUTING to point to contributing.bitwarden.com (#2771)
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2022-06-13 17:34:07 +10:00
github-actions[bot]
84666a7a74
Autosync the updated translations (#2891)
Co-authored-by: github-actions <>
2022-06-10 16:12:59 +02:00
github-actions[bot]
e4cdf51a3a
Autosync the updated translations (#2884)
Co-authored-by: github-actions <>
2022-06-10 10:51:29 +02:00
Addison Beck
96bd9784b6
[feat] Allow the org badge click event to expand collapsed vault filters (#2885)
* [feat] Allow the org badge click event to expand collapsed vault filters

* [fix] Restore a blank line
2022-06-09 21:51:46 -04:00
Addison Beck
8d87e32ea2
[fix] Recreate web/1700 (#2863)
This is a 1:1 recreation of https://github.com/bitwarden/web/pulls/1700 for bitwarden/clients
2022-06-10 10:10:58 +10:00
Shane Melton
1a0695d366
[PS-787] Emergency access page UI issues (#2864)
* Add loading spinner to emergency access page

* Update options menu to use new triple-dot menu

* Fix broken save button spinner

* Use bitButton directive

* Prettier fix
2022-06-08 13:17:46 -07:00
Matt Gibson
d5112cc8cb
[PS-616] [PS-795] Fix/withdraw master password reset without user verification (#2845)
* Limit enroll MPR modal to enrolling

* Withdraw from MPR directly from org options

* [PS-795] Fix Automatic mpr enrollment.

Add reset password key to the accept request

* Linter

* Specify params type in accept components
2022-06-08 14:56:26 -05:00
Gbubemi Smith
93e8c8b25a
[PS-250] Prevent timeouts less than 1 minute (#2836)
* migrated PR to mono repo

* revert and modify file

* revert and modify file
2022-06-08 05:41:27 +01:00
github-actions[bot]
d336d4dfa3
Autosync the updated translations (#2855)
Co-authored-by: github-actions <>
2022-06-07 22:28:51 +02:00
Daniel James Smith
834ace4c87
Fix crowdin sync for web (#2853)
* Remove prefixed underscore from crowdin_project_id

* Update crowdin push action
2022-06-07 21:31:53 +02:00
Gbubemi Smith
d542d42637
migrated PR to mono repo (#2837) 2022-06-06 18:08:06 +01:00
Oscar Hinton
da5e4a57d0
Merge pull request #2824 from bitwarden/jslib 2022-06-03 19:40:59 +02:00
Oscar Hinton
5780bf85e7
Add support for migrated jslib (#2826) 2022-06-03 18:01:07 +02:00
Micaiah Martin
c609e8bb8f
Migrate Web workflows from old repo (#2776) 2022-06-03 08:35:46 -06:00
Oscar Hinton
1e7a402b45
Move web issue template (#2815) 2022-06-02 22:48:58 +02:00
Oscar Hinton
4869a231bf
[EC-251] Fix web local development (#2775)
* Wip

* Fix bitwarden licensed web

* Fix template paths

* Cleanup gitattributes git-blame-ignore-revs

* Fix tsconfig, add postcss and tailwind config to bitwarden_license.

* And done
2022-06-02 10:59:43 -05:00
Hinton
b04b8651e8 Fix linter for web 2022-06-02 13:44:03 +02:00
Hinton
2ea7613854 Add missing git submodule 2022-06-02 13:37:22 +02:00
Hinton
02fe715903 Move web to apps/web and bitwarden_license/bit-web 2022-06-02 11:55:37 +02:00