-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Add the Browser Terminal as an IDE #17196
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
Conversation
/gh run recreate-vm Comment triggered a workflow runStarted workflow run: 4701100147
|
6af7b2c
to
c502c80
Compare
@@ -51,6 +52,9 @@ func ParseConfig(ctx context.Context, b []byte) (*config.IDEConfig, error) { | |||
return nil, err | |||
} | |||
|
|||
configCatClient := experiments.NewClient() | |||
experimentalIdesEnabled := configCatClient.GetBoolValue(ctx, "experimentalIdes", false, experiments.Attributes{}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should not it be per a user? 🤔 otherwise it either enables for all or none?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should, do you know where we can get the user data info from?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be done in getConfig then, i.e. provide user id and email similar to resolveWorkspaceConfig.
725b6f8
to
81c22d5
Compare
/hold since we need #17240 merged first. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added my email on the feature flag but still not seeing the editor in /new
or /preferences
. 🫖
Cross-posting for visibility a review comment from the original PR in #8464 (review):
|
81c22d5
to
f605a8b
Compare
@gtsiolis may I ask you to give this another go 🙏? I just tried and it seems to work 👀 |
@@ -16,7 +16,7 @@ export function load(): Promise<{ | |||
frame.src = startUrl.toString(); | |||
frame.style.visibility = "visible"; | |||
frame.className = "gitpod-frame loading"; | |||
document.body.appendChild(frame); | |||
document.body.prepend(frame); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This solves a bug in which in Safari, the loading screen would not be hidden when the IDE loaded. It wasn't present in VS Code, because we actually append the IDE itself lazily, but for Xterm and potentially other web IDEs we might have a static HTML structure ready.
@@ -195,6 +196,18 @@ func ideConfigConfigmap(ctx *common.RenderContext) ([]runtime.Object, error) { | |||
ImageLayers: []string{jbPluginImage, jbLauncherImage}, | |||
LatestImageLayers: []string{jbPluginLatestImage, jbLauncherImage}, | |||
}, | |||
xterm: { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here we add the IDE to the IDE list. Currently, latest is the same as stable, since there are no proper versions yet.
/gh run recreate-vm Comment triggered a workflow runStarted workflow run: 4756788264
|
@gtsiolis in what ways would popping up in a separate smaller window be better? |
This reverts commit 06aee00.
a37ff85
to
450dc2b
Compare
Never mutate `s.ideConfig` itself and make an in-memory copy of it to not use it every time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code-wise looks good, but I did not test
/hold
Description
Adds Xterm.js as a web alternative to connecting to your workspace via SSH from your terminal. The code can be found at https://github.com/gitpod-io/xterm-web-ide and the Docker image is at ide/xterm-web.
Preview environment 🌐: https://ide-browser-terminal.preview.gitpod-dev.com/workspaces
How to test
experimentalIdes
(non-prod)Useful commands
Re-pull the IDE:
Current limitations
Does not work on mobile [fixed]
iPad demo
RPReplay_Final1679590301.mp4
Release Notes
⬆️ we can mention it after we finish the internal dog food
Documentation
Todo
gp stop
closes xterm.js editor and shows the "Workspace Stopping" screengp open
worksgp preview
worksNice-to-haves
Build Options:
Run the build with werft instead of GHA
Run Leeway with
--dont-test
Publish Options
Installer Options
Add desired feature flags to the end of the line above, space separated
Preview Environment Options:
If enabled this will build
install/preview
If enabled this will create the environment on GCE infra
Valid options are
all
,workspace
,webapp
,ide
,jetbrains
,vscode
,ssh