Remove resolve_discussion_with_duo feature flag

What does this MR do and why?

Removes the resolve_discussion_with_duo feature flag. It has been enabled by default and the feature is generally available, so the flag is no longer needed.

  • Deletes the flag definition.
  • Removes the flag check from MergeRequest#can_resolve_discussions_with_ai?.
  • Adds duo_features_enabled and duo_remote_flows_enabled project checks to MergeRequest#can_resolve_discussions_with_ai?. Before this change, the option showed for every project, including projects that have Duo turned off. The flow cannot run in those projects. These checks read project settings and add no costly query. show_duo_workflow_action? in EE::BlobHelper uses the same checks.
  • Adds model spec cases for each Duo setting.
  • Removes the disabled-flag case from the model spec.
  • create_issue_for_single_discussion_in_merge_request_spec.rb used the flag to show the CE Create issue to resolve thread button on EE. It now turns off duo_features_enabled on the project instead. This works on both FOSS and EE.
  • Docs: removes the [!flag] note and adds a history entry that links to this merge request. Translated docs in doc-locale/ are not edited by hand.

References

Screenshots or screen recordings

Not applicable. The option no longer shows in projects that have GitLab Duo or Duo remote flows turned off. Nothing else changes in the UI.

How to set up and validate locally

  1. As a user with at least the Developer role, open a merge request that has an unresolved thread.
  2. Confirm the More resolve options dropdown appears next to Resolve thread and includes the GitLab Duo option.
  3. Turn off GitLab Duo or Duo remote flows for the project. Confirm the GitLab Duo option no longer appears.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Phil Hughes

Merge request reports

Loading
Loading