Commit Graph
582 Commits
Author SHA1 Message Date
Benjamin Pasero c21b0e9d56 Merge branch 'main' into ben/voice 2023-08-24 06:21:19 +02:00
Connor Peet 1fe8359ed0 cli: implement 'server of server' for a local web server (#191014)
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.
2023-08-22 17:29:51 -07:00
Benjamin Pasero c71094a794 voice - stop processing after 30s 2023-08-18 12:03:18 +02:00
Benjamin Pasero 088f7cf832 voice - only send new data to voice transcriber 2023-08-18 11:50:37 +02:00
Benjamin Pasero 733530d9e5 voice - implement sequential transcriptions 2023-08-17 14:36:19 +02:00
Benjamin Pasero ce752f607a voice - better ports lifecycle 2023-08-17 14:10:01 +02:00
Benjamin Pasero e36739b66d voice - some cleanup and 💄 2023-08-17 12:13:14 +02:00
Benjamin Pasero b96621b58c voice - implement direct MessagePort communcation between audio worklet and shared process 2023-08-17 11:47:14 +02:00
Benjamin Pasero 03ffebe2fc voice - drop VSFloat32Array and encode float32 into a VSBuffer 2023-08-10 12:43:37 +02:00
Benjamin Pasero 707bffbdae voice - scaffold a basic voice recorder service 2023-08-08 17:08:44 +02:00
Logan Ramos ef42b49e80 Support proxies in the telemetry service (#187952) 2023-07-14 11:53:47 -07:00
Sandeep Somavarapu ad791ef3d2 fix installing extension from CLI (#187305) 2023-07-07 20:42:45 +02:00
Sandeep Somavarapu 1157e96e24 adopt atomic write for userdata (#187038)
* #180695 - adopt atomic write for userdata

* check if fsp has atomic write

* fix tests
2023-07-05 13:29:34 -07:00
Benjamin Pasero fa84a900fa code --status displays a lot of errors before actual status output (#183787) (#184199)
fix 183787
2023-06-02 20:40:41 +02:00
Robo 23850e2363 fix: reading from console output for --status on windows and linux (#184118) 2023-06-02 15:01:16 +09:00
Benjamin Pasero 66ad45b79a cli - ignore std error unless verbose (#183787) (#184031) 2023-06-01 10:32:33 +02:00
Benjamin Pasero 2a8dea3225 code --status displays a lot of errors before actual status output (fix #183787) (#183915) 2023-05-31 18:47:24 +09:00
Daniel Imms 9d1a210778 Support fish SI automatic injection
Fixes #139400
2023-05-19 15:45:28 -07:00
Connor Peet 773af9641d remote: fix port forwarding not working (#182980)
fix: register a remote socket factory in the shared process

Surprised this didn't fail more verbosely...

Fixes #182749
2023-05-19 19:42:53 +02:00
Daniel Imms 7f4221a955 Merge remote-tracking branch 'origin/main' into tyriar/utility_ptyhost 2023-05-10 08:10:12 -07:00
Sandeep SomavarapuandBenjamin Pasero d4632bb740 unc - adopt setting and handling of allow list (#181916)
* 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>
2023-05-09 19:52:08 +02:00
Sandeep Somavarapu 3b74e3f2bd detect remote loggers in the UI (#181399) 2023-05-03 14:44:06 +02:00
Connor Peet cda21c19a7 cli: fix attach does not always work (#181273)
* 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
2023-05-01 14:58:25 -07:00
Benjamin Pasero 6d5b85427d debt - remove unsupported max_old_space_size option (#180183) 2023-04-17 22:32:23 -07:00
RoboandBenjamin Pasero e5f61433b5 chore: update to Electron 22 (#177600)
* Revert "chore: revert to Electron 19 (#175851)"

This reverts commit 3a11b47eee.

* chore: bump electron@22.3.3

* build: use custom version for V8 sandbox

* chore: update electron@22.4.1

* chore: enable forceAllocationsToV8Sandbox for extension host

* chore: bump electron@22.4.2

* chore: bump electron@22.4.3

* sandbox - cleanup from electron 22 update (#178919)

* Revert "chore: revert to Electron 19 (#175851)"

This reverts commit 3a11b47eee.

* chore: bump electron@22.3.3

* build: use custom version for V8 sandbox

* chore: update electron@22.4.1

* chore: enable forceAllocationsToV8Sandbox for extension host

* chore: bump electron@22.4.2

* chore: bump electron@22.4.3

* temp: update distro

* sandbox - cleanup from electron 22 update

* missing comile

* more changes

* fix build

* restore

* 💄

* compile

---------

Co-authored-by: deepak1556 <hop2deep@gmail.com>

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2023-04-03 09:09:31 +02:00
Daniel Imms d600b2e196 Move pty host from shared to main proc 2023-03-31 11:21:14 -07:00
Daniel Imms a9fbd36e4f Start extracting pty host starter into interface
Part of #175335
2023-03-30 11:05:25 -07:00
Martin Aeschlimann adbc695833 cli: fix code tunnel on snap (#177482) 2023-03-20 22:27:33 +01:00
Connor Peet c26e1a7a89 fix: code tunnel using program folder on windows (#177514)
Uses the common cwd() helper which pulls process.env.VSCODE_CWD

Fixes #175748
2023-03-17 13:14:55 -07:00
João Moreno 5bb3880b20 remove telemetry prop: common.source (#176688)
* remove telemetry prop: common.source

* remove extra code

* use interface

* use interface again

* fix tests
2023-03-10 15:22:27 +01:00
Sandeep Somavarapu 34652da5fa cli: more improvements (#176663)
- more logging
- reduce extensions scanning
2023-03-09 10:29:58 -08:00
Martin Aeschlimann f1d871dbf1 getMachineId should not use errors.onUnexpectedError (#176512) 2023-03-08 14:37:38 +01:00
Sandeep Somavarapu af53f2e00d fix #175673 (#175675) 2023-02-28 18:21:16 +01:00
Sandeep Somavarapu 33b821bab2 fix #175396 (#175631) 2023-02-28 00:58:27 -08:00
Sandeep Somavarapu 52dd56689f Improvements to logger and netwok requests logging (#175492)
- 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
2023-02-27 10:05:20 +01:00
Benjamin Pasero 9bbce647b3 debt - strict layer rules for more services (#175411) 2023-02-25 15:49:47 +01:00
Benjamin Pasero c3100304dd Reduce layer breakers in shared process (#175333)
* move `sharedProcessLifecycleService`

* move `remoteTunnelService`

* move `ExtensionsProfileScannerService`

* move `RequestService`

* move extension recommendations

* move native host service

* move `UserDataAutoSyncService`

* move `ExtensionTipsService`

* move `IMainProcessService`

* move `UserDataProfileStorageService`

* more moves

* move main process service
2023-02-24 16:02:20 +01:00
Benjamin Pasero b83565b135 Improve network requests logging (#175258) (#175325) 2023-02-24 15:58:31 +01:00
Benjamin Pasero ed6bb0790b sandbox - enable utility process in insiders by default (#175326) 2023-02-24 15:41:33 +01:00
Sandeep Somavarapu 2b54ca810f use vscode-userdata scheme for user data (#175212) 2023-02-23 09:22:51 +01:00
Benjamin Pasero 0ef4b66766 partially revert move of node files (#174815) 2023-02-20 18:09:48 +11:00
Benjamin Pasero 31edbf7ca6 sandbox - move shared process to node layer (#174581) 2023-02-17 10:18:01 +01:00
Sandeep Somavarapu 11fcbd051a prepare for server profiles (#174232)
* 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
2023-02-14 08:58:44 +01:00
Sandeep Somavarapu 5936a4eb52 Enable profiles by default except web+remote (#171812)
#116740 Enable profiles by default except web+remote
2023-01-20 12:07:30 +01:00
Sandeep Somavarapu a3b2f85ba4 CLI: bail out when profile does not exist (#171646) 2023-01-18 09:57:43 -08:00
Connor Peet dec4735ed6 server: fix cpu loop on SIGPIPE (#170305)
- 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.
2023-01-17 19:25:58 +00:00
Sandeep Somavarapu 05d59b893e Log: Enhancements and cleaup (#171325)
- 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
2023-01-14 19:46:46 +01:00
Sandeep Somavarapu 5167c393aa proper fix for #165447 (#169883)
- use extensions location to get relative path
2022-12-23 10:47:34 +01:00
Connor Peet c87fa19f79 cli: avoid interactions when running integrated (#167780)
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.
2022-11-30 23:15:08 +00:00
Logan Ramos a3bde69a35 Allow machne id generation in main process (#167449) 2022-11-28 13:25:19 -08:00