* add sqm id for windows
* Update src/vs/platform/windows/electron-main/windowsMainService.ts
* Update src/vs/platform/sharedProcess/node/sharedProcess.ts
* react on review comments
* The reg entry is called MachineId not MachineGuid
* fix compile error
* no need for \\ prefix in reg path
* Wait for 1s max (as to not block the startup) to read the SQM value
---------
Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
This is a new service which extends IPtyService and provides additional methods
on the process that manages the connection to the pty host:
- IPtyService: Talk to the pty host, this may be direct via a message port of via
the main/server procs.
- IPtyHostService: Talk to the pty host management interfaces on the main/server
procs. These are no longer available as optional methods on IPtyService to be
clear about where they happen (eg. getProfiles).
Fixes#186935
* 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
- 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
* Implement profiles on server
- Ability to create profiles on server
- Client manages the profiles on profile
- Enable profiles in web + remote
* fix tests
* 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
- 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
- store default extensions manifest in extensions dir
- command to install an extension from location
- remember and init default profile extensions in cached scanner
* api feedback
- remove critical log level
- move log level off to be 0
* handle off log level
* fix disabling log level in tests
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>