teknium1
1393403dd7
fix(process_registry): strip bash startup noise until real output, not only from the first read
...
A tty-less `bash -lic` writes "cannot set terminal process group" and
"no job control in this shell" as two separate write() calls. The reader
cleaned shell noise from the FIRST chunk only, so whenever it woke between
the two writes (loaded CI runners) the second line landed in
output_buffer as the process's only "output".
Symptoms on main: tests/hermes_cli/test_process_dock.py painted
"last: bash: no job control..." instead of "starting" (3 main reds,
Sep 21-22) and tests/tools/test_process_registry_list_exit.py's probe
woke on that noise before the writer had printed, so the completion
event lacked "owner-output" (2 main FLAKY frames). The same leak reaches
users through process.list output_preview and the live-work dock.
Keep stripping leading noise from every chunk until the process has
produced non-blank output; after that, matching text is the process's
own. The list_exit probe now waits for the writer's marker rather than
for any bytes.
Live repro (stand-in shell reproducing bash's two writes with a 50 ms
gap, real spawn_local + select/read1 reader): base 10/10 buffers carry
"bash: no job control in this shell\n"; fixed 0/10.
2026-09-23 05:34:25 -07:00
..
2026-09-19 23:13:10 -07:00
2026-09-23 03:25:06 -07:00
2026-09-23 09:26:07 +05:30
2026-09-21 18:54:23 -07:00
2026-09-21 15:02:49 -07:00
2026-09-20 15:32:00 -07:00
2026-09-20 15:32:42 -07:00
2026-09-19 23:41:45 -07:00
2026-09-20 18:50:37 -07:00
2026-09-20 18:50:37 -07:00
2026-09-20 10:16:51 -07:00
2026-09-20 13:54:22 -07:00
2026-09-20 13:54:22 -07:00
2026-09-22 15:55:09 +05:30
2026-09-20 11:51:14 -07:00
2026-09-23 03:25:06 -07:00
2026-09-18 19:20:01 -07:00
2026-09-18 19:20:01 -07:00
2026-09-23 03:25:06 -07:00
2026-09-19 22:51:13 -07:00
2026-09-18 14:09:20 -07:00
2026-09-18 14:06:15 -07:00
2026-09-21 08:58:37 -07:00
2026-09-19 10:44:26 -07:00
2026-09-21 15:02:49 -07:00
2026-09-19 10:44:26 -07:00
2026-09-20 15:49:52 -07:00
2026-09-20 15:54:45 -07:00
2026-09-21 02:52:15 -07:00
2026-09-20 15:50:20 -07:00
2026-09-21 01:16:30 -07:00
2026-09-20 09:52:22 -07:00
2026-09-19 23:57:59 -07:00
2026-09-22 13:57:51 +05:30
2026-09-20 12:53:47 -07:00
2026-09-21 10:40:03 -07:00
2026-09-21 18:39:24 -07:00
2026-09-19 01:32:28 -07:00
2026-09-20 10:44:16 -07:00
2026-09-21 18:39:24 -07:00
2026-09-21 18:39:24 -07:00
2026-09-21 18:39:24 -07:00
2026-09-21 10:40:03 -07:00
2026-09-19 10:44:26 -07:00
2026-09-20 19:03:47 -07:00
2026-09-23 01:16:41 -07:00
2026-09-21 09:55:40 -07:00
2026-09-21 10:04:32 +05:30
2026-09-22 17:54:42 +05:30
2026-09-20 18:22:18 -07:00
2026-09-18 12:47:49 -07:00
2026-09-20 19:02:21 -07:00
2026-09-20 12:40:36 -07:00
2026-09-22 13:57:51 +05:30
2026-09-22 22:00:24 +00:00
2026-09-20 15:34:58 -07:00
2026-09-22 22:00:24 +00:00
2026-09-20 10:07:26 -07:00
2026-09-22 17:54:42 +05:30
2026-09-21 02:58:40 -07:00
2026-09-23 11:45:12 +05:30
2026-09-21 13:14:22 -07:00
2026-09-22 22:00:24 +00:00
2026-09-22 17:54:42 +05:30
2026-09-21 01:44:16 -07:00
2026-09-23 01:06:32 -07:00
2026-09-21 14:26:37 +05:30
2026-09-20 10:57:35 -07:00
2026-09-20 11:49:00 -07:00
2026-09-20 11:49:00 -07:00
2026-09-21 15:02:49 -07:00
2026-09-23 05:34:25 -07:00
2026-09-19 10:44:26 -07:00
2026-09-21 23:38:16 -07:00
2026-09-19 10:16:59 -07:00
2026-09-19 10:44:26 -07:00
2026-09-20 11:20:26 -07:00
2026-09-20 11:12:48 -07:00
2026-09-22 16:16:30 +05:30
2026-09-22 12:52:49 +05:30
2026-09-22 12:52:49 +05:30
2026-09-22 12:52:49 +05:30
2026-09-19 09:20:54 -07:00
2026-09-20 16:21:37 -07:00
2026-09-22 15:59:17 +05:30
2026-09-22 15:59:17 +05:30
2026-09-20 16:00:26 -07:00
2026-09-22 15:59:17 +05:30
2026-09-22 15:59:17 +05:30
2026-09-20 12:58:32 -07:00
2026-09-22 15:59:17 +05:30
2026-09-22 17:08:30 +05:30
2026-09-19 01:29:03 -07:00
2026-09-22 16:15:34 +05:30
2026-09-21 15:02:49 -07:00
2026-09-18 12:49:13 -07:00
2026-09-21 15:02:49 -07:00
2026-09-20 11:30:03 -07:00
2026-09-20 10:17:04 -07:00
2026-09-22 13:57:51 +05:30
2026-09-19 10:44:26 -07:00
2026-09-22 17:54:42 +05:30
2026-09-19 10:03:11 -07:00
2026-09-23 11:54:30 +05:30
2026-09-22 13:40:29 +05:30
2026-09-19 10:12:15 -07:00
2026-09-19 10:12:15 -07:00
2026-09-22 13:40:29 +05:30
2026-09-20 10:50:27 -07:00
2026-09-19 10:10:29 -07:00
2026-09-20 10:50:27 -07:00
2026-09-20 10:25:30 -07:00
2026-09-20 10:57:35 -07:00
2026-09-20 15:28:59 -07:00
2026-09-19 12:22:44 -07:00
2026-09-19 09:52:18 -07:00
2026-09-19 09:56:12 -07:00
2026-09-20 10:16:27 -07:00
2026-09-19 10:54:38 -07:00
2026-09-22 01:13:23 -07:00
2026-09-20 18:26:41 -07:00
2026-09-19 03:07:47 -07:00
2026-09-20 10:14:37 -07:00
2026-09-19 12:22:44 -07:00