1
0
mirror of https://github.com/bitwarden/server synced 2025-12-16 00:03:54 +00:00
Commit Graph

291 Commits

Author SHA1 Message Date
Thomas Rittson
9022ad2360 [PM-20140] Prevent accidental bulk removal of users without a Master Password (#6173) 2025-08-12 10:21:29 +10:00
Todd Martin
3c5de319d1 feat(2fa): [PM-24425] Add email on failed 2FA attempt
* Added email on failed 2FA attempt.

* Added tests.

* Adjusted email verbiage.

* Added feature flag.

* Undid accidental change.

* Undid unintentional change to clean up PR.

* Linting

* Added attempted method to email.

* Changes to email templates.

* Linting.

* Email format changes.

* Email formatting changes.
2025-08-11 16:39:43 -04:00
Alex Morask
829c3ed1d7 [PM-21821] Provider portal takeover states (#6109)
* Add feature flag

* Disable provider and schedule cancellation when subscription goes unpaid

* Run dotnet format

* Only set provider subscription cancel_at when subscription is going from paid to unpaid

* Update tests
2025-07-23 08:25:37 -05:00
Rui Tomé
141f8bf8b2 [PM-21031] Update Members Get Endpoint Optimization feature flag key to match LaunchDarkly (#6115) 2025-07-23 13:20:04 +00:00
Rui Tomé
acd556d56f [PM-21031] Optimize GET Members endpoint performance (#5907)
* Add new feature flag for Members Get Endpoint Optimization

* Add a new version of OrganizationUser_ReadByOrganizationIdWithClaimedDomains that uses CTE for better performance

* Add stored procedure OrganizationUserUserDetails_ReadByOrganizationId_V2 for retrieving user details, group associations, and collection associations by organization ID.

* Add the sql migration script to add the new stored procedures

* Introduce GetManyDetailsByOrganizationAsync_vNext and GetManyByOrganizationWithClaimedDomainsAsync_vNext in IOrganizationUserRepository to enhance performance by reducing database round trips.

* Updated GetOrganizationUsersClaimedStatusQuery to use an optimized query when the feature flag is enabled

* Updated OrganizationUserUserDetailsQuery to use optimized queries when the feature flag is enabled

* Add integration tests for GetManyDetailsByOrganizationAsync_vNext

* Add integration tests for GetManyByOrganizationWithClaimedDomainsAsync_vNext to validate behavior with verified and unverified domains.

* Optimize performance by conditionally setting permissions only for Custom user types in OrganizationUserUserDetailsQuery.

* Create UserEmailDomainView to extract email domains from users' email addresses

* Create stored procedure Organization_ReadByClaimedUserEmailDomain_V2 that uses UserEmailDomainView to fetch Email domains

* Add GetByVerifiedUserEmailDomainAsync_vNext method to IOrganizationRepository and its implementations

* Refactor OrganizationUser_ReadByOrganizationIdWithClaimedDomains_V2 stored procedure to use UserEmailDomainView for email domain extraction, improving query efficiency and clarity.

* Enhance IOrganizationUserRepository with detailed documentation for GetManyDetailsByOrganizationAsync method, clarifying its purpose and performance optimizations. Added remarks for better understanding of its functionality.

* Fix missing newline at the end of Organization_ReadByClaimedUserEmailDomain_V2.sql to adhere to coding standards.

* Update the database migration script to include UserEmailDomainView

* Bumped the date on the migration script

* Remove GetByVerifiedUserEmailDomainAsync_vNext method and its stored procedure.

* Refactor UserEmailDomainView index creation to check for existence before creation

* Update OrganizationUser_ReadByOrganizationIdWithClaimedDomains_V2 to use CTE and add indexes

* Remove creation of unique clustered index from UserEmailDomainView and related migration script adjustments

* Update indexes and sproc

* Fix index name when checking if it already exists

* Bump up date on migration script
2025-07-23 10:04:20 +01:00
Brandon Treston
947ae8db51 [PM-19145] refactor organization service.import async (#5800)
* initial lift and shift

* extract function RemoveExistingExternalUsers

* Extract function RemoveExistingUsers()

* extract function OverwriteExisting()

* create new model for sync data

* extract add users to function, rename

* rename OrganizatinUserInvite for command, implement command

* implement command

* refactor groups logic

* fix imports

* remove old tests, fix imports

* fix namespace

* fix CommandResult useage

* tests wip

* wip

* wip

* remove redundant code, remove looping db call, refactor tests

* clean up

* remove looping db call with bulk method

* clean up

* remove orgId param to use id already in request

* change param

* cleanup params

* remove IReferenceEventService

* fix test

* fix tests

* cr feedback

* remove _timeProvider

* add xmldoc, refactor to make InviteOrganizationUsersCommand vNext instead of default

* switch back to command

* re-add old ImportAsync impl

* fix test

* add feature flag

* cleanup

* clean up

* fix tests

* wip

* wip

* add api integration tests for users WIP

* groups integration tests

* cleanup

* fix error from merging main

* fix tests

* cr feedback

* fix test

* fix test
2025-07-22 17:30:25 -04:00
Tom
6278fe7bc5 Removing the unused ciritcal and notification feature flags for dirt (#6068) 2025-07-22 13:58:26 -04:00
Maciej Zieniuk
45370623e9 Feature flag for ForceUpdateKDFSettings (#6087) 2025-07-15 16:12:09 +02:00
adudek-bw
93a00373d2 Add feature flag for using sdk password generators (#6082) 2025-07-15 07:38:14 -04:00
Todd Martin
2f8460f4db feat(OTP): [PM-18612] Change email OTP to six digits
* Change email OTP to 6 digits

* Added comment on base class

* Added tests

* Renamed tests.

* Fixed tests

* Renamed file to match class
2025-07-14 10:23:30 -04:00
Todd Martin
ca1baa1220 chore(feature-flag): Adding feature flag for push notifications on locked account 2025-07-10 20:07:57 -04:00
Alex Morask
7f65a655d4 [PM-21881] Manage payment details outside of checkout (#6032)
* Add feature flag

* Further establish billing command pattern and use in PreviewTaxAmountCommand

* Add billing address models/commands/queries/tests

* Update TypeReadingJsonConverter to account for new union types

* Add payment method models/commands/queries/tests

* Add credit models/commands/queries/tests

* Add command/query registrations

* Add new endpoints to support new command model and payment functionality

* Run dotnet format

* Add InjectUserAttribute for easier AccountBillilngVNextController handling

* Add InjectOrganizationAttribute for easier OrganizationBillingVNextController handling

* Add InjectProviderAttribute for easier ProviderBillingVNextController handling

* Add XML documentation for billing command pipeline

* Fix StripeConstants post-nullability

* More nullability cleanup

* Run dotnet format
2025-07-10 08:32:25 -05:00
Shane Melton
12b2eeaa66 [PM-22136] Add SDK Cipher Encryption feature flag (#6070) 2025-07-09 08:26:49 -07:00
Justin Baur
fa0c9cb387 Add #nullable disable to platform code (#6057) 2025-07-08 10:25:59 -04:00
Todd Martin
ead29eed7a chore(feature flag): [PM-18562] Remove installation-last-activity-date from server
* Removed flag.

* Changed to remove variable.
2025-07-07 17:38:52 -04:00
Jared McCannon
c441fa27dd Removing feature flag (#5997) 2025-06-27 13:13:41 -05:00
Daniel James Smith
49816e0926 Remove unused feature flag "item-share" (#6003)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-06-26 08:17:35 -04:00
Nick Krantz
51e93c7323 add end user activation feature flag (#5989) 2025-06-24 13:02:07 -05:00
Colton Hurst
cdfe51f9d6 [PM-22783] Add windows-desktop-autotype feature flag (#5990) 2025-06-20 14:02:48 -04:00
Nick Krantz
05d74754d2 add PM22134SdkCipherListView feature flag (#5980) 2025-06-18 09:29:48 -05:00
Vincent Salucci
6dc26f4be6 chore: remove external id feature flag, refs PM-18634 (#5974) 2025-06-17 10:55:42 -05:00
Patrick Honkonen
0a5dc04d9e [PM-22458] Add user managed privileged apps FF for Android (#5935) 2025-06-17 14:48:11 +00:00
Rui Tomé
5ffa937914 [PM-22098] Create default collection when organization member is confirmed (#5944)
* Add RequiresDefaultCollection method to PersonalOwnershipPolicyRequirement

* Add CreateDefaultLocation feature flag to Constants.cs

* Add DefaultUserCollectionName property to OrganizationUserConfirmRequestModel with encryption attributes

* Update PersonalOwnershipPolicyRequirement instantiation in tests to use constructor with parameters instead of property assignment

* Enhance ConfirmOrganizationUserCommand to support default user collection creation. Added logic to check if a default collection is required based on organization policies and feature flags. Updated ConfirmUserAsync method signature to include an optional defaultUserCollectionName parameter. Added corresponding tests to validate the new functionality.

* Refactor Confirm method in OrganizationUsersController to use Guid parameters directly, simplifying the code. Updated ConfirmUserAsync call to include DefaultUserCollectionName from the input model.

* Move logic for handling confirmation side effects into a separate method

* Refactor PersonalOwnershipPolicyRequirement to use enum for ownership state

- Introduced PersonalOwnershipState enum to represent allowed and restricted states.
- Updated PersonalOwnershipPolicyRequirement constructor and properties to utilize the new enum.
- Modified related classes and tests to reflect changes in ownership state handling.
2025-06-17 12:20:22 +01:00
Federico Maccaroni
f532236f05 [PM-22572] Added app-intents feature flag key (#5948) 2025-06-10 17:27:51 -03:00
Robyn MacCallum
1bd11e61ef Add enable-pm-prelogin-settings flag (#5946) 2025-06-10 15:50:22 -04:00
Alex Morask
8165651285 Remove pm-18794-provider-payment-method (#5850) 2025-06-03 07:50:52 -05:00
Bernd Schoolmann
14e68428f6 [PM-20225] Block no-userkey legacy users (#5640)
* Block legacy users on all clients over 2025.5

* Update message

* Fix test

* Fix test

* Update blocked version
2025-06-02 22:04:01 +02:00
Alex Morask
390b93f6ce [PM-21250] Remove pm-18770-enable-organization-business-unit-conversion (#5848)
* Remove pm-18770-enable-organization-business-unit-conversion

* Run dotnet format
2025-05-30 09:58:36 -04:00
Jared McCannon
d50ad97e6e Adding OptimizeNestedTraverse feature flag. moved custome role permissions to ac section. (#5853) 2025-05-29 09:57:50 -05:00
cd-bitwarden
31b6b47eac [PM-20650] Adding feature flag to server for Remove Card Item Type policy (#5830)
* Adding feature flag to server for Remove Card Item Type policy

* Updating new feature flag name
2025-05-28 10:37:10 -04:00
Alex Morask
e994bf2117 [PM-21383] Use Stripe to get provider pricing for display when feature flag is on (#5842)
* Use ProviderPriceAdapter when getting provider subscription

* Update test
2025-05-21 08:10:34 -04:00
Alex Morask
7b3e2a80f4 [PM-21092] Set tax exemption to reverse charge for non-US business-use customers (#5812)
* Set automatic tax to enabled and tax exempt to reverse where applicable when ff is on

* Fix and add tests

* Run dotnet format

* Run dotnet format

* PM-21745: Resolve defect

* PM-21770: Resolve defect

* Run dotnet format'
2025-05-19 14:53:48 -04:00
Patrick-Pimentel-Bitwarden
8d2629fe58 Auth/pm 17111/add browser to list of approving clients (#5825)
* refactor(update-auth-approving-clients): [PM-17111] Add Browser to List of Approving Clients - Refactored how it works to fit different priorities.
2025-05-16 09:50:32 -04:00
Jordan Aasen
97fbf21977 [PM-20543] - remove restrict-provider-access feature flag (#5700)
* remove restrict-provider-access feature flag

* remove feature flag

* re-add flag

* remove unnecessary tests

* fix bad merge

* fix bad merge

* remove RestrictProviderAccess key
2025-05-15 14:00:48 -07:00
Robyn MacCallum
941d06985d Update Constants.cs (#5801) 2025-05-14 11:38:51 -04:00
Todd Martin
3989e3b26b chore(feature-flag): [PM-8671] Remove new-device-verification feature flag
* Completed grouping of feature flags by team.

* Completed grouping feature flags by team.

* Remove email delay feature flag

* Removed feature flag

* Fixed reference.

* Remove flag after merge.

* Removed flag from server.

* Removed feature flag from server

* Remove new device verification feature flag.

* Removed unnecessary using.

* Remove feature flag from Constants
2025-05-09 09:37:16 -04:00
Todd Martin
547df25045 chore(feature-flag): [PM-12433] Remove device-trust-logging feature flag
* Completed grouping of feature flags by team.

* Completed grouping feature flags by team.

* Remove email delay feature flag

* Removed feature flag

* Fixed reference.

* Remove flag after merge.

* Removed flag from server.

* Removed feature flag from server
2025-05-08 19:57:24 +00:00
Alex Morask
c9b6e5de86 [PM-20084] [PM-20086] Add TrialLength parameter to trial initiation endpoint and email (#5770)
* Add trial length parameter to trial initiation endpoint and email

* Add feature flag that pegs trial length to 7 when disabled

* Add optionality to Identity

* Move feature service injection to identity accounts controller
2025-05-08 10:43:19 -04:00
Todd Martin
e6c4d78fc1 chore(feature-flag): [PM-12432] Remove 2fa-authenticator-token feature flag
* Completed grouping of feature flags by team.

* Completed grouping feature flags by team.

* Remove email delay feature flag

* Removed feature flag

* Fixed reference.

* Remove flag after merge.

* Removed flag from server.
2025-05-07 13:57:11 -04:00
Nick Krantz
e465f2ed47 remove new device verification flags (#5773) 2025-05-07 08:11:29 -05:00
Brandon Treston
28467fc8f6 [PM-20092] Refactor OrganizationUsersController Get to return account recovery users (#5756)
* wip

* wip

* add dict conversion to Get

* wip

* clean up

* clean up

* continue refactor

* Fix feature flag

Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>

---------

Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
2025-05-06 13:45:05 -04:00
Alex Morask
2d4ec530c5 [PM-18955] Implement OrganizationWarningsQuery (#5713)
* Add GetWarnings endpoint to OrganizationBillingController

* Add OrganizationWarningsQueryTests
2025-05-01 17:13:10 -04:00
Alex Morask
e77acbc5ad [PM-19956] [PM-18795] Require provider payment method during setup behind FF (#5752)
* Require provider payment method during setup behind FF

* Fix failing test

* Run dotnet format

* Rui's feedback
2025-05-01 12:12:45 -04:00
Conner Turnbull
cf7a59c077 [Innovation Sprint] Phishing Detection (#5516)
* Initial stubbing out of the phishing service

* Add the phishing domain controller

* Add changes for the phishing domain get

* Add distributed cache to the phishing domain

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

* Rename the variable name

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

* Removed IPhishingDomainService

* Feature/phishing detection cronjob (#5512)

* Added caching to EF implementation. Added error handling and logging

* Refactored update method to use sqlbulkcopy instead of performing a round trip for each new insert

* Initial implementation for quartz job to get list of phishing domains

* Updated phishing domain settings to be its own interface

* Add phishing domain detection with checksum-based updates

* Updated auth for phishing domain endpoints to either require api, or licensing claims to support both web and browser clients, and selfhost api clients

* [Innovation Sprint] Updated Phishing domains to rely on blob storage (#5517)

* Updated phishing detection data layer to rely on azure blob storage instead of sql server

* dotnet format

* Took rider refactors

* Ensuring phishing.testcategory.com exists to test against

* Added redis to dev's docker-compose

* Removed redis from cloud profile

* Remove the Authorize attribute

* error whitespace fix whitespace formatting

* error WHITESPACE: Fix whitespace formatting

* Wrapped phishing detection feature behind feature flag (#5532)

* Increased timeout for fetching source list a bunch

* Removed PhishingDomains policy

---------

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
Co-authored-by: Cy Okeke <cokeke@bitwarden.com>
2025-04-30 11:03:59 -04:00
Alex Morask
db0079cebb [PM-19009] Remove feature flag: pm-15179-add-existing-orgs-from-provider-portal (#5664)
* Remove feature flag

* Run dotnet format
2025-04-28 16:22:20 -04:00
Daniel James Smith
60f6189314 Move feature flags owned by Data Insights and Reporting team into their own section (#5691)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-04-28 10:41:49 -04:00
Brant DeBow
ad19d3d3ad [PM-17562] Add feature flag for event-based organization integrations (#5710)
* Added EventBasedOrganizationIntegrations feature flag; Added enforcement of flag at the API layer

* [PM-17562] Use EventBasedOrganizationIntegrations feature flag to turn on/off event queue

* Optimization that removes the need for EventRouteService (from @justindbaur)
2025-04-28 08:20:47 -04:00
SmithThe4th
9a7fddd77c Removed feature flag (#5707) 2025-04-25 10:15:26 -07:00
Daniel James Smith
cbb1168da8 Remove export-attachments feature flag (#5659)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-04-22 08:14:56 -04:00
Todd Martin
b38c75267f [PM-19691] Remove duo-redirect feature flag (#5576)
* Completed grouping of feature flags by team.

* Completed grouping feature flags by team.

* Remove email delay feature flag

* Removed feature flag

* Fixed reference.

* Remove flag after merge.
2025-04-21 12:36:38 -04:00