* ensure that getWarnings from server is not called for selfhost
* Refactor the code
* move the selfhost check to getWarning message
* Fix the failing test
* WIP: added new services, refactor members to use billing service and member action service
* replace dialog logic and user logic with service implementations
* WIP
* wip add tests
* add tests, continue refactoring
* clean up
* move BillingConstraintService to billing ownership
* fix import
* fix seat count not updating if feature flag is disabled
* refactor billingMetadata, clean up
* move change-kdf into KM ownership
* Change kdf component update for Forced KDF update
* correct validators load on init
* incorrect feature flag observable check
* unit test coverage
* unit test coverage
* remove Close button, wrong icon
* change to `pm-23995-no-logout-on-kdf-change` feature flag
* updated unit tests
* revert bad merge
Signed-off-by: Maciej Zieniuk <mzieniuk@bitwarden.com>
* updated wording, TS strict enabled, use form controls, updated tests
* use localisation for button label
* small margin in confirmation dialog
* simpler I18nService mock
---------
Signed-off-by: Maciej Zieniuk <mzieniuk@bitwarden.com>
* Remove legacy provider files
* Removing index files to make file re-org easier
* Move manage-clients.component and associated API invocation to AC
* Move add-existing-organization-dialog.component to AC
* Move manage-client-name-dialog.component and associated API call to AC
* Move misc clients files to AC
* Move create-client-dialog.component and associated API call to AC
* Move manage-client-subscription-dialog.component to AC
* Update provider-layout.component
* Cleanup
* Fix linting
* [PM-24032] upgrade nav button post-upgrade action
* fixing broken stories
* added component tests
* new behavior for the nav button when self hosted
* fix stories
* [PM-27024] Fix password change progress card to track only critical apps and detect new at-risk passwords
- Filter at-risk password count to critical applications only
- Update state logic to transition back to assign tasks when new at-risk passwords detected
- Only create security tasks for critical applications with at-risk passwords
- Show 'X new passwords at-risk' message when tasks exist and new at-risk passwords appear
* spec
* Added right click functionality on cipher row
* Updated menu directive to position menu option on mouse event location
* Updated menu directive to reopen menu option on new mouse event location and close previously opened menu-option
* removed preventdefault call
* Added new events for favorite and edit cipher
* Added new menu options favorite, edit cipher
Added new copy options for the other cipher types
Simplified the copy by using the copy cipher field directive
* Listen to new events
* Refactored parameter to be MouseEvent
* Added locales
* Remove the backdrop from `MenuTriggerForDirective`
* Handle the Angular overlay's outside pointer events
* Cleaned up cipher row component as copy functions and disable menu functions would not be needed anymore
* Fixed bug with right clicking on a row
* Add right click to collections
* Disable backdrop on right click
* Fixed bug where dvivided didn't show for secure notes
* Added comments to enable to disable context menu
* Removed conditionals
* Removed preferences setting to enable to disable setting
* Removed setting from right click listener
* improve context menu positioning to prevent viewport clipping
* Keep icon consisten when favorite or not
* fixed prettier issues
* removed duplicate translation keys
* Fix favorite status not persisting by toggling in handleFavoriteEvent
* Addressed claude comments
* Added comment to variable
---------
Co-authored-by: Addison Beck <github@addisonbeck.com>
With the introduction of the ImportMetadataService for all import component, the DI setup was missing for th org-import.component
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Verify route and input to be a valid organizationId
* Optimize canImport check
Instead of loading the user and organization again, used the previously loaded organization and check the permission directly
* Reset organization in case organizationId is set to undefined
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Add importer metadata to native code
* Impl napi code in ts
* Impl napi code in ts
* Fix clippy
* Fix clippy
* remove ts util tests
* Check for installed browsers
* PR fixes
* test fix
* fix clippy
* fix tests
* Bug fix
* clippy fix
* Correct tests
* fix clippy
* fix clippy
* Correct tests
* Correct tests
* [PM-25521] Wire up loading metadata on desktop (#16813)
* Initial commit
* Fix issues regarding now unused feature flag
* Fixed ts-strict issues
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: adudek-bw <adudek@bitwarden.com>
* Remove logic to skip Brave as that now happens via the native code
* Define default capabilities which can be overwritten by specifc client/platform
* Fix DI issues
* Do not overwrite existing importers, just add new ones or update existing ones
* feat: [PM-25521] return metadata directly (not as JSON) (#16882)
* feat: return metadata directly (not as JSON)
* Fix broken builds
Move getMetaData into chromium_importer
Remove chromium_importer_metadata and any related service
Parse object from native instead of json
* Run cargo fmt
* Fix cargo dependency sort order
* Use exposed type from NAPI instead of redefining it.
* Run cargo fmt
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Only enable chromium loader for installed and supported browsers
---------
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
* fix: always try to register clearOn events
`registerEvents` already checks for existing registered events so there is no
need to have a pre-check in `doStorageSave`. It causes issues because the
`newState` and `oldState` parameters come from the custom deserializer which
might never return `null` (e.g. transforming `null` to some default value).
Better to just use the list of registered events as a source of truth.
A performance check shows that most calls would only save a couple of
milliseconds (ranges from 0.8 ms to 18 ms) and the total amount of time
saved from application startup, to unlock, to showing the vault is about 100 ms.
I haven't been able to perceive the change.
* Revert "feat: add folder.clear warning (#16376)"
This reverts commit a2e36c4489.
* fix(auth-tech-debt): [PM-24103] Remove Get User Key to UserKey$ - Fixed and updated tests.
* fix(auth-tech-debt): [PM-24103] Remove Get User Key to UserKey$ - Fixed test variable being made more vague.
* Add initial changes for thenew premium design
* Add the messages
* Add the new dialog modal
* Resolve the flag issue
* Added changes for redirect
* Fix the unitest errors
* Resolve the badge issue
* refactor the code base pr comments
* archive and unarchive an individual item
* bulk archive and unachive
* updates to text strings for archive empty state and tooltips
* update translation keys to have an archive verb and noun differentiation
* if premium member loses premium and has archive items. apply filter changes, and item more option changes
* updating unArchive text
* unarchive an archived item on edit if user loses premium
* updates for unarchive btn, refactor archive flag for less churn
* add services to cipher form stories
* add refresh to archive calls in vault, update bulk archive copy
* Do not show archive ability for deleted items
* add archive check for login menu actions
* remove assign to collections for archive filter
* update bulk success message
* add error handling for archive methods
* fix null reference check
* add unarchive icon
---------
Co-authored-by: Nick Krantz <nick@livefront.com>
* feat(two-factor-api-service) [PM-26465]: Add TwoFactorApiServiceAbstraction.
* feat(two-factor-api-service) [PM-26465]: Add TwoFactorApiService implementation.
* feat(two-factor-api-service) [PM-26465]: Add test suite for TwoFactorApiService.
* feat(two-factor-api-service) [PM-26465]: Replace ApiService dependencies with TwoFactorApiService for all refactored methods.
* feat(two-factor-api-service) [PM-26465]: Finish removal of Two-Factor API methods from ApiService.
* fix(two-factor-api-service) [PM-26465]: Correct endpoint spelling.
* feat(two-factor-api-service) [PM-26465]: Update dependency support for CLI.
* fix(two-factor-api-service) [PM-26465]: Update tests/deps for corrected spelling.
* feat(two-factor-api-service) [PM-26465]: Add TwoFactorApiService to Browser services module.
* fix(two-factor-api-service) [PM-26465]: Re-spell dependencies to take *Abstraction throughout, move to JslibServices module for cleaner importing across clients.
* feat(two-factor-api-service) [PM-26465]: Move new services to a feature area, rename abstract and concrete/default.
* feat(two-factor-api-service) [PM-26465]: Move the feature area to common/auth, not auth/common.
* feat(two-factor-api-service) [PM-26465]: Remove now-unneeded include from auth/tsconfig.
* Code to hide and show the premium banner
* add the right flag name
* Removed unused flag
* Remove the unused feature flag
* Resolve the flag name issue
* removing unused properties from org metadata
* removing further properties from the response and replacing them with data already available
* [PM-25379] new org metadata service for new endpoint
* don't need strict ignore
* forgot unit tests
* added cache busting to metadata service
not used yet - waiting for a decision on moving a portion of this to AC