Implement new gitlab-web-ide-auth builtin extension
Description
The problem:
- The GitLab Workflow Extension waits for the
gitlab-web-ide
builtin extension to activate. - The builtin
gitlab-web-ide
takes a while to activate because it initialized the File System (waiting for the whole FS tree from the GitLab API) - As identified in this comment, the
gitlab-web-ide
extension must wait for the File System to be set up before activating - otherwise we lose VSCode's built-in File System progress loader while it waits for the extension to provide the File System.
The proposal:
- Split our
gitlab-web-ide
builtin extension into 2:- A
gitlab-web-ide-auth
extension responsible for the authenticaiton initialization (and whatever else needed by GitLab Workflow Extension) - A
gitlab-web-ide
extension which contains the majority of Web IDE behavior like setting up File System and Source Control. This extension will depend on thegitlab-web-ide-auth
extension.
- A
- Update the GitLab Workflow Extension to depend on
gitlab-web-ide-auth
instead ofgitlab-web-ide
Scope of this issue
In a separate issue, we'll bootstrap a NOOP gitlab-web-ide-auth
builtin extension.
This issue will focus on moving the following behaviors to this new builtin extension:
- Authentication setup (see relevant LOC)
- Implementation and return of
WebIDEExtension
(see relevant LOC).