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_panel feature 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

Merge request reports

Loading
Loading