* SM-365: Add scaffolding for settings, import, and export components
* SM-365: Build out SM export component and retrieve org name
* Add password verification
* Add SMExportService
* SM-365: Add full export functionality for client side
* SM-365: Add SM Import UI, combine import & export services, general cleanup
* SM-365: Small updates, fix settings navigation for SM
* SM-365: Refactorings based on PR comments, part 1
* SM-365: Refactorings based on PR comments, part 2
* SM-365: remove unneeded import file parsing code
* Attempt New SM Export Auth Flow (#4596)
* Attempt new sm-export auth flow
* Fix component
* SM-365: Add error messaging for failed import
* SM-365: Fix import error dialog
* SM-365: Fix layout of pages, title, and success messaging
* SM-365: Address majority of PR comments, clear import form on success
* SM-365: Refactor error handling, refactor date formatting
* SM-365: Refactored names, logic, added SM porting api service, added needed error checking, etc.
* SM-365: Refactor fileContents to pastedContents to be more clear
* SM-365: Refactoring based on PR comments
* SM-365: Update based on PR comments, refactoring ngOnInit for sm-import
* SM-365: Fix wrong type on choose import file button
* Added comments.
* More comments.
* More function comments.
* Changed comment to add missing words.
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* Added better comment on fill query function.
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* More comments.
* Added additional documentation on viewable and visible
* Undid changes to the logic to avoid any chance of breaking anything.
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* Move auth service factories to Auth team
* Move authentication componenets to Auth team
* Move auth guard services to Auth team
* Move Duo content script to Auth team
* Move auth CLI commands to Auth team
* Move Desktop Account components to Auth Team
* Move Desktop guards to Auth team
* Move two-factor provider images to Auth team
* Move web Accounts components to Auth Team
* Move web settings components to Auth Team
* Move web two factor images to Auth Team
* Fix missed import changes for Auth Team
* Fix Linting errors
* Fix missed CLI imports
* Fix missed Desktop imports
* Revert images move
* Fix missed imports in Web
* Move angular lib components to Auth Team
* Move angular auth guards to Auth team
* Move strategy specs to Auth team
* Update .eslintignore for new paths
* Move lib common abstractions to Auth team
* Move services to Auth team
* Move common lib enums to Auth team
* Move webauthn iframe to Auth team
* Move lib common domain models to Auth team
* Move common lib requests to Auth team
* Move response models to Auth team
* Clean up whitelist
* Move bit web components to Auth team
* Move SSO and SCIM files to Auth team
* Revert move SCIM to Auth team
SCIM belongs to Admin Console team
* Move captcha to Auth team
* Move key connector to Auth team
* Move emergency access to auth team
* Delete extra file
* linter fixes
* Move kdf config to auth team
* Fix whitelist
* Fix duo autoformat
* Complete two factor provider request move
* Fix whitelist names
* Fix login capitalization
* Revert hint dependency reordering
* Revert hint dependency reordering
* Revert hint component
This components is being picked up as a move between clients
* Move web hint component to Auth team
* Move new files to auth team
* Fix desktop build
* Fix browser build
* Initial working multi select
* Create project access selector component
* Refactor to shared components for access policies
* Refactor access policies table
* Initial working create & update access policies
* Add dynamic multi-select + DRY refactor
* FIGMA updates
* Fix table and refactor access-policy service
* Code review updates
* Fix disable/loading logic for selector
* Don't run onchange for creation
* Migrate to new group service
* simplify async action
* Refactor access-policies
Co-authored-by: Will Martin <willmartian@users.noreply.github.com>
* Refactor access-selector
* Add using potential grantee endpoints.
* refactor to use observables
* combine access-selector and access-policies component
* lift dynamic i18n out of template
* use strict equality
* fix multiselect refresh
* change grantees to function
* Fix multiple HTTP calls
* don't broadcast on AP update
* Code review updates
* Use refactored potential-grantees endpoint
* potential grantees refactor v2
---------
Co-authored-by: Will Martin <willmartian@users.noreply.github.com>
Co-authored-by: William Martin <contact@willmartian.com>
* [EC-667] feat: scaffold new select component
* [EC-667] feat: sort of working implementation
* [EC-667] feat: support for using in forms
* [EC-667] feat: add bit-select example to full form
* [EC-667] fix: broken aria label connetion
* [EC-667] fix: web not building
* [EC-667] fix: dropdown getting trapped in dialog
* [EC-667] fix: select not emitting correct value
* [EC-667] feat: add collection icon to options
* [EC-667] feat: add default select placeholder translation
* [EC-667] fix: undefined handling
* [EC-667] fix: value vs options race condition
* [EC-667] feat: remove x and add "no collection" option
* [EC-667] chore: add country list disclaimer
* chore: clean up comments
* [EC-667] chore: cleanup commented import
* [EC-667] fix: input text color not applying to single-select
The people component was updated to use the new PolicyService observable. However that broke compatibility with providers which need to manually fetch org info for their clients.
* [EC-1040] update new button styles
* [EC-1040] override add/edit modal title in web
* [EC-1040] add comment about removing when all clients are updated
* [EC-886] Fix i18n key in vault filter section
* [EC-886] Add shared functionality to vault-filter model
Common patterns for determining the current filter status are used in the vault header, filter, and items components that could be extracted to the filter model to be consistent and less repetitive.
* [EC-886] Add the individual vault header component
Create a vault header component for encapsulation and to reduce the complexity of the vault component.
* [EC-886] Add the organizational vault header component
Create a vault header component for encapsulation and to reduce the complexity of the organizational vault component.
* [EC-886] Use the new vault header component in the individual vault
- Remove the old header template from the vault component and introduce the <app-vault-header> component instead.
- Remove redundant logic from vault component that was moved to the header component and/or vault filter model.
* [EC-886] Use the new vault header component in the organization vault
- Remove the old header template from the org vault component and introduce the <app-org-vault-header> component instead.
- Remove redundant logic from vault component that was moved to the header component and/or vault filter model.
* [EC-886] Adjust vault header to make the word "vault" lowercase
* [EC-886] Top align vault header to prevent button jumping
* [EC-886] Center align collection icon/button with header text
This reduces the noise in the app.modules where the angular locales are loaded.
Simplifies extending with new locales as all of them can be found in the same place under the same file-name
This has previously also been done in the web client
* [EC-816] Separate cloud and selfhosted subscription components (#4383)
* [EC-636] Add license sync to web vault (#4441)
* [EC-1036] Show correct last license sync date (#4558)
* [EC-1044] Fix: accidentally changed shared i18n string
* Split folder service back/foreground
Also splits for folderApiService, since that depends on folderService.
TODO: this split will need to be done for any dependents of a split
service.
* Prefer popup-specific services VaultFilterService
* Prefer popup-specific services i18n
* Prefer popup-specific services configService
* StateService is required for browserSync
* Add Policy Api Service
* Remove unused orgService from PolicyApiService
* Fixup missed dependency
* Attach cryptography services in popup context
* Improve session syncer initialization
* Extract import methods from ApiService
Removed methods from ApiService impl and abstraction
Create import-api.service impl and abstraction
Moved import.service into abstractions/import/import.service.abstraction
Moved import.service into services/import/import.service
Change imports to use new services
* Fix import for tests
* Fix imports for CLI
* Fix imports for web
* Fix ModuleImports and dependencies
* Mark ImportApiService methods as async
* Add psono json importer
Create types for psono export format
Add test files
Write tests for psono-json-importer
Write importer for psono export
Register 'psonojson' with `importOptions`
Import/register psono-json-importer with import.service
Add instructions on how to export from Psono
* Retain all imported data
Ensure all data is retained by adding unmapped properties into custom fields
Each item type has a set of mapped properties, anything not matching will be created as a custom field
Write extensive tests to ensure data is present
* Skipping GPG
We currently cannot import GPG Keys into notes or custom fields
* Add organizational test
Verify that folders get converted to collections when imported by an org
* Remove combined test-file (whole export)
* Remove redundant null type
* pkg ref argon2
* add argon to cli package.json
* argon2 assets
* ci matrix for cli
* simplify builds for testing
* fix env
* zip for each os
* add os prefix back to zip
* create checksums
* make sums 256
* fix shasum command
* combine some steps for unix
* LOWER_RUNNER_OS
* SHORT_RUNNER_OS
* SHORT_RUNNER_OS on dist
* upload unix assets
* restore old build files
* fix formatting
* fix zip folder structure
* fix condition on upload unix zip asset
* compute shasum like other parts of build
* change matrix os targets
* Fix storage reseed on logout
The check for the set vault-timeout needs to happen before all cleaning stateService
Remove check inside of reseedStorage as happens outside prior to calling it (logout/settings.component)
* Remove old limitation to only run on certain browsers
Execute on all browsers besides Safari as it does not support chrome.storage.local.get with an empty key
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/get
* Revert "Remove old limitation to only run on certain browsers"
This reverts commit d7f71aa0b6.
* Created low kdf component
* added low kdf transalation message
* Registered commponent
* Referenced low kdf child compoenent to vault
* Added showLowKdf variable to determine if card should be shown
* Removed test flag
* Updated renamed enum
* Capitalized kdf text
* [EC-1016] add validation to collection dialog
* [EC-1017] add validation to members dialog
* [EC-1017] remove unused imports from members tab
* [EC-1017] move validator out of shared module
* [EC-1018] add validation to group modal
* [EC-639] Replacing single quote char for email values in Policies API request
* [EC-639] Added Utils.encodeRFC3986URIComponent and used in PolicyApiService and TwoFactorAuthenticatorComponent
* [EC-639] Added unit tests for Utils.encodeRFC3986URIComponent
* SG-878 - First draft - Dialog service now has backwards compatible method for opening a configurable simple dialog.
* SG-878 - People comp - test cases for simple dialog method - more testing required
* SG-878 - Much more simple dialog work - investigating different approaches to see what will work best. Lots of WIP on this one. Includes first draft but working solution for solving placeholder support for non-localized strings.
* SG-878 - (1) Broke out enums and types into separate files for better single responsibility (2) Allow null cancelButtonText for single accept button support
* SG-878 - Configurable simple dialog - removed separate comp approach as it is a maint problem to have simple dialog implemented in two places.
* SG-878 - Added js doc comments for dialog service openSimpleDialog method
* SG-878 - Don't export ConfigurableSimpleDialogComp as only dialogService should use it
* SG-878 - (1) Refactor configurable simple dialog to reduce icon class repetition in html (2) Update simple dialog options to use new Translation interface and update comp to properly process placeholders again
* SG-878 - Reverting all simple dialog changes as, per discussion with Oscar, going to use composition and go with configurable-simple-dialog comp for use in the dialog service
* SG-878 - Testing latest simple dialog changes
* SG-878 - Update simple-dialog-options
* SG-878 - (1) People & collections component now use dialogService.openSimpleDialog vs custom org upgrade dialog comp (2) Rename configurable-simple-dialog to simple-configurable-dialog for better folder placement
* SG-878 - Update formatting of Simple dialog options js doc comments
* SG-878 - Remove test code
* SG-878 -Remove org upgrade dialog component as it has been replaced with dialog service openSimpleDialog method call
* SG-878 - Move models to be near where they are used which is in the simple-configurable-dialog folder.
* SG-878 - Refactor icon classes into simple getter per Oscar's suggestions
* SG-878 - Refactor Translation placeholderValues to be just placeholders
* SG-878 - Refactor Simple Dialog Options to remove isLocalized as it doesn't buy us that much to have it. We can just check if a passed in value is a string or a Translation object to determine if we need to translate it.
* SG-878 - Dialog Svc - remove backdrop classes from openSimpleDialog method as standard open method applies them
* SG-878 - (1) Refactor simple configurable dialog to use comp properties instead of re-using option props (2) Reduce html complexity (3) Create translate func for code simplification (4) Remove isTranslation type guard as simple object check is sufficient
* SG-668 - Refactoring collections & people comps use of dialog service openSimpleDialog to condense options per PR feedback
* SG-878 - SimpleConfigDialog - (1) Footer classes were missing so btns were not spaced out properly (2) cancel btn text fixed to reference component property
* SG-878 - First pass at creating a storybook example for the new openSimpleDialog method on the dialogService.
* SG-878 - SimpleConfigurableDialog storybook - now displays callout with dialog results for better example
* SG-878 - SimpleConfigurableDialog - use text-main tailwind class for h2s so that text is colored properly on black background
* SG-878 - SimpleConfigurableDialog - Remove unstyled buttons and colored text and replace with plain secondary buttons to fix visibility issues on dark background.
* Update libs/components/src/dialog/simple-configurable-dialog/models/simple-dialog-type.enum.ts
SG-878 - Remove early commentary about use of simple-dialog-type enum
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Update libs/components/src/dialog/simple-configurable-dialog/simple-configurable-dialog.component.html
SG-878 - SimpleConfigurableDialog html - consolidate title html to 1 line
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Update libs/components/src/dialog/simple-configurable-dialog/simple-configurable-dialog.component.ts
SG-878 - SimpleConfigurableDialog comp ts - remove unnecessary comment.
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Update libs/components/src/dialog/simple-configurable-dialog/simple-configurable-dialog.service.stories.ts
SG-878 - SimpleConfigDialog storybook fixes
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Update libs/components/src/dialog/simple-configurable-dialog/simple-configurable-dialog.service.stories.ts
SG-878 - SimpleConfigDialog storybook fixes
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Update libs/components/src/dialog/simple-configurable-dialog/simple-configurable-dialog.component.ts
SG-878 - SimpleConfigDialog comp - remove unnecessary comment
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* SG-668 / SG-878 - Migrate Free Org Upgrade Flows logic from deprecated collections component to vault component
* SG-878 - Refactor the free org upgrade dialog to leverage separate methods to improve code and decrease cyclomatic complexity
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* work: add base logic for password lookup
* work: added browser support for hibp
* work: SG-558 combine weak + leak warning
* fix: language stuff
* fix: form values are neater tho :(
* fix: no cast
* SM-456 fix sentence casing
Correct sentence case errors in various messages
* Update navigation.component.html
* Menu item
Remove duplicate "new" created by merge of OAVR branch, localize entire nav menu
* running prettier
Co-authored-by: CarleyDiaz-Bitwarden <cdiaz@bitwarden.com>
* fix: adjusted color source priority to deprio ids
* fix: CAPS LOCK ON
* undo: lets not touch base components :)
* fix: don't use id since orgs rely on names