Loading
Migrate Duo Chat panel to Vue 3 with feature flag
What does this MR do and why?
This MR migrates the Duo Chat panel to Vue 3 using GitLab's Option 2 migration pattern, independent of other Vue 2 apps in main_ee.js. The feature flag is off by default, so behavior does not change until enabled. Three files change: main_ee.js gates the panel and dynamically imports the Vue 3 build with a Vue 2 fallback; gon_helper.rb pushes the flag globally; and a new beta flag YAML defines the feature flag.
How to verify
- Enable the
vue3_migrate_duo_panelfeature flag locally. - Open the browser console and confirm the message:
[gitlab] [V] Using Vue.js 3 (with @vue/compat) for DuoPanel. - Run
document.querySelectorAll('[data-gitlab-vue3-app]')in the console and verify the Duo panel appears in the results. - Test the Duo Chat panel: open it, send a message, and confirm normal behavior.
How to really verify
- The Duo Chat should work in Vue 3: We need to decide how to verify it and define a testing plan.
Follow-ups
The fields feature_issue_url, introduced_by_url, and rollout_issue_url in the new flag YAML are placeholders and must be filled in before rollout. Run bin/feature-flag interactively or update the file manually.
Edited by Miguel Rincon