Enable Vue 3 rollout for AI Catalog and Duo Agent Platform pages
What does this MR do and why?
Opts the AI Catalog and Duo Agent Platform page entrypoints into the Vue 3 migration rollout, using the vue3_migration.yml mechanism from !234347 (merged). When the flag is enabled Rails serves the Vue 3 chunk; otherwise the page keeps running on Vue 2.
Two feature flags, three entrypoints:
| Feature flag | Page entrypoint |
|---|---|
vue3_migrate_ai_catalog |
ee/app/assets/javascripts/pages/explore/ai_catalog |
vue3_migrate_duo_agents_platform |
ee/app/assets/javascripts/pages/groups/duo_agents_platform |
vue3_migrate_duo_agents_platform |
ee/app/assets/javascripts/pages/projects/duo_agents_platform |
The group and project /automate pages share one flag because they build from the same ee/ai/duo_agents_platform SPA — rolling them out independently has no practical value.
No JavaScript or controller changes are needed.
References
- Migration effort: gitlab-org&23034
- Closes #607751, closes #607752
- Rollout issues: #607834, #607835
- Follows the same approach as !247789
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
- Switch GDK to Vue 3:
gdk config set vite.vue_version 3 && gdk reconfigure && gdk restart - Enable both flags in the Rails console:
Feature.enable(:vue3_migrate_ai_catalog) Feature.enable(:vue3_migrate_duo_agents_platform) - Visit
/explore/ai_catalogand confirm the console logs[gitlab] [V] Using Vue.js 3 (with @vue/compat) for AiCatalogRoot - Visit a project's
/-/automateand a root group's/-/automate, confirm the console logs[gitlab] [V] Using Vue.js 3 (with @vue/compat) for AiDuoAgentsPlatformRoot - Walk the sub-routes (
/agent-sessions,/triggers,/agents,/flows,/mcp-servers,/onboarding) and confirm they render - Disable both flags and confirm the pages fall back to the Vue 2 bundle
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.