* allow changing of item owner from personal to org
* avoid unecessary api calls when updating item parent
* move comment up a line
* add localData to cipher instance
* [PM-15506] Wire up vNextOrganizationService for libs/common and libs/angular (#12683)
* Wire up vNextOrganizationService in PolicyService
* Wire vNextOrganizationService in SyncService
* wire vNextOrganizationService for EventCollectionService
* wire vNextOrganizationService for KeyConnectorService
* wire up vNextOrganizationService for CipherAuthorizationService
* Wire up vNextOrganizationService in PolicyService
* Wire vNextOrganizationService in SyncService
* wire vNextOrganizationService for EventCollectionService
* wire vNextOrganizationService for KeyConnectorService
* wire up vNextOrganizationService for CipherAuthorizationService
* wire vNextOrganizationService for share.component
* wire vNextOrganizationService for collections.component
* wire vNextOrganizationServcie for add-account-credit-dialog
* wire vNextOrganizationService for vault-filter.service
* fix browser errors for vNextOrganizationService implementation in libs
* fix desktop errors for vNextOrganizationService implementation for libs
* fix linter errors
* fix CLI errors on vNextOrganizationServcie implementations for libs
* [PM-15506] Wire up vNextOrganizationService for web client (#12810)
PR to a feature branch, no need to review until this goes to main.
* implement vNextOrganization service for browser client (#12844)
PR to feature branch, no need for review yet.
* wire vNextOrganizationService for licence and some web router guards
* wire vNextOrganizationService in tests
* remove vNext notation for OrganizationService and related
* Merge branch 'main' into ac/pm-15506-vNextOrganizationService
* fix tsstrict error
* fix test, fix ts strict error
* remove todo
* Retrieve cache cipher for add-edit form
* user prefilled cipher for add-edit form
* add listener for clearing view cache
* clear local cache when clearing global state
* track initial value of cache for down stream logic that should only occur on non-cached values
* add feature flag for edit form persistence
* add tests for cipher form cache service
* fix optional initialValues
* add services to cipher form storybook
* fix strict types
* rename variables to be platform agnostic
* use deconstructed collectionIds variable to avoid them be overwritten
* use the originalCipherView for initial values
* add comment about signal equality
* prevent events from being emitted when adding uris to the existing form
- This stops other values from being overwrote in the initialization process
* add check for cached cipher when adding initial uris
* 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>
* 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
* 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
* [PM-12389] Hide delete button when there is no cipher to delete
* [PM-12389] Ensure decrypted collections and folders are available before building cipher form config
* [PM-12389] Hide the delete button when cloning ciphers
* [PM-12389] Cleanup attachment dialog UI bugs
* [PM-12389] Add formReady event to CipherForm
* [PM-12389] Use ngOnChanges for CipherView component initialization
* [PM-12389] Cleanup web specific services and components
* [PM-12389] Introduce combined Vault Item Dialog component
* [PM-12389] Use the new VaultItemDialog in the Individual Vault
* [PM-12389] Deprecate the AddEditV2 and View dialogs in Web
* [PM-12389] Fix failing test
* [PM-12389] Fix broken imports after move
* [PM-12389] Remove messages.json addition that is taken care of in another PR
* updated cipher service to stop using the deprecated getUserKeyWithLegacySupport and use the version that requires a user id
* Added account service mock
* fixed cipher test
* Fixed test
* removed async from encryptCipher
* updated encryptSharedCipher to pass userId to the encrypt function
* Pass userId to getUserKeyWithLegacySupport on encryptSharedCipher
* pass in userid when setting masterKeyEncryptedUserKey
* Added activer usedId to new web refresh function
* [PM-9959] Expose Fido2SessionData interface
* [PM-9959] Ensure cipherType is passed during passkey creation
* [PM-9959] Add beforeSubmit hook to cipherForm
* [PM-9959] Add support for Fido2 credential creation in add-edit-v2
* [PM-9959] Ensure cipherType defaults to CipherType.Login if none is available
* [PM-9959] Add support for name and username to be passed in as query params for initial form values
* [PM-9962] Hide remove passkey button when cipher has "except passwords" permissions