Harmonize Workspaces and Web IDE extensions marketplace settings
MR: Harmonize Workspaces and Web IDE extensions mar... (!171227 - merged)
Description
WebIde::Settings::Main should be the SSOT for determining the VSCode Extensions Marketplace settings for both the Web IDE and Workspaces. Let's update our Workspaces references to use this:
- The old Worksapces feature flag (see loc) should be replaced with the setting
vscode_extensions_gallery_metadata.enabled(returned byWebIde::Settings::Main). - The vscode URL's themselves should be replaces with the setting
vscode_extensions_gallery. We don't want to just pull from default settings (see loc) like we are today. We want to directly callSettings.get([:vscode_extensions_gallery, :vscode_extensions_gallery_metadata], user: user, vscode_extensions_marketplace_feature_flag_enabled: true).
Note: Ideally we only call the WebIde::Settings::Main.get once, which means we might need to put enabled in the context of the ToolsComponentInjector.
Out of scope:
- We don't need to worry about presenting the helpful "Extensions Marketplace disabled" messages in workspaces. This logic lives in the Web IDE not the VSCode Fork... We gotta figure something out... Or not. Idk... You figure it out.
Old Title
Use settings to determine whether extensions to be enabled in workspace
Old Description
Instead of using the feature flag to decide if the extensions marketplace should be used or not, use the settings introduced in Create Instance-Level and Root-Group-Level Exte... (#451871) . These changes have to done after Create User-Level Extension Marketplace settings (#451875 - closed) since having the user confirmation is required.
Acceptance Criteria
-
vscode_web_ideandweb_ide_extensions_marketplaceflags are ignored by workspaces. -
Only user preference setting is used to determine whether extensions marketplace is to be enabled or not in workspace -
Remove unused allow_extensions_marketplace_in_workspacefeature flag -
Docs are updated
Design Requirements
None, no design changes.