* Migrated banner service from using active user state
* Fixed unit tests for the vault banner service
* Updated component to pass user id required by the banner service
* Updated component tests
* Added comments
* Fixed unit tests
* Updated vault banner service to use lastSync$ version and removed polling
* Updated to use UserDecryptionOptions
* Updated to use getKdfConfig$
* Updated shouldShowVerifyEmailBanner to use account observable
* Added takewhile operator to only make calls when userId is present
* Simplified to use sing userId
* Simplified to use sing userId
* [PM-16098] Add decryptionFailure flag to CipherView
* [PM-16098] Add failedToDecryptCiphers$ observable to CipherService
* [PM-16098] Introduce decryption-failure-dialog.component
* [PM-16098] Disable cipher rows for the Web Vault
* [PM-16098] Show decryption error dialog on vault load or when attempting to view/edit a corrupted cipher
* [PM-16098] Browser - Show decryption error dialog on vault load or when attempting to view/edit a corrupted cipher
* [PM-16098] Desktop - Show decryption error dialog on vault load or when attempting to view a corrupted cipher. Remove edit/clone context menu options and footer actions.
* [PM-16098] Add CS link to decryption failure dialog
* [PM-16098] Return cipherViews and move filtering of isDeleted to consumers
* [PM-16098] Throw an error when retrieving cipher data for key rotation when a decryption failure is present
* [PM-16098] Properly filter out deleted, corrupted ciphers when showing dialog within the Vault
* [PM-16098] Show the decryption error dialog when attempting to view a cipher in trash and disable the restore option
* [PM-16098] Exclude failed to decrypt ciphers from getAllDecrypted method and cipherViews$ observable
* [PM-16098] Avoid re-sorting remainingCiphers$ as it was redundant
* [PM-16098] Update tests
* [PM-16098] Prevent opening view dialog in AC for corrupted ciphers
* [PM-16098] Remove withLatestFrom operator that was causing race conditions when navigating away from the individual vault
* [PM-16098] Ensure decryption error dialog is only shown once on Desktop when switching accounts
* Migrated folder service from using active user state to single user state
Added extra test cases for encrypted folder and decrypted folders
Updated derived state to use decrypt with key
* Update callers in the web
* Update callers in the browser
* Update callers in libs
* Update callers in cli
* Fixed test
* Fixed folder state test
* Fixed test
* removed duplicate activeUserId
* Added takewhile operator to only make calls when userId is present
* Simplified to accept a single user id instead of an observable
* Required userid to be passed from notification service
* [PM-15635] Folders not working on desktop (#12333)
* Added folders memory state definition
* added decrypted folders state
* Refactored service to remove derived state
* removed combinedstate and added clear decrypted folders to methods
* Fixed test
* Fixed issue with editing folder on the desktop app
* Fixed test
* Changed state name
* fixed ts strict issue
* fixed ts strict issue
* fixed ts strict issue
* removed unnecessasry null encrypteed folder check
* Handle null folderdata
* [PM-16197] "Items with No Folder" shows as a folder to edit name and delete (#12470)
* Force redcryption anytime encryption state changes
* Fixed text file
* revert changes
* create new object with nofolder instead of modifying exisiting object
* Fixed failing test
* switched to use memory-large-object
* Fixed ts sctrict issue
---------
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
* Changes for the reseller alert
* Resolve the null error
* Refactor the reseller service
* Fix the a failing test due to null date
* Fix the No overload matches error
* Resolve the null error
* Resolve the null error
* Resolve the null error
* Change the date format
* Remove unwanted comment
* Refactor changes
* Add the feature flag
* Remove lowercasing of View page headers
* Remove lowercasing of Add/edit page headers
* Remove lowercasing of Web ViewAdd/edit page headers
* Fix tests
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* force viewOnly to be true for emergency access
* add input to hide password history, applicable when the view is used from emergency view
* add extension refresh version of the emergency view dialog
* allow emergency access to view password history
- `ViewPasswordHistoryService` accepts a cipher id or CipherView. When a CipherView is included, the history component no longer has to fetch the cipher.
* remove unused comments
* Add fixme comment for removing non-extension refresh code
* refactor password history component to accept a full cipher view
- Remove the option to pass in only an id
* Use typescript-strict-plugin to iteratively turn on strict
* Add strict testing to pipeline
Can be executed locally through either `npm run test:types` for full type checking including spec files, or `npx tsc-strict` for only tsconfig.json included files.
* turn on strict for scripts directory
* Use plugin for all tsconfigs in monorepo
vscode is capable of executing tsc with plugins, but uses the most relevant tsconfig to do so. If the plugin is not a part of that config, it is skipped and developers get no feedback of strict compile time issues. These updates remedy that at the cost of slightly more complex removal of the plugin when the time comes.
* remove plugin from configs that extend one that already has it
* Update workspace settings to honor strict plugin
* Apply strict-plugin to native message test runner
* Update vscode workspace to use root tsc version
* `./node_modules/.bin/update-strict-comments` 🤖
This is a one-time operation. All future files should adhere to strict type checking.
* Add fixme to `ts-strict-ignore` comments
* `update-strict-comments` 🤖
repeated for new merge files
* [PM-15559] Update admin dialog flows to first try the local state before using the API when not required
* [PM-15559] Clear initial values after creating a new cipher so that they do not override the newly created cipher for subsequent edits
* [CL-245] Update palette to new light and dark theme colors (#8633)
* [CL-245] Add new color swatches to storybook (#8697)
* [CL-238] update typography (#8997)
* [CL-230] [CL-296] Update button styles (#9345)
* [CL-237] Update menu styles for extension refresh (#9525)
* [CL-267] Add 100-level color variants and update primary-600 (#9550)
* [CL-286] Update badge to use focus-visible instead of focus (#9551)
* [CL-250] Update badge styles for extension refresh (#9572)
* [CL-234] callout style refresh (#9920)
* [CL-233] Update form field styles (#9776)
* [CL-239][CL-251][CL-342] dialog style refresh (#10096)
* [CL-239] simple dialog style refresh
* [CL-342] fix text overflow in dialog; add story
* [CL-244] readonly fields (#10164)
* [CL-352] Fix Angular errors related to form element changes (#10211)
* [CL-273] Update styles for checkbox and form control (#10146)
* [CL-274] Update styling for radio button (#10333)
* [CL-338] Remove extra space in item content when end slot is empty (#10350)
* [CL-377] Fix extension style conflict for input background (#10351)
* [CL-271] Update styles for toggle (#10377)
* [CL-381] Update spacing around form elements (#10432)
* [CL-229] Update icon button styles (#10405)
* [CL-380] Remove hover state from disabled form fields (#10639)
* [CL-405] Allow toggle group input to be full width (#10658)
* [CL-389] Exclude end slot label content from truncation (#10508)
* [CL-383] Remove manual focus when password toggle is clicked (#10749)
* [CL-278][CL-391] misc bit-item style fixes (#10758)
* [CL-391] use pointer cursor on hover when link or button
* [CL-210] Change base font size from 14px to 16px (#10779)
* [CL-291] Finalize styling for chip select (#10771)
* [CL-257] update banner component styles (#10766)
* [CL-443] Fix sizing issues (#10893)
* [CL-445] Fix small sizing and spacing issues (#10962)
* [CL-382] Reduce element shifting on readonly hover (#10956)
* [CL-396] Update theme colors to new hexes (#10968)
* [CL-395] Remove text headers color (#10997)
* [CL-404] Switch to primary-600 for all focus indicators (#11015)
* [CL-397] Remove primary-500 (#11036)
* [CL-447] Ensure DM Sans displays correctly at all font weights (#11041)
* [CL-448] Scrollbar Styles (#11111)
* CL-252/update toast (#10996)
* [CL-275] Update link styles (#11174)
* [CL-446] Update hover state for unselected chip selects (#11172)
* [CL-454] Improve color a11y for toast and banner interactive elements (#11200)
* [CL-457] Center input text for select and multiselect (#11239)
* [CL-455] Do not use responsive margin for sections in dialogs or extension (#11243)
* [CL-459] Fix chip behavior when opening menu while item is selected (#11227)
* [CL-388] Update vertical nav colors for new palette (#11226)
* scope styled scrollbar to only select elements (#11247)
* edit radio buttons to be block inputs and update spacing (#11291)
* [CL-453] Fix multiselect chip spacing and truncation (#11300)
* [PM-11131] Prevent duplicated sr labels on form field icon buttons (#11383)
* [CL-303] Prevent chip menu from running offscreen (#11348)
* [CL-476] Fix DM Sans font on Windows (#11409)
* implements scrollbar styles for firefox/chrome and safari (#11447)
* [CL-472] Fix search background color in extension (#11466)
* [CL-481] Style updates for bit-item, bit-card, and primary-100 (#11473)
* [CL-478] Remove underline on hover for most components (#11477)
* [CL-477] Remove focus styles for readonly input (#11510)
* [CL-487] Fix vault items virtual scroll height (#11581)
* [PM-8625] Increase popup width (#11686)
* [CL-494] Wrap long words in toggle group (#11659)
* [CL-13820] Add class to remove link underline (#11762)
* [CL-435] Prevent Windows extension from shifting (#11851)
* [CL-503] Add notification color variables (#11802)
* [PM-14043] Update size of toggle group label to fit more content (#11881)
* [CL-498] Set chip menu width minimum to chip select width (#11905)
---------
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: Merissa Weinstein <merissa.k.weinstein@gmail.com>
Co-authored-by: Danielle Flinn <43477473+danielleflinn@users.noreply.github.com>
* Renamed group service to group api service
* Updating models in various components.
* Updating internal service name. clean up.
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
* Initial comment
* Add changes for the create org with payment method
* Add the secrets manager trail flow
* Add the banners
* Add changes for the Disabled Org
* Add banner to payment method page
* Refactoring changes
* Resolve the bug on tha payment method
* Resolve lint error
* Resolve Pr comments
* resolve the lint issue
* Resolve the lint wrong file issue
* Rename object properly
* Resolve pr comments from sm team
* Resolve the pr comments from sm team
* Fix the failing test
* Resolve some issue with vault
* Resolve the comments from sm team
* Resolve some pr comments from vault team
* Resolve pr comments from auth team
* Exported ValidOrgParams enum
* Removed unnecessary interpolation
* Corrected bit-banner id for trial
* Resolve pr comments from auth team
* Resolve pr comments from auth team
* Removed unnecessary method
* Made OrganizationCreateRequest a subtype of OrganizationNoPaymentMethodCreateRequest
* Resolve review changes from sm
* Resolve review changes from dm
* Resolve the pr comments from billing
* move the free-trial to core
* Move free-trial change to right file
* Revert changes on the free trial page
* Resolve the comment on protected trial page
* Resolve the comment on protected trial page
* Revert the next async change
* resolve pr comment fro vault team
* resolve the default message comments
* remove unused method
* resolve email sending issue
* Fix the pop issue on payment method
* Fix some console errors
* Fix the pop refresh page
* move the trial services to billing folder
* resolve pr comments
* Resolve the import issues
* Move the observable up
* Resolve blank payment method for trialing org
* Changes to disable icon is removed onsubmit
* Remove unused references
* add a missing a period at the end of it
* resolve the reload issue
* Resolve the disable icon issue
* Fix the admin access bug
* Resolve the lint issue
* Fix the message incorrect format
* Formatting fixed
* Resolve the access issue of other users role
* allow admin console to see all collections when viewing a cipher
- When "manage all" option is selected all collections should be editable
* update cipher form service to use admin endpoints
* when saving a cipher, choose to move to collections first before saving any other edits
- This handles the case where a cipher is moving from unassigned to assigned and needs to have a collection to save any other edits
* set admin flag when the original cipher has zero collections
- handling the case where the user un-assigns themselves from a cipher
* add check for the users ability to edit items within the collection
* save cipher edit first to handle when the user unassigns themselves from the cipher
* update filter order of collections
* use cipher returned from the collections endpoint rather than re-fetching it
* fix unit tests by adding canEditItems
* re-enable collection control when orgId is present
* fetch the updated cipher from the respective service for editing a cipher
* Added sorting to vault, name, permission and group
Added default sorting
* Fixed import
* reverted test on template
* Only add sorting functionality to admin console
* changed code order
* Fixed leftover test for sortingn
* Fixed reference
* sort permissions by ascending order
* Fixed bug where a collection had multiple groups and sorting alphbatically didn't happen correctly all the time
* Fixed bug whne creating a new cipher item
* Introduced fnFactory to create a sort function with direction provided
* Used new sort function to make collections always remain at the top and ciphers below
* extracted logic to always sort collections at the top
Added similar sorting to sortBygroup
* removed org vault check
* remove unused service
* Sort only collections
* Got rid of sortFn factory in favour of passing the direction as an optional parameter
* Removed tenary
* get cipher permissions
* Use all collections to filter collection ids
* Fixed ascending and descending issues
* Added functionality to default sort in descending order
* default sort permissions in descending order
* Refactored setActive to not pass direction as a paramater
* Revert "remove logic for personal ownership, not needed in AC"
This reverts commit f04fef59f4.
* allow for ownership to be controlled from the admin console when cloning a cipher
* Removing feature flag
* Removing flag from feature-flag.enum.ts
* suggested changes
* prettier
* fixing merge conflict issue
* Removing unused code
* suggested change from Gbubemi
* Adding back merge conflict code
* fixing prettier styling
* Deprecating collections component, removing unused code now that we dont use collections component in AC
* Removing all Collections component logic from loos-components module and removing the files themselves as they are no longer needed.
* [PM-13892] Introduce canClone$ method on CipherAuthorizationService
* [PM-13892] Use new canClone$ method for the 3dot menu in browser extension
* [PM-13892] Add todo for vault-items.component.ts
* web - hide assign to collections button when the user has no organizations
* browser - hide assign to collections button when the user has no organizations
* hide assign to collections in the bulk edit menu when the user doesn't belong to an organization
* Added inputs to the view and edit component to disable or remove the delete button when a user does not have manage rights
* Refactored editByCipherId to receive cipherview object
* Fixed issue where adding an item on the individual vault throws a null reference
* Fixed issue where adding an item on the AC vault throws a null reference
* Allow delete in unassigned collection
* created reusable service to check if a user has delete permission on an item
* Registered service
* Used authorizationservice on the browser and desktop
Only display the delete button when a user has delete permission
* Added comments to the service
* Passed active collectionId to add edit component
renamed constructor parameter
* restored input property used by the web
* Fixed dependency issue
* Fixed dependency issue
* Fixed dependency issue
* Modified service to cater for org vault
* Updated to include new dependency
* Updated components to use the observable
* Added check on the cli to know if user has rights to delete an item
* Renamed abstraction and renamed implementation to include Default
Fixed permission issues
* Fixed test to reflect changes in implementation
* Modified base classes to use new naming
Passed new parameters for the canDeleteCipher
* Modified base classes to use new naming
Made changes from base class
* Desktop changes
Updated reference naming
* cli changes
Updated reference naming
Passed new parameters for the canDeleteCipher$
* Updated references
* browser changes
Updated reference naming
Passed new parameters for the canDeleteCipher$
* Modified cipher form dialog to take in active collection id
used canDeleteCipher$ on the vault item dialog to disable the delete button when user does not have the required permissions
* Fix number of arguments issue
* Added active collection id
* Updated canDeleteCipher$ arguments
* Updated to pass the cipher object
* Fixed up refrences and comments
* Updated dependency
* updated check to canEditUnassignedCiphers
* Fixed unit tests
* Removed activeCollectionId from cipher form
* Fixed issue where bulk delete option shows for can edit users
* Fix null reference when checking if a cipher belongs to the unassigned collection
* Fixed bug where allowedCollection passed is undefined
* Modified cipher by adding a isAdminConsoleAction argument to tell when a reuqest comes from the admin console
* Passed isAdminConsoleAction as true when request is from the admin console
* add password history view component in vault lib
* integrate PasswordHistoryView into individual vault
* add password history v2 to browser extension
* update color of password history link
* add check for `cipherId` before rendering password history