gh run view --log and --log-failed no longer fail on logs with ANSI color codes or non-ASCII text.
Plexus job-log replies count offset, length, and total_bytes in raw log bytes, but body is display text — ANSI codes stripped, split multibyte characters decoded as U+FFFD. The shim previously rejected any reply whose body length differed from length, so such logs always failed.
Bug Fixes
Drop the body-length equality check; only the raw byte range is validated now.
Page log streaming by raw offset + length instead of body length, detecting a stall by zero consumed raw bytes.
Request log pages of 1 MiB - 1 KiB so U+FFFD growth at page edges stays under the decode bound.
Confidence Score: 5/5
The PR appears safe to merge; no actionable issues were found.
Summary
Fixes job-log reads when the returned display text differs in size from the stored log bytes.
The worker reads job logs even when display text changes size.