mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-14 13:22:37 +00:00
* fix(codex): split app-server stdout on newline only, not U+2028/U+2029 node:readline treats U+2028 and U+2029 as line terminators, but the Codex app-server writes them raw inside JSON strings. Any message containing them (e.g. tool output or code that mentions JS whitespace) was split into fragments that failed JSON.parse and were dropped as "non-JSON stdout lines". Dropped live events could leave an agent stuck in "running", and a thread/resume response containing them never resolved, leaving the UI on "Updating messages" indefinitely. Replace readline with a newline-only line reader (StringDecoder for UTF-8 chunk boundaries) and add a regression test. * fix(codex): read large app-server stdout lines in linear time The newline-only stdout reader rescanned the whole accumulated line on every chunk, so a multi-megabyte thread/resume response took seconds to frame. Search only the newly decoded text and join the unterminated parts once the line ends. Co-authored-by: James Tsang <wtzeng1@gmail.com> * test(codex): check the large chunked line without a wall-clock limit Co-authored-by: bebeebebbebebbe <54549544+kotusenka@users.noreply.github.com> --------- Co-authored-by: Graham <graham@eger.dev> Co-authored-by: paseo-bot[bot] <266920839+paseo-bot[bot]@users.noreply.github.com> Co-authored-by: James Tsang <wtzeng1@gmail.com> Co-authored-by: bebeebebbebebbe <54549544+kotusenka@users.noreply.github.com>