Move extensions marketplace settings to webide domain
Issue: Move extensions marketplace settings to webide ... (#472643 - closed)
What does this MR do and why?
- Moves extensions marketplace settings to webide domain.
- Adds independent version of settings module to webide domain
- Includes associated refactorings to extract out common logic from settings module
- Includes support for only processing requested settings
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Working Extensions Marketplace in Web IDE ("boxes" in left nav):
How to set up and validate locally
Relevant flags and setting
-
web_ide_extensions_marketplace
feature flag enable/disable:Feature.enable(:web_ide_extensions_marketplace)
Feature.disable(:web_ide_extensions_marketplace)
-
web_ide_oauth
feature flag enable/disable:Feature.enable(:web_ide_oauth)
Feature.disable(:web_ide_oauth)
- User Preferences -> Enable extensions marketplace (https://docs.gitlab.com/ee/user/profile/preferences.html#integrate-with-the-extension-marketplace):
General validation
- Verify that all extension marketplace settings / metadata are behaving the same as master for both Web IDE and workspaces
- Verify that existing workspaces settings still behave the same
Specific validation steps
- Ensure
vscode_web_ide
flag is enabled (it is default-enabled, should be true unless you've explicitly disabled). - With
web_ide_oauth
andweb_ide_extensions_marketplace
flags on and enableEnable extensions marketplace
in User Preferences (and click save), open Web IDE (Edit -> Web IDE
from a project page) and extensions marketplace should be available (see screenshot above).- Try to install an extension.
- Restart the Web IDE.
- Ensure that extension persists.
- Disable
web_ide_oauth
flag, re-open Web IDE- extension should no longer persist, marketplace should be unavailable.
- Re-enable
web_ide_oauth
flag and disableweb_ide_extensions_marketplace
flag, re-open Web IDE- extension should no longer persist, marketplace should be unavailable.
- Re-enable
web_ide_extensions_marketplace
, keepweb_ide_oauth
flag enabled. DISABLEEnable extensions marketplace
in User Preferences (and click save). Re-open Web IDE- Extension marketplace is "enabled" (clickable), but displays "No extensions found"
- Re-enable
Enable extensions marketplace
in User Preferences (and click save), re-open Web IDE:- Extension marketplace is enabled, extensions are displayed (but previously installed extension must be re-installed after previous disabling steps).
Edited by Chad Woolley