-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Theia should not offer to start apps for debugging #14091
Comments
We plan to let the user installing a vscode extension in any sidecar container (even without FROM eclipse/che-theia-endpoint-runtime). Would that solve the problem ? |
It may, but still depends on setup. I need to rewrite this bug description when I have some time. The basic issue is that the application being developed should only be run in the main workspace container. The only mode of debugging supported by Che in any sustainable way is remote debugging in the main container. In my eyes, all "launch" configs should be hidden in Theia unless absolutely necessary, since end-users should not have to worry about what's running in sidecars. |
It would not: the extension needs to be bundled with everything it needs to run: that is the responsibility of the plugin developer, not of the person making the devfile. |
@amisevsk I appreciate the goal you're stating, but I'm not sure what you're suggesting is possible, technically: would you just hide any "launching"-type debug configs that a third party VS Code extension contributes from the debug UI? |
@tsmaeder I agree that it may not be possible/feasible -- I'm not familiar enough with how extension-contributed launches work in Theia. Would it be possible to e.g. disable configs with |
@amisevsk Do you think process namespace sharing would help here? |
We will do an investigation into:
|
@gorkem From a cursory read, it would at least enable more debug configs to function, since currently "attach to process" style debugs do not work. That would go a long way to alleviating a significant potential source of confusion to new users (who would have to know that theia and their project are running in separate containers). One concern is that systemd-based containers may fail to run: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/#understanding-process-namespace-sharing |
@gorkem since we can't launch anything in the dev container, attaching usually does not even come into play. But yes, it would enable more scenarios in the future. |
Is it ok to remove them from the file once |
No, I don't think so: tools should never lose data a user may have written by hand. |
So, what does |
@tolusha I'm generally referring to the autocompletes when you're adding configurations -- either through the "Add configuration" option or by using autocompletion in launch.json. |
@tolusha I think it's fine if the user is adding manually, I'm more concerned with che-theia leading users down a path that ultimately will not work for them. |
This needs some design work: just filtering out all launch type configurations seems excessive. does it make sense to filter based on some configuration in the plugin metadata? |
Idea from @tolusha : pass a list of launch config names through an environment variable to the theia ide container. This would solve the problem from devfiles, but not from plugin metadata. We'd have to have a way to pass environment variables to the theia container. |
Issues go stale after Mark the issue as fresh with If this issue is safe to close now please do so. Moderators: Add |
Is your enhancement related to a problem? Please describe.
Many default suggested debug configurations in Theia operate similarly to VSCode: they start the specified app and connect debugging to it.
This does not make sense for Eclipse Che. We often start the Theia sidecar container with a limited (
512MiB
) memory quota, and often it's impossible to run anything else significant in this container.Some examples that come to mind are
npm debug
in the theia container; these usually get killed before starting up completelyDescribe the solution you'd like
At the very least, Theia should not suggest configurations that will not work. Ideally Theia would be able to somehow operate in the main workspace container (which should have enough memory to run the app), but I realize this is likely not possible in a general way.
Describe alternatives you've considered
Caveat emptor, I guess?
Additional context
The text was updated successfully, but these errors were encountered: