Closes https://github.com/microsoft/vscode/issues/168492
This implements @aeschli's 'server server' concept in a new
`code serve-web` command.
Command line args are similar to the standalone web server. The first
time a user hits that page, the latest version of the VS Code web server
will be downloaded and run. Thanks to Martin's previous PRs, all
resources the page requests are prefixed with `/<quality-<commit>`.
The latest release version is cached, but when the page is loaded again
and there's a new release, a the new server version will be downloaded
and started up.
Behind the scenes the servers all listen on named pipes/sockets and the
CLI acts as a proxy server to those sockets. Servers without connections
for an hour will be shut down automatically.
* unc - adopt setting and handling of allow list (#5)
* unc - adopt setting and handling of allow list
* unc - set allow list on server too
* unc - pick our patched node.js for now
* bump electron
* unc - ignore sync is not needed with machine scope
* unc - use process set directly
* 🆙 22.5.1
* fix compile
---------
Co-authored-by: Benjamin Pasero <Benjamin.Pasero@microsoft.com>
* fix: don't sync debug.lastExtensionDevelopmentWorkspace
* cli: fix attach does not always work
Seems like reading stdin when it's open but never written to blocks the process. Fix that, both by checking IS_INTERACTIVE_CLI before reading stdin, and by not passing stdin to the tunnel subprocess.
Fixes#179122
- Able to create logger by passing id
- Support when conditions for loggers
- Separate logger for all network requests
- Log request and response headers
- Enable request logger on trace
- Add loggerService in CLI
* prepare for server profiles
- make state service available in server
- Intrdouce save stragey in state service - state shall be saved immediately in server
- use UserDataProfilesService that can save profiles in server
* feedback
* - add tests
- register IStateReadService in main
- One missed uncaughtException site was causing a loop (maybe we want
to handle this error on onUnexpectedError instead?)
- The SIGPIPE listener itself was causing a loop, as well. Only try to log once.
- Make logger service primary source for log level
- Automatically register output channels for loggers from anywhere
- Use logger channels on remote processes (server, pty)
- clean up loggers and log service
Fixes https://github.com/microsoft/vscode/issues/167760
The VS Code CLI gets run from a bash/shell script. This prevents interactions--in the former case, it doesn't look like a tty, and in the latter case batch scripts don't seem to support having interactive subprocesses.
This PR avoids interactions if stdin is not a tty, prompting the user to use the flag instead. Use of the flag is also persisted like an interactive agreement prompt.