CoenraadS.[email protected]
eamodio.[email protected]
ms-azure-devops.[email protected]
ms-mssql.[email protected]
ms-python.[email protected]
ms-vscode.[email protected]
ms-vscode.[email protected]
ms-vsliveshare.[email protected]
Name Value
---- -----
PSVersion 5.1.17763.134
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.134
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
System Details Output
When prompting for input from the host (i.e. Read-Host or Get-Credential) the first letter that you type gets ignored resulting in the intended value of the command to be incorrect. It then writes the initial letter that got committed onto the next line in the console. Please see the gif below:

From the example in the gif I would expect the output of the command to be test and then have an empty line to continue typing commands.
The example in the gif shows that the initial t typed is not registered as part of the input and so the command outputs est and then you can see the intial t is the written in the console on the next line.
Haven't attached logs as it's not crashing but let me know if you need me to.
@sk82jack thanks for reporting this, it looks like this is a buffer issue likely caused by the PSReadLine implementation.
@SeeminglyScience any thoughts?
Yeah I believe this is due to an incorrect assumption on my part. I had thought that if two threads were invoking Console.ReadKey(true) at the same time (on Windows at least) then both threads would get the same key at the same time. I thought I had tested that, but it appears I did not.
A possible fix would be to use the same ReadKey override field we use for non-Windows to inject our ReadKey implementation.
I can confirm that it is still a problem in preview 2.
I confirm this issue; if I run the following script
````
Write-Host -NoNewline ("Enter password: ")
$password = Read-Host -AsSecureString
$RIOM = [Runtime.InteropServices.Marshal]
$bStr = $RIOM::SecureStringToBSTR($password)
$ctpassword = $RIOM::PtrToStringAuto($bStr)
$RIOM::ZeroFreeBSTR($bStr)
Write-Host ("Password is: '{0}'" -f $ctpassword)
Remove-Variable ctpassword
```
and enter12345` I get:

I've got a PR out to fix this.
Not fully fixed
@ili101 looks like that's dropping a few characters on paste. A different issue than this one. Can you open a new issue so we can track this separately?
Most helpful comment
I can confirm that it is still a problem in preview 2.