* add constraint support to UserStateSubject
* add dynamic constraints
* implement password policy constraints
* replace policy evaluator with constraints in credential generation service
* add cascade between minNumber and minSpecial
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
* Added skipLocationChange while navigating to the view cipher to prevent pushing view cipher route to state
* Fix navigation bug after restore or delete
* Simplified to just use popupRouterCacheService.back
* [PM-281] Visual distinction required for login page links
* add bitLink to report links
* add bitLink to billing history
* [PM-281] Adding more references to bitLink and incorporating changes to aria labels for a variety of buttons
* Added editItemWithName to announce links within reports even better
---------
Co-authored-by: Vicki League <vleague@bitwarden.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-11343] Add param to conditionally disable the edit button
* [PM-11343] Cleanup router navigation and move query param handling to callers of the View dialog
* [PM-11343] Fix failing test
* [PM-11343] Fix missing router after merge
* [PM-11343] Add null checks in case the dialog result is undefined (due to closing via the ESC key)
* [PM-11343] Add support to provide a list of collections to the cipher view component
* [PM-11343] Add collections as an optional view cipher dialog parameter
* [PM-11343] Update the org vault to provide collections when opening the View cipher dialog
* [PM-11343] Fix import
* [PM-11343] Use [replaceUrl] for cipher items to avoid needing double back button
* remove nord and solarized dark from AppearanceV2 component
- This component already behind the extension refresh feature flag
* update the users theme to system when nord or solarized dark is selected
* For desktop, still allow all theme types by overriding the default theme service.
* change theme on the fly rather than updating local state.
- When the feature flag is removed then a migration will have to take place
* [deps] Tools: Update electron to v32.1.1
* Bump version in electron-builder.json
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Add MessagingService to LoginCredentialView component.
* Add comments.
* Add WIP PremiumUpgradeService
* Simplify web PremiumUpgradeServices into one service.
* Relocate service files.
* Add browser version of PremiumUpgradePromptService.
* Cleanup debug comments.
* Run prettier.
* rework promptForPremium to take organization id and add test.
* Add test for browser
* Rework imports to fix linter errors.
* Add Shane's reworked WebVaultPremiumUpgradePromptService.
* Add sorting to exposed passwords report
- Create new type to represent a row within the report
- Add types and remove usage of any
- Include the exposed number of times within the data passed to the datasource/table instead of looking it up via the `exposedPasswordMap`
- Enable sorting via bitSortable
- Set default sort to order by exposed number of times in descending order
* Show headers and sort also within AC version of exposed-passwords report but hide the Owner column
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Resolve the discount issues
* Resolve the payment cvv alignment
* Resolve the wrong message for secrets manager
* Remove unused commented code
* resolve the display message bug on sm flow
* Temporary local changes not meant to be merged
* WIP - send text details
* send text details
* remove extraneous code
* create base send details component
* remove file components
* fix send text details form
* remove comments
* fix send text details component
* revert type changes
* send created redirect
* Revert "send created redirect"
This reverts commit 36711d54a3.
* Removed hint under textArea, as per design
* Removed unused message keys
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* add copy specific aria-labels for login ciphers
* add copy specific aria-labels for card ciphers
* add copy translations for identity to web translations
* Refactor `POPUP_VIEW_MEMORY` to use `disk` rather than memory for the browser extension.
- When FireFox opens the popup in an standalone window memory is lost, thus causing the `popup-route-history` to be lost and back navigation ceases to work
* spelling
* revert state definition change
* add `onUpdated` event for firefox
* rework observable handling
* remove unneeded `from`
* [PM-11667] Remove all code related to the outdated custom permissions 'Edit/Delete Assigned Collections'
* Revert change made to data model in state migration
* Move Lock All To Happen in Background
- Make it done serially
- Have the promise only resolve once it's complete
* Unlock Active Account Last
* Add Tests
* Update Comment
* Testing out a rework of the performance improvements introduced into extension
* Working through improvements
* Implementing max_depth methodology for the deepQuery approach used when querying elements
* Refactoring implementation
* Refactoring implementation
* Fixing jest tests
* Incorporating documenation within domQueryService
* [PM-11519] `browser` global reference triggering an error when sending an extension message
* [PM-11517] Working through refactoring and jest testing of the domQueryService
* [PM-11517] Working through refactoring and jest testing of the domQueryService
* [PM-11517] Incorporating tests for the debounce util method
* [PM-11517] Incorporating tests for the debounce util method
* [PM-11517] Removing unnecessary property
* [PM-11517] Starting to work through an idea regarding querying without the shadowDom on pages that definitively do not contain a ShadowDOM element
* [PM-11419] Adjusting implementation to ensure we clear any active requests when the passkeys setting is modified
* [PM-11517] Removing unnecessary comments
* setup component, services, and web HTML
* make Web and Browser functional
* make desktop functional
* update template to solidify common client HTML
* simplify template and class
* update browser routing
* move canActivate to correct location
* simplify post submit routing
* update routing to use unauthUiRefreshSwap()
* constrain AnonLayout title/subtitle width, reduce height on destkop to account for header
* reduce height on browser to account for header (otherwise have to scroll to see EnvSelector
* resolve email issue when clicking 'cancel' on extension popout
* update routing for web
* persist email to popout
* update web router and anon-layout min-h based on client
* change anchor link to button
* remove unnecessary formatting changes
* add new icon
* remove unnecessary call to loginEmailService
* Send loggedOut/locked events on logout/lock event
* Revert "Send loggedOut/locked events on logout/lock event"
This reverts commit 293f2d6131.
* Ensure loggedOut is sent for non-active user logouts too
* Make loggedOut accept userIds
* Add userBeingLoggedOut in desktop app component
* Await updateconnection calls
* hide Free Bitwarden Families button if user is not eligible
* use organizationService.canManageSponsorships$ for determining if free bitwarden families is available
* update comment
* add check for `ExtensionRefresh` in StripeService
- Stripe components need new styles to match the new CL components
* add global styles for Stripe components
- Matches closer to the browser refresh components
* add browser refresh component details to Stripe JS initialization
* add component to match the display of the new component library that shows only when the `ExtensionRefresh` flag is enabled
* update both payment components to use payment label component
- This styling of the label is separate from the `AC2476_DeprecateStripeSourcesAPI` flag
* update security code copy
* change layout of the trial component to account for new CL components
* absolutely position label to remove extra spacing around the label
* remove unneeded logic
* PM-11945 - AcceptOrg - fix inaccurate comment.
* PM-11945 - Refactor new registration process to pass along orgSponsoredFreeFamilyPlanToken
* PM-11945 - RegistrationFinishComponent - wire up passing of orgSponsoredFreeFamilyPlanToken to submit method
* PM-11945 - Add todo
* Resolve the recommended issue
* Resolve the discount display issues
* remove unused tw property
* Resolve all the outstanding bugs
* Fix the A11y bug
* Resolve the base storage issue
* Rename service account in the summary
* changes for the A11y bug
* Fix the improper keyboard navigation in modal
* Add some additional ui changes
* Use password field value instead of local variable for copy to clipboard
Use appCopyClick directive instead of manually copying and showing success toast
* Add missing "copySuccessful" message key to desktop and web
* Remove whitespace from web en/messages.json
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* add option to delete all folders if migration fails
* update text and flow to reattempt migration
* clear encrypted folders as well on delete all
* Update messaging
* replace icon in "new" button on admin-console
* replace icon in "new" button on secrets manager
* reduce flash of "new item" button by checking the availability of the organization
* Refactored the showDelete function to check if a user can manage a collection
Removed the can edit or manage cipher check from the show delete function
* Add check for AC vault to return true when user has admin access
* Check user is an admin or custom user with editAnyCollection
* Check user is an admin or custom user with editAnyCollection
* PM-11252 - Registration with email verification - Add new signup redirect connector
* PM-11252 - Make the redirect connector generic and extensible while updating it to reference the new fragment based approach which prevents open redirects and prevents the query string from being sent to servers or proxies.
* PM-11252 - PR feedback - refactor redirect to simply forward any fragment onward with no query param parsing required leading to an even more generic solution.
* PM-11252 - Docs
* PM-11252 - PR Feedback - Include styles in chunks to remove need to manually import scss
* PM-11252 - Update redirect html to tailwind.
* [deps] Tools: Update electron to v32.0.2
* Bump version electron-builder.json
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
* Initial setup and modifications for member access report api implementation
* Adding the permissions logic for getting the permissions text
* fixing the test cases
* Some refactoring on async calls
* Comments on the model
* Resolving the mock issue
* messages
* Localization of text
* One more file to fix merge
* PM-10684 - ServiceContainer - Add better docs
* PM-10684 - UserAutoUnlockKeyService - setUserKeyInMemoryIfAutoUserKeySet - refactor method to return a bool instead of nothing so users can know if a user key was retrieved & set without another call.
* PM-10684 - Remove async code ( Program.ts) responsible for setting the auto user key from the session option handler (event emitter which fires when a user passes --session <sessionKey> to a command). Returning this to synchronous execution prevents a race condition between the setting of the user key and the command executing the exitIfLocked logic in the base-program which would check if the user key had been set to determine if the command should be allowed to execute or if the user was locked. When running a loop from a script, the command would often trigger the exitIfLocked before the auto user key could be set in state from the option:session session.
* PM-10684 - Clean up missed item per PR feedback