* feat: create separate bit licensed browser
* feat: refactor webpack config
* fix: mv2 build not working
* feat: add bit versions of all commands
* feat: add bit CI builds
* fix: scss missing from build
* feat(inactive-user-server-notification): [PM-25130] Inactive User Server Notify - Adds in tests and feature for notifying inactive users.
* feat(inactive-user-server-notification): [PM-25130] Inactive User Server Notify - Added feature flag.
* fix(inactive-user-server-notification): [PM-25130] Inactive User Server Notify - Implemented trackedMerge.
* tests: remove feature flag use in tests
* tests: remove breadcrumbingPolicyTests and add service tests
* refactor: remove event log use of flag from org-layout component
* refactor: remove new policy code from org-layout component
* refactor: remove event log use of flag from events component
* refactor: remove event log use from collection dialog component
* refactor: remove event log use from vault-header component
* refactor: remove event-log route logic for org-reporting
* refactor: remove logic from org-settings routing
* refactor: remove breadcrumbing function and from billing service
* refactor: remove ConfigService from DI for billing service
* refactor: remove new policy code from policy-edit component
* refactor: remove new policy code from policies component
* refactor: remove feature flag
* fix(Admin Console): revert to use of reactive observables pattern
* fix(Admin Console): remove type artifact from reversion
* Passed in userId on RemovePasswordComponent.
* Added userId on other references to KeyConnectorService methods
* remove password component refactor, test coverage, enabled strict
* explicit user id provided to key connector service
* redirect to / instead when user not logged in or not managing organization
* key connector service explicit user id
* key connector service no longer requires account service
* key connector service missing null type
* cli convert to key connector unit tests
* remove unnecessary SyncService
* error toast not showing on ErrorResponse
* bad import due to merge conflict
* bad import due to merge conflict
* missing loading in remove password component for browser extension
* error handling in remove password component
* organization observable race condition in key-connector
* usesKeyConnector always returns boolean
* unit test coverage
* key connector reactive
* reactive key connector service
* introducing convertAccountRequired$
* cli build fix
* moving message sending side effect to sync
* key connector service unit tests
* fix unit tests
* move key connector components to KM team ownership
* new unit tests in wrong place
* key connector domain shown in remove password component
* type safety improvements
* convert to key connector command localization
* key connector domain in convert to key connector command
* convert to key connector command unit tests with prompt assert
* organization name placement change in the remove password component
* unit test update
* show key connector domain for new sso users
* confirm key connector domain page does not require auth guard
* confirm key connector domain page showing correctly
* key connector url required to be provided when migrating user
* missing locales
* desktop styling
* have to sync and navigate to vault after key connector keys exchange
* logging verbosity
* splitting the web client
* splitting the browser client
* cleanup
* splitting the desktop client
* cleanup
* cleanup
* not necessary if condition
* key connector domain tests fix for sso componrnt and login strategy
* confirm key connector domain base component unit tests coverage
* confirm key connector domain command for cli
* confirm key connector domain command for cli unit tests
* design adjustments
removed repeated text, vertical buttons on desktop, wrong paddings on browser extension
* key connector service unit test coverage
* new linting rules fixes
* accept invitation to organization called twice results in error.
Web vault remembers it's original route destination, which we do not want in case of accepting invitation and Key Connector, since provisioning new user through SSO and Key Connector, the user is already accepted.
* moved required key connector domain confirmation into state
* revert redirect from auth guard
* cleanup
* sso-login.strategy unit test failing
* two-factor-auth.component unit test failing
* two-factor-auth.component unit test coverage
* cli unit test failing
* removal of redundant logs
* removal of un-necessary new lines
* consolidated component
* consolidated component css cleanup
* use KdfConfig type
* consolidate KDF into KdfConfig type in identity token response
* moving KC requiresDomainConfirmation lower in order, after successful auth
* simplification of trySetUserKeyWithMasterKey
* redirect to confirm key connector route when locked but can't unlock yet
---------
Co-authored-by: Todd Martin <tmartin@bitwarden.com>
* Switching to use the orgKeys$ from the key service instead of getOrgKey
* Using account service instead of state provider
* First try for fixing test cases
* fixing test cases
* PM-24101 fix identified by failing test
* Error checking on the orgId
* Private method did not need error check
* Setting OrganizationId type
* Fixing test cases for setting org id
* Moving the get of critical apps to the init
* The critical apps component was being set again
---------
Co-authored-by: voommen-livefront <voommen@livefront.com>
* [PM-24243] Load config service feature flag into SDK client during initialization
* [PM-24243] Bump sdk version
* [PM-24243] Update load_flags to use generic Map instead of strongly typed object
* [PM-24243] Pass entire feature states object into SDK
* [PM-24243] Bump SDK version
* [PM-24243] Fix failing test
* add exclamation badge for at risk passwords on tab
* add berry icon for the badge when pending tasks are present
* remove integration wtih autofill for pending task badge
* add ability to override Never match strategy
- This is helpful for non-autofill purposes but cipher matching is still needed. This will default to the domain.
* add at-risk-cipher badge updater service
* Revert "add exclamation badge for at risk passwords on tab"
This reverts commit a9643c03d5.
* remove nullish-coalescing
* ensure that all user related observables use the same user.id
---------
Co-authored-by: Shane Melton <smelton@bitwarden.com>
* refactor: remove ts-strict-ignore and update
* refactor: remove ts-strict-ignore and update
* refactor: simplify if statement
* refactor: remove ts-strict-ignore and update
* refactor: add nullable union for interfaces
* Add arrow icons to vault carousel component
* Fix carousel next button and update tests
* Add new unit tests for back/next buttons
* Copy 'next' string from web/src/locales to browser/src/_locales
* Fix layout / spacing on carousel arrows
* Remove 'next' string from non-en locales
* Fix lint errors on carousel tests
* Add I18n provider to storybook for carousel
* Fix spacing for carousel button row
* Update carousel arrows to use small icon variant
* Add label attr to carousel buttons
* Add next string to locales for Desktop
* remove flag and instances of use
* feedback jprusik: additional removals of pageContainsShadowDomElements
* feedback jprusik: remove a stray logic branch
* chore: update collection management settings, refs PM-22840
* Split the item deletion restriction description message into three parts to allow for italicized text in the middle.
---------
Co-authored-by: Rui Tome <rtome@bitwarden.com>
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Implements better error handling when a user enters an invalid 2FA recovery code. Upon entering an invalid code:
- Keep the user on the `/recover-2fa` page (This also makes it so the incorrect code remains in the form field so the user can see what they entered, if they mistyped the code, etc.)
- Show an inline error: "Invalid recovery code"
Apply the same clippy configuration as we have in sdk-internal. bitwarden/sdk-internal@49f84e6/Cargo.toml#L91-L94
Adds FIXME comments to all existing violations. unwrap is bad as those will resullt in panics and crash the application. Unused async is ignored in napi since that would require changes to the js side which I don't want to deal with.
* cleanup inline menu content service
* move inline menu button and listElement to top-layer popovers
* update tests
* do not hidePopover on teardown
* watch all top layer candidates and attach event listeners to ensure they stay below the owned experience
* add extra guards to top page observers
* fix checks and cleanup logic
* fix typing issues
* include dialog elements in top layer candidate queries
* send extension message before showing popover
* Use Fastlane to publish to Apple App Store
* Publish MacOS build number as artifact
* Download and source build number from artifact
* Refactor Fastlane file to use already existing builds in TestFlight
* fastfile changes, release workflow changes, gitignore addition
* reorder steps to after dist dir is created
* resolve pathing issue
* upload step path fix
* make comments more clear
* enable phased rollout, add auto-submit checkbox
* move logic from release to publish workflow
* configure dry run properly for MAS
* edit file for testing
* workflow testing
* verbose logging for debugging
* update to look at releases
* remove verbose flag for next test
* add verbose logging back
* disable precheck
* hardcode app v for test
* hardcode app v for testing
* additional test
* log build numbers
* remove testing values, prep for draft PR
* flip metadata bool for testing
* comment out branch check
* hardcode locales
* add metadata and locales change
* lane change
* more logging for finding build
* address logs feedback
* edit_live false
* testing
* extra logging from apple api
* testing
* workaround for attaching build attempt
* workaround patch update
* simplify and retest skip metadata true
* turn precheck true
* remove autosubmit checkbox, add live edit true for testing release notes formatting
* re-org dispatch, rename dir to release_notes, flip live edit to false
* another formatting attempt
* additional formatting changes
* account for double space, add dash to beginning
* different formatting approach
* format test
* simplified notes formatting test, double line after each period
* proper formatting
* rename file for rust linter
* remove testing comments
* remove default string from notes, logic to check for empty release notes in mas_publish, formatting
* add validation logic after publishing
---------
Co-authored-by: Micaiah Martin <github@sourcecodemt.com>
fix: fetching a refresh token on a full sync during api key login on cli caused rate limit issues. we no longer fetch a refresh token on login since we shouldn't need it.
* Add missing libs to jest.config.js
Added 15 missing libraries to the jest projects array:
- libs/assets
- libs/client-type
- libs/core-test-utils
- libs/dirt/card
- libs/guid
- libs/logging
- libs/messaging-internal
- libs/messaging
- libs/serialization
- libs/state-test-utils
- libs/state
- libs/storage-core
- libs/storage-test-utils
- libs/tools/export/vault-export/vault-export-ui
- libs/user-core
This ensures all existing libraries with jest.config.js files are included in CI test runs.
* Update basic-lib generator to add new libs to jest.config.js
- Added updateJestConfig function that automatically adds new libraries to jest.config.js
- Function finds the appropriate alphabetical position for the new library
- Added comprehensive tests for the new functionality
- Ensures new libraries are included in CI test runs from creation
This prevents the issue where new libraries are created but their tests
are not run in CI because they are missing from the jest configuration.
* Fix import statements in state-definitions and deserialization-helpers tests
- Fixed ClientLocations import in state-definitions.spec.ts to use @bitwarden/storage-core instead of relative import
- Simplified deserialization-helpers.spec.ts import to use library root @bitwarden/serialization