Commit Graph

1683 Commits

Author SHA1 Message Date
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