* [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
* 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
* add copy specific aria-labels for login ciphers
* add copy specific aria-labels for card ciphers
* add copy translations for identity to web translations
* [PM-11667] Remove all code related to the outdated custom permissions 'Edit/Delete Assigned Collections'
* Revert change made to data model in state migration
* 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
* 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.
* 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
* Resolve the wrong subscription expiration date
* Refactor the change to include flag
* refactor the change to consider the flag
* Resolve the year bug for all subscription
* Changes for the premium user
* resolve the premium issue
* Add premium-v2.component
* (No Logic) Move existing premium.component into new premium folder
* Add new premium-v2.component to /premium route behind FF
* Split access-selector stories into separate stories and files
* Tweak existing stories to better represent actual use cases in our app
* Add jsdoc comments
* Add stories
- move organization-user files from libs/common/src/admin-console into libs/admin-console/src/common
- add barrel files and update imports to use barrel files
- rename OrganizationUserService to OrganizationUserApiService
- rename OrganizationUserServiceImplementation to DefaultOrganizationUserApiService
* Add adjust-storage-dialog-v2.component
* (No Logic) Rename old adjust-storage.component to adjust-storage-dialog.component
* (No Logic) Move existing adjust-storage-dialog.component into new adjust-storage-dialog folder
* Use adjust-storage-dialog-v2.component in adjustStorage methods when FF is on
* PM-11318 - Registration Finish - Log user in after registration
* PM-11318 - Adjust registration and login message to be one msg
* PM-11318 - RegistrationFinish - Adjust messaging based on product feedback.
* PM-11318 - RegistrationFinishComp - Tweak redirect and error logic.
* (No Logic) Fix typo in billing-api-service.abstraction file name
* (Cleanup) Remove payment method components and API methods from provider portal
Product team decided not to have a payment method page in the provider portal for consolidated billing. This just removes all the unused components and API methods.
* Add organization endpoints to support new payment method behavior
* Add payment-v2.component
This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.
* (No Logic) Move existing payment.component into new payment component folder
* Add verify-bank-account.component
This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.
* Add adjust-payment-dialog-v2.component
* (No Logic) Move existing adjust-payment-dialog.component into new adjust-payment-dialog component folder
* Add organization-payment-method.component
* Add feature flag: AC-2476-deprecate-stripe-sources-api
* Pivot organization payment method route on new feature flag
* Fix broken test
* Create unavailable message for biometrics when in clamshell mode
* Move browser biometrics
* Inject nativemessagingbackground instead of using constructor
* Fix linting
* Fix build on browser
* Require userId for setting masterKeyEncryptedUserKey
* Replace folders for specified user
* Require userId for collection replace
* Cipher Replace requires userId
* Require UserId to update equivalent domains
* Require userId for policy replace
* sync state updates between fake state for better testing
* Revert to public observable tests
Since they now sync, we can test single-user updates impacting active user observables
* Do not init fake states through sync
Do not sync initial null values, that might wipe out already existing data.
* Require userId for Send replace
* Include userId for organization replace
* Require userId for billing sync data
* Require user Id for key connector sync data
* Allow decode of token by userId
* Require userId for synced key connector updates
* Add userId to policy setting during organization invite accept
* Fix cli
* Handle null userId
---------
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
Migrate the index.html to use tailwind instead of bootstrap
* Extracted some more global styles to override the bootstrap styles for layout
frontend. We should revisit this when we remove bootstrap.
* Removed Angular specific logo for anon pages. Now uses the same css class as
loading page to prevent duplicated assets.
* Log reloading behavior
* Remove hints from responses.
changing password implies updating the hint, but no longer displays the old one. This is a security risk for shoulder surfing and breaks the escrow model we have where it is only shared via email when requested.
* Update change password hint label
* 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
Upgrade storybook to version v8 which is a major upgrade. Storybook provides an
upgrade wizard which did most of the work.
- Ran npx storybook upgrade.
- Manually updated `remark-gfm` since the newer mdx requires v 4.
- Migrated all old stories still using `Story` to `StoryObj`.
* Add additional extension refresh menu behind feature flag.
* Open new cipher dialog with proper cipher type selected.
* Adjust onboarding copy and default to login cipher.
* Update "New item" button styles.
* Add test to ensure onboarding component always calls onAddCipher.emit with the login cipher type.
* Hide onboarding and new item changes behind feature flag
* Fix missing mock in test.
* Remove extensionRefreshEnabled$ and conditional styles from the "add new" button.
* Remove rounding class from menu "new" button.
* [PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs
* [PM-10723] Remove autocomplete="new-password" attribute from 2fa based code inputs
* send list items container
* update send list items container
* finalize send list container
* remove unecessary file
* undo change to config
* prefer use of takeUntilDestroyed
* add send items service
* and send list filters and service
* undo changes to jest config
* add specs for send list filters
* Revert "Merge branch 'PM-9853' into PM-9852"
This reverts commit 9f65ded13f, reversing
changes made to 63f95600e8.
* add send items service
* Revert "Revert "Merge branch 'PM-9853' into PM-9852""
This reverts commit 81e9860c25.
* finish send search
* fix formControlName
* add specs
* finalize send search
* layout and copy fixes
* cleanup
* Remove unneeded empty file
* Remove the erroneous addition of send-list-filters to vault-export tsconfig
* update tests
* hide send list filters for non-premium users
* fix and add specss
* Fix small typo
* Re-add missing tests
* Remove unused NgZone
* Rename selector for send-search
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
* Update unix biometrics for desktop biometrics rework
* Implement polkit policy setup
* Enable browser integration on Linux
* Remove polkit policy file
* Undo change to messages.json
* Fix biometrics setup, implement missing functions
* Implement osSupportsBiometrics
* Fix polkit settings message
* Remove unwraps in biometrics unix rust module
* Force password reprompt on start on linux with biometrics
* Merge branch 'main' into feature/unix-biometrics
* Allow browser extension to be unlocked on Linux via Polkit
* Implement availability check
* Cleanup
* Add auto-setup, manual setup, setup detection and change localized prompts
* Implement missing methods
* Add i18n to polkit message
* Implement missing method
* Small cleanup
* Update polkit consent message
* Fix unlock and print errors on failed biometrics
* Add dependencies to core crate
* Fix reference and update polkit policy
* Remove async-trait
* Add tsdoc
* Add comment about auto setup
* Delete unused init
* Update help link
* Remove additional settings for polkit
* Add availability-check to passwords implementation on linux
* Add availability test
* Add availability check to libsecret
* Expose availability check in napi crate
* Update d.ts
* Update osSupportsBiometric check to detect libsecret presence
* Improve secret service detection
* Add client half to Linux biometrics
* Fix windows build
* Remove unencrypted key handling for biometric key
* Move rng to rust, align linux bio implementation with windows
* Consolidate elevated commands into one
* Disable snap support in linux biometrics
---------
Co-authored-by: DigitallyRefined <129616584+DigitallyRefined@users.noreply.github.com>
Enables one of the recommended rules of @angular-eslint. Since this rule was fairly trivial to fix and has no QA effects it seemed reasonable to migrate all code.
* [PM-8524] Update appA11yTitle to keep attributes in sync after first render
* [PM-8524] Introduce UriOptionComponent
* [PM-9190] Introduce AutofillOptionsComponent
* [PM-9190] Add AutofillOptions to LoginDetailsSection
* [PM-9190] Add autofill options component unit tests
* [PM-9190] Add UriOptionComponent unit tests
* [PM-9190] Add missing translations
* [PM-9190] Add autofill on page load field
* [PM-9190] Ensure updatedCipherView is completely separate from originalCipherView
* [CL-348] Do not override items if there are no OptionComponents available
* [PM-9190] Mock AutoFillOptions component in Login Details tests
* [PM-9190] Cleanup storybook and missing web translations
* [PM-9190] Ensure storybook decryptCipher returns a separate object