Remove duo_ui_next feature flag
What does this MR do and why?
The duo_ui_next feature flag was a prototype. It was wip, off by default, and owned by group::ai framework. It never had a rollout issue. When on, it replaced the Duo Agentic Chat with a placeholder "Duo Next" frontend island (the <fe-island-duo-next> custom element). Choosing a model in it only showed a browser alert.
This MR removes the flag and the "on" code path. The current agentic chat becomes the only path.
- Delete the flag definition
ee/config/feature_flags/wip/duo_ui_next.yml. - Stop pushing the flag to the frontend in
ee/lib/ee/gitlab/gon_helper.rb. - In
duo_agentic_chat_state_manager.vueandduo_agentic_chat_state_manager_light.vue, remove the island render, its lazy import, and the helpers. usesModelSelectornow depends only on thenewModelSelectionflag.- Remove the flag stubs from Jest and RSpec specs.
There is no user-visible change for anyone with the flag off, which is the default. Anyone who had it on goes back to the normal chat.
Before merging, confirm the flag is not enabled on GitLab.com with /chatops run feature get duo_ui_next. After deploy, run /chatops run feature delete duo_ui_next.
This is the first MR in a stack. The follow-up MR removes the frontend islands infrastructure, which only Duo Next used.
References
- Feature issue: #568101 (closed)
- Introducing MR: !203868 (merged)
Screenshots or screen recordings
Not applicable. The removed flag was off by default, so nothing changes visually.
How to set up and validate locally
- Open any project and open the Duo Agentic Chat panel. Confirm the normal chat renders and you can send a message.
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.