[WebIDE] Support using the Language Server in the Web IDE
_This page contains information related to upcoming products, features, and functionality. It is important to note that the information presented is for informational purposes only. Please do not rely on this information for purchasing or planning purposes. The development, release, and timing of any products, features, or functionality may be subject to change or delay and remain at the sole discretion of GitLab Inc._ ## Overview The goal of this epic is identifying and fulfilling the requirements to run the Language Server in the Web IDE. See the child items for the detailed requirements. ### Business impact - Unified instrumentation and metrics. - Increased team productivity by removing legacy implementations of core GitLab Duo features like Code Suggestions and Duo Chat. - Ensure Web IDE user base can access the most recent GitLab Duo offerings. ## Proposed solution * Improve local development tooling, release management, and automate integration testing. * Iteration one (MVC): Use Language Server to provide Code Suggestions in the Web IDE. * Iteration two: Use Language Server's Duo Chat in the Web IDE. * Iteration three: Implement high performance file system in the Web IDE. ## Plan * :white_check_mark: - Done * :construction: - In Progress * :issue-blocked: - Blocked * :white_circle: - Not Started ### :sparkles: Improve local development tooling, release management and automate integration testing | | Description | Sub epic / issues | Status | Technical Lead | |--|-------------|-------------------|--------|----------------| | Tooling | Speed up the development experience of the Language Server in the Web IDE by automating copying GitLab VSCode Extension local build artifact when it changes. | https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/501+ | :white_check_mark: | @juhee.lee | | Tooling | Improve the process of updating the GitLab VSCode Extension in the Web IDE by replacing the current git submodule approach with | https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/500+ | :white_check_mark: | @mosumah | | Test coverage | Implement an integration test that exercises a happy path of Duo Code Suggestions and Duo Chat in the Web IDE. | https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/464+ | :white_check_mark: | @mosumah | ### :sparkles: Iteration one (MVC): Use Language Server to provide Code Suggestions in the Web IDE <table> <tr> <th></th> <th>Description</th> <th>Sub epic / issues</th> <th>Status</th> <th>Technical Lead</th> </tr> <tr> <td>POC/Spike</td> <td>Spike an MVP version of the Language Server integration with the Web IDE that only includes Code Suggestions using Open Tabs Context.</td> <td> https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/502+ </td> <td> :white_check_mark: </td> <td> @ealcantara </td> </tr> <tr> <td>Tooling</td> <td>Set up E2E tests to catch errors in the web version of the Language Server.</td> <td> https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/issues/1362+ </td> <td> :white_check_mark: </td> <td> @ealcantara </td> </tr> <tr> <td>Bug fix</td> <td>Apply the minimum amount of changes to make LS Code Suggestions work in the Web</td> <td> https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/issues/1365+ </td> <td> :white_check_mark: </td> <td> @ealcantara </td> </tr> <tr> <td>Feature</td> <td>Use Language Server to provide code suggestions in the Web.</td> <td> https://gitlab.com/gitlab-org/gitlab-vscode-extension/-/issues/2083+ </td> <td> :white_check_mark: </td> <td> @ealcantara </td> </tr> <tr> <td>Tooling</td> <td> \[VSCode\] Run Web IDE code suggestions test in the VSCode extension pipeline </td> <td> https://gitlab.com/gitlab-org/gitlab-vscode-extension/-/issues/2115+ </td> <td> :white_check_mark: </td> <td> @ealcantara </td> </tr> <tr> <td>Feature flag rollout</td> <td>Rollout MVC on production environment</td> <td> https://gitlab.com/gitlab-org/gitlab/-/issues/505717+ https://gitlab.com/gitlab-org/gitlab-vscode-extension/-/issues/1403+ </td> <td> :white_check_mark: </td> <td> @ealcantara </td> </tr> </table> ### :sparkles: Iteration two: Use Language Server's Duo Chat in the Web IDE | | Description | Sub epic / issues | Status | Technical Lead | |--|-------------|-------------------|--------|----------------| | POC/Spike | Identify how to display Web Views hosted in the Language Server in the Web IDE | https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/issues/817+ | :white_circle: | | ### :sparkles: Iteration three: High performance file system implementation | | Description | Sub epic / issues | Status | Technical Lead | |--|-------------|-------------------|--------|----------------| | POC | Explore how to implement a file system with fast write/read operations that serves as the foundation for full-text search and advanced context for AI features. | https://gitlab.com/gitlab-org/gitlab-web-ide/-/issues/499+ | :construction: | @ealcantara | | | | | | | ###
epic