From dff1532a99769f6981ba67f5b59026fe3d43ccbc Mon Sep 17 00:00:00 2001 From: Guillermo Santos Date: Thu, 8 Oct 2026 03:05:24 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Use=20ConsoleSession.WaitForKey?= =?UTF-8?q?=20for=20input=20retrieval=20in=20KeyboardTextReader.Read?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes sure that Console.Read waits for a key input or de session to be terminated to return. --- src/Cosmos.Kernel.Plugs/System/IO/KeyboardTextReader.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Cosmos.Kernel.Plugs/System/IO/KeyboardTextReader.cs b/src/Cosmos.Kernel.Plugs/System/IO/KeyboardTextReader.cs index b8da0e3251..ad021645f5 100644 --- a/src/Cosmos.Kernel.Plugs/System/IO/KeyboardTextReader.cs +++ b/src/Cosmos.Kernel.Plugs/System/IO/KeyboardTextReader.cs @@ -13,7 +13,9 @@ internal sealed class KeyboardTextReader : TextReader { public override int Read() { - if (SessionManager.CurrentInput is { } session && session.TryReadKey(out KeyEvent? result)) + KeyEvent? result = SessionManager.CurrentInput is { } session ? session.WaitForKey() : null; + + if (result is not null) { return result.KeyChar; }