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

Remote Console For Web Applications #30

Open
jdobrzanski opened this issue Aug 13, 2021 · 1 comment
Open

Remote Console For Web Applications #30

jdobrzanski opened this issue Aug 13, 2021 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@jdobrzanski
Copy link

Feature Description

Nice work!!! I've been waiting for a cross-platform c# REPL, thanks!

A great feature addition would be the ability to "remote console" into running web applications such as is possible with other stack's REPLs (e.g. elixir/erlang). This is very convenient for confirming/tweaking service configurations and executing code for debugging issues. We use this extensively in our phoenix/elixir deployment (with care on production but very helpful for staging too). Obviously this exposes a security risk but can be locked down.

I imagine that the console would run locally and use tcp to send commands and print the results. It would be up to the end-users to ensure secure connections and proper authorization.

The critical piece is that the console should have fun access to the running system and state. Nice-to-haves would be to have access to the IServiceProvider to instantiate instances of services and inspect/set fields/properties or run methods.

@jdobrzanski jdobrzanski added the enhancement New feature or request label Aug 13, 2021
@waf
Copy link
Owner

waf commented Aug 14, 2021

Thanks! I agree, this would be a great feature. I miss it from my time in Clojure.

Implementation-wise, I think it'd make sense to use MIEngine and netcoredbg. This is a similar architecture to what e.g. vscode uses, and gives us debugging over SSH, as well as docker, for "free" without having to define our own protocol. I think it should work for both local and remote and be cross-platform.

See also https://github.com/puremourning/vimspector which uses a similar way of connecting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants