feat: gate duo agent platform UI V2 behind experiment/beta settings

Description

Gates the GitLab Duo Agent Platform (DAP) UI V2 behind the experiment/beta features setting, so the new UI only surfaces for users who have opted into experimental/beta features.

  • Adds a $/gitlab/experimentFeaturesState notification handler in LanguageClientWrapper that sets a new gitlab:experimentFeaturesEnabled VS Code context key based on the language server's state.
  • Wires gitlab:experimentFeaturesEnabled into the when clauses for the DAP views (gl.webview.agentic-tabs, gl.webview.root.duoAgentPlatform) and the enable/disable-new-UI menu commands in desktop.package.json.

Resolves #2837

How has this been tested?

  • If src/browser or src/common has been modified, please consider interoperability with the Web IDE. See Running the Extension in WebIDE.
  • Consider an end-to-end test for significant new features that aren't covered by integration tests.
  1. Link with MR with this LSP branch
  2. Connect VSCode to local gdk.
  3. Open Duo Agent Platform
  4. Search experiment-features in GitLab logs and verify experiment/beta features are disabled or enabled.
  5. Test with the setting enabled/disabled (follow the instructions here) and confirm:
    • If experiment/beta features are enabled, you should see the toggle button
    • If experiment/beta features are disabled, you should not see the toggle button and default to v1 layout.

Screenshots (if appropriate)

What CHANGELOG entry will this MR create?

  • fix: Bug fix fixes - a user-facing issue in production - included in changelog
  • feature: New feature - a user-facing change which adds functionality - included in changelog
  • BREAKING CHANGE: (fix or feature that would cause existing functionality to change) - should bump major version, mentioned in the changelog
  • None - other non-user-facing changes

Merge request reports

Loading
Loading