Remove legacy Web IDE
Deprecation Summary
The legacy Web IDE is the Vue-based implementation of the Web IDE that was used before migrating to a VSCode-based Web IDE as the default experience on GitLab 15.11. The legacy Web IDE is still accessible if a GitLab instance administrator turns the vscode_web_ide
feature flag off. This feature is has been enabled by default on gitlab.com and self-managed instances since GitLab 15.11.
Documentation
- Deprecation notice: https://docs.gitlab.com/ee/update/deprecations.html#legacy-web-ide-is-deprecated
- Migration guidelines: A GitLab administrator should enable the
vscode_web_idefeature flag if the aforementioned was previously disabled.
Product Usage
Describe why deprecation of this feature is necessary, ideally with dashboards/metrics that show product usage. add links to the documentation
According to our metrics (internal link), 1% of GitLab instances have the vscode_web_Ide feature flag disabled which means they still use the legacy Web IDE.
- The legacy Web IDE has been disabled by default since GitLab 15.11 on both self-managed and SaaS instances. We don't have metrics that capture if self-managed instances have re-enabled it.
- The legacy Web IDE hasn't received maintenance work in more than 2 years.
Breaking Change?
If an instance administrator has turned off the vscode_web_ide feature flag in the past, they should turn it on again to start using the VSCode-based Web IDE.
Affected Customers
- GitLab.com
- Self-managed
- Dedicated
Deprecation Milestone
17.9
Planned Removal Milestone
18.0
Links
Checklists
Timeline
Rollout Plan
DRIs:
- Engineers: @ealcantara
- Engineering Manager: @adebayo_a
- Describe rollout plans on GitLab.com
- _Link to _a feature flag rollout issue that covers:
- Expected release date on GitLab.com and GitLab version
- Rollout timelines, such as a percentage rollout on GitLab.com
- Creation of any clean-up issues, such as code removal
- _Link to _a feature flag rollout issue that covers:
- Determine how to migrate users still using the existing functionality
- Document ways to migrate with the tooling available
- Automate any users who have not yet migrated, but ensure it's a two-way door decision
Communication Plan
DRIs:
- Product Manager: @michelle-chen
Add links to the relevant merge requests.
- As soon as possible, but no later than the third milestone preceding the major release (for example, given the following release schedule:
17.8, 17.9, 17.10, 17.11, 18.0–17.9is the third milestone preceding the major release):- A deprecation announcement entry has been created so the deprecation will appear in release posts and on the general deprecation page.
- Documentation has been updated to mark the feature as deprecated.
- On the major milestone:
- The deprecated item has been removed.
- If the removal of the deprecated item is a breaking change, the merge request is labeled breaking change.
- Document the migration plan for users, clearly outlining the actions they need to take to mitigate the impact of the breaking change.
- Add link
Development
DRIs:
- Engineers: @ealcantara
- Engineering Manager: @adebayo_a
- Measure usage of the impacted product feature
- Evaluate metrics across GitLab.com, Self-Managed, Dedicated
- https://gitlab.com/gitlab-org/gitlab/-/issues/513997+
- 1% of GitLab instances use the legacy Web IDE.
- Create tooling for customers to manually migrate their data or workflows
- add issue link
- Build mechanism for users to manually enable the breaking change ahead of time
- add issue link
- Automate the migration for those who do not take any manual steps (ensure the automation can be reverted)
- add issue link
- Develop rollout plan of breaking change on GitLab.com
- add feature flag rollout issue
- Dogfood the changes on GitLab.com or a Self-Managed test instance
- The VSCode-based Web IDE has been the default editor for GitLab since 15.11. Users have to manually opt-out of this alternative to use the legacy Web IDE.
- (Optional) Create UI controls for instance admins to disable the breaking change, providing flexibility to Self-Managed / Dedicated customers. Optional as this depends on the breaking change.
- add issue link
Approvals
- Product Manager
@PM - Engineering Manager
@EM - Senior Engineering Manager / Director
@senior-eng-leader - Group / Director of Product Management
@senior-product-leader
Mentions (as applicable)
- Product Designer
@ProductDesigner - Tech Writer
@TW - Software Engineering in Test
@SET - Any other stable counterparts based on the product categories:
- Add Sales/CS counterpart or mention
@timtams - Add Support counterpart or mention
@gitlab-com/support/managers - Add Marketing counterpart or mention
@cfoster3
- Add Sales/CS counterpart or mention
Labels
- This issue is labeled deprecation, and with the relevant
~devops::,~group::, and~Category:labels. - This issue is labeled breaking change if the removal of the deprecated item will be a breaking change.