Skip to content

Part 2 - Add "use_legacy_web_ide" to "user_preference"

What does this MR do and why?

In this MR, we support #370139 (closed) by:

  • Introducing a user_preference for use_legacy_web_ide
  • Updating the ide_data to pass a use_vscode_web_ide only if this new flag is false and the feature is enabled

Screenshots or screen recordings

With Feature.enable(:vscode_web_ide)

User's use_legacy_web_ide=true User's use_legacy_web_ide=false
Screen_Shot_2022-10-07_at_1.29.07_AM Screen_Shot_2022-10-07_at_1.27.58_AM

How to set up and validate locally

Confirm that, the VSCode Web IDE loads by default when Feature.enable(:vscode_web_ide).

  1. In a rails console (rails c), run Feature.enable(:vscode_web_ide).
  2. Sign into root and visit Web IDE for a non-empty project.
  3. expect: The new VSCode Web IDE should be loaded.

Confirm that, the legacy Web IDE will load if Feature.enable(:vscode_web_ide) but the user's use_legacy_web_ide is true.

  1. In the rails console (rails c), run User.find(1).update!(use_legacy_web_ide: true).
  2. Sign into root and visit Web IDE for a non-empty project.
  3. expect: The legacy VSCode Web IDE should be loaded.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #370139 (closed)

Edited by Paul Slaughter

Merge request reports