Commit Graph
3384 Commits
Author SHA1 Message Date
Tyler James Leonhardt 5134662139 Remove CredentialsService & keytar (#192224)
* Remove CredentialsService & keytar

ref https://github.com/microsoft/vscode/issues/115215
fixes https://github.com/microsoft/vscode/issues/143395

* compile

* remove imports

* rip the bandaid
2023-09-05 17:47:30 -07:00
Benjamin Pasero 14555a5123 app - ensure to remove windowId=_blank from protocol links (fix #191902) (#191990) 2023-09-01 16:40:42 +02:00
Benjamin Pasero 4f424db46e debt - ensure file scheme when using .fsPath (#191960) 2023-09-01 15:33:06 +02:00
Tyler James Leonhardt e7756c8870 reinstate github-auth parameter that was accidentally removed (#191862)
Fixes https://github.com/microsoft/vscode/issues/191861
2023-08-31 02:19:18 +02:00
Connor Peet 8ef6961789 server-web: implement secret storage provider (#191538)
Works quite similarly to vscode.dev. The client has a key stored in
secret storage. The server has a key stored server-side, and issues
an http-only cookie to the client. The client can ask the server to
combine its key and the http-only cookie key to a key component, which
it combines with its local key to encrypt and decrypt data.

This logic kicks in if the web server bits see a `vscode-secret-key-path`
cookie set when it loads.
2023-08-28 17:48:09 -07:00
Benjamin Pasero 85f166e053 voice - use LimitedQueue to prevent parallel transcriptions (#191311) 2023-08-25 15:04:59 +02:00
Benjamin Pasero d8f9194040 voice - limit media permission to insiders 2023-08-25 07:23:07 +02:00
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 bb61acf43c Merge branch 'main' into ben/voice 2023-08-10 08:53:24 +02:00
Matt Bierner 6e251255fb withNullAsUndefined(x) -> x ?? undefined (#189987)
Follow up on #189983

Replaces `withNullAsUndefined` with uses of `??`
2023-08-08 16:45:52 -07:00
Benjamin Pasero 707bffbdae voice - scaffold a basic voice recorder service 2023-08-08 17:08:44 +02:00
Tyler James Leonhardt 1e0b12d1ca Remove vscode-encrypt from node.js side (#189252)
* Remove vscode-encrypt from node.js side

Now that we've had a version of the product that has done the migration logic, we no longer need vscode-encrypt on the node side.

This removes all references of vscode-encrypt from the node side. I will also remove it from the package.jsons in distro.

* remove machineId
2023-08-01 11:30:48 +10:00
Tyler James Leonhardt 2b5bf2176e Call toLower on a few places to align navigator.language behavior (#188714)
ref https://github.com/microsoft/vscode/issues/187795
2023-07-24 13:02:48 -07:00
Logan Ramos ef42b49e80 Support proxies in the telemetry service (#187952) 2023-07-14 11:53:47 -07:00
Tyler James Leonhardt 8dcddb4124 Have auth proxy use application storage service (#187094)
* Have auth proxy use application storage service

Since this code is already using the encryption service, it already takes advantage of the better encryption provided by Electron so it can be stored in the normal storage service.

With that said, we do need a migration path, so this handles that migration.

* re-encrypt to force using the new electron algorithm

* it should already be removed from the old location
2023-07-14 19:39:24 +02:00
Sandeep Somavarapu ad791ef3d2 fix installing extension from CLI (#187305) 2023-07-07 20:42:45 +02:00
Tyler James Leonhardt 322bc2d7d8 Have getCurrentAuthenticationSessionInfo take in a secretStorageService (#187092)
To start the migration process, we have `getCurrentAuthenticationSessionInfo` take in a `secretStorageService` and also replaces the `LocalStorageCredentialProvider` with a `LocalStorageSecretStorageProvider`.

After this goes in we can then update all embedders (vscode.dev, github.dev, Codespaces, vscode-web-test?) and replace ICredentialProvider usages with ISecretStorageProviders and then once we do that, we can get rid of a bunch of code!
2023-07-06 00:09:01 +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
Simon Siefke 13c8667442 fix: gracefully handle process stdout/stderr EPIPE error (#186717)
fix: implement alternative solution for epipe error
2023-06-30 18:15:19 +00:00
Robo b4952d14a4 fix: remove emulation check and notification on windows (#186008) 2023-06-26 04:32:19 +02:00
Connor Peet 8256e0d0ae fix: use the right scheme for new managed remote resources (#185897)
Fixes #185886
2023-06-22 19:40:12 +02:00
Henning Dieterichs 25f01f5791 Removes diffEditorWidget2 trusted type, uses diffEditorWidget TT instead. (#185895) 2023-06-22 10:30:59 -07:00
Connor Peet 55bb8f1a17 remote: allow loading resources for managed remote authorities (#185720)
This implements basically the same 'loopback' that vscode.dev does via
a service worker to load resources for managed remote authorities in
Electron. Except instead of using a service worker, it uses a buffer
protocol via a new 'vscode-managed-remote-resource' scheme. It finds
the window that the request came from and asks it to load the remote
file.

I initially looked at folding it into the existing 'vscode-remote-resource'
scheme, but we needed a "buffer protocol" for this and it seems http
protocols can _only_ respond with an HTTP URL, which we don't want here.
2023-06-21 11:07:08 +02:00
Antonio PrudenzanoandRobo 65b471f4e2 Feat: #132598 Add notification in case of running a translated build on windows and macOS (#181191)
* added notification in case of running a rosetta translated build

* using app.runningUnderARM64Translation instead of system call

* added download button to the download page in the wrong build notification

* removed test call

* Update src/vs/workbench/electron-sandbox/window.ts

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

* Update src/vs/workbench/electron-sandbox/window.ts

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

* code format

* Update src/vs/workbench/electron-sandbox/window.ts

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

---------

Co-authored-by: Robo <hop2deep@gmail.com>
2023-06-20 14:52:27 +09:00
Daniel Imms 72006e3596 Improve pty host tracing and add simulated latency/startup delay settings 2023-06-15 07:22:30 -07:00
Tyler James Leonhardt b07469d8e3 First move off of keytar (#185077)
* First move off of keytar

Since keytar is now deprecated, we need a solution going forward. That solution is the electron safeStorage API.

This PR:
* Uses the Electron safeStorage API for encryption
* Since we have encrypted strings we then store them in the StorageService (at the application & machine level)

This PR also refactors things quite a bit... a diagram of the change is going to be in the PR.

It gives embedders the ability to override the behavior of the secret storage similar to the existing Credential Provider embedder API... only with a better API surface since we no longer need to conform to keytar's shape.

More will come after this PR such as:
* Converting all CredentialService usages to SecretStorageService usages

After a while:

* Removing MainThreadKeytar
* Removing all the old code marked in this PR

* Use InMemoryStorageService

* use pausable emitter
2023-06-14 20:09:24 +02:00
Benjamin Pasero 8e26c332de Warning message doesn't show up when code-insiders --status is run while no instances are open (#185080)
* Warning message doesn't show up when `code-insiders --status` is run while no instances are open (fix #185069)

* 💄
2023-06-14 08:43:26 +02:00
Henning Dieterichs 6cd5ac180a Implements inline diff view in diff editor v2. (#184735) 2023-06-09 10:43:06 -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
Benjamin Pasero 11cabc613a IssueReporterService should be lowercase (fix #183105) (#183182) 2023-05-24 18:05:18 -07:00
Benjamin Pasero 487a08afe5 Investigate detecting slow network connections (#178553) (#182653) 2023-05-22 14:38:13 +02: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
Benjamin Pasero b4a2a006a3 Allow to disable UNC access restrictions (fix #182055) (#182755) 2023-05-17 22:32:43 +09:00
Daniel Imms 45a70311ad Merge branch 'main' into tyriar/utility_ptyhost__2 2023-05-15 06:58:43 -07:00
Tilman RoederandBenjamin Pasero 29bf61673b Fix: Encode paths as URI components when opening a folder or workspace (#182398)
* Encode folder paths as URI components.

This should prevent issues when trying to open folder paths that contain
special characters like `+` or `&`.

* 💄

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@gmail.com>
2023-05-15 09:55:06 +02:00
Daniel Imms 7993982188 Create utility process pty host on Electron 2023-05-12 14:00:31 -07:00
Daniel Imms 1de9210c4f Merge remote-tracking branch 'origin/main' into tyriar/utility_ptyhost 2023-05-12 07:18:06 -07:00
Daniel Imms 260501799b Remove unused remote env var 2023-05-12 07:17:01 -07:00