Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start workspace with workspace class override #15287

Closed
jldec opened this issue Dec 11, 2022 · 5 comments · Fixed by #15389
Closed

Start workspace with workspace class override #15287

jldec opened this issue Dec 11, 2022 · 5 comments · Fixed by #15389
Assignees
Labels
needs visual design team: webapp Issue belongs to the WebApp team

Comments

@jldec
Copy link
Contributor

jldec commented Dec 11, 2022

This is a followup to #15080

Gitpod users should be able to override the workspace class (determined globally or in project settings.) E.g. when opening a workspace on a repo which does not have a Gitpod project.

🛹 ideas

  1. URL parameter for prefixed URLs E.g. gitpod.io/#<<<REPO-URL>>>&gitpod-workspace-class=large
  2. Detect key to Interrupt workspace start page, then offer UI with choice of workspace classes
  3. Extend the UI for Cmd-O in dashboard to offer choice of workspace classes

cc: @gtsiolis @atduarte

@svenefftinge
Copy link
Member

svenefftinge commented Dec 12, 2022

Detect key to Interrupt workspace start page, then offer UI with choice of workspace classes

I think a "start with options" - URL combined with a prompting page that displays the available options is the most versatile option and communicates well with the user.
@gtsiolis we would need to work on a design for the "Start with options" screen. It should be extendable to optionally also allow other choices in the future (IDE, ENV VARS, etc.)

@atduarte
Copy link
Contributor

FYI there's already a URL kind-of-parameter implementation to select JetBrains IDEs

BrowserUtil.browse("https://${settings.gitpodHost}#referrer:jetbrains-gateway:$backend/${contextUrl.component.text}")

@gtsiolis
Copy link
Contributor

gtsiolis commented Dec 12, 2022

On it. Thanks for the ping, @svenefftinge! 🏓

Jotting down some notes:

  1. Entry points: Standalone page, Workspaces List, Workspace Start, VS Code Command Palette, etc.
  2. Options: Class, Editor, etc.
  3. Iterations: Class selection, Editor selection, ENV injection, etc.

@svenefftinge
Copy link
Member

@gtsiolis and me worked on this and would like to approach it as follows:

We replace/extend the current open workspace modal to allow selecting:

  • context URL
  • the IDE
  • workspace class

(we can later add additional things, such as e.g. environment variables)

The modal is triggerable and pre-fillable using a query param. If no arguments are provided the context URL must be chosen (using the search we have now). The other two args will be set to what the defaults are for the given context URL (i.e. if I pick a context URL on a project that is set to use large workspaces, large workspace class is pre-selected, if I have IntelliJ as my default IDE, it is preselected as well).

The model will be embedded in https://gitpod.io/new (new project should be moved to gitpod.io/projects/new).

We should allow using these options on restarts of workspaces as well, where the properties are preselected from the last workspace instance.

George is going to provide some UI designs.

@gtsiolis
Copy link
Contributor

gtsiolis commented Dec 19, 2022

Posting below some designs after discussing with @svenefftinge:

Open in Gitpod
Open

See design specs (internal).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs visual design team: webapp Issue belongs to the WebApp team
Projects
Status: In Validation
Development

Successfully merging a pull request may close this issue.

4 participants