Cleanup redundant AI feature settings code
What does this MR do and why?
This MR cleans up obsolete code related to the AI feature settings page. The UI has gone through multiple iterations starting with HAML pages, then a standalone page at the admin/ai/feature_settings endpoint and now finally a tabbed version under the unified self-hosted models experience.
What this MR does:
- Removes no longer needed
custom_models_feature_settings_vue_app. This flag was used while converting the HAML implementation into Vue, but is no longer needed as the Vue rebuild has been completed. - Removes feature settings HAML code
- Removes the feature settings controller and associated routes which are no longer needed in the current implementation
- Removes redundant
FeatureSettingsAppcomponent used in version 1 of the Vue feature settings UI
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Current Implementation:
| Unified self-hosted models UX |
|---|
![]() |
Version 1 Vue Implementation (obsolete):
| FeatureSettingsApp |
|---|
![]() |
HAML Implementation (obsolete):
| Index page | Edit mode |
|---|---|
![]() |
![]() |
How to set up and validate locally
To see the current implementation of the AI Feature settings page, follow steps below.
Prequisites
You will need an active GitLab ultimate license.
- Start GDK instance in self-managed mode:
GITLAB_SIMULATE_SAAS=0 && gdk start
- Visit the GDK feature flags page and ensure the following flags are enabled
ai_custom_model,custom_models_vue_app - Go to the rails console and ensure Code Suggestions is enabled
ApplicationSetting.first.update(duo_features_enabled: true)
Test it!
Related: #484752 (closed)




