From 1826af37a5014d340ea577fde61b10a3ab3d1f7b Mon Sep 17 00:00:00 2001 From: pptx704 Date: Sat, 11 Apr 2026 05:16:43 +0600 Subject: [PATCH] Increase multiplexer fork buffer to 4096 to prevent output drops 64-entry buffer was too small for high-throughput PTY output (e.g. ls -laihR /). The consumer couldn't drain fast enough over the RPC stream, causing the non-blocking send fallback to silently discard data. 4096 entries (~64MB at 16KB/chunk) handles sustained output without drops while still preventing deadlock on stuck consumers. --- envd/internal/services/process/handler/multiplex.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/envd/internal/services/process/handler/multiplex.go b/envd/internal/services/process/handler/multiplex.go index 0f477dd..a3f6ea3 100644 --- a/envd/internal/services/process/handler/multiplex.go +++ b/envd/internal/services/process/handler/multiplex.go @@ -56,7 +56,7 @@ func (m *MultiplexedChannel[T]) Fork() (chan T, func()) { m.mu.Lock() defer m.mu.Unlock() - consumer := make(chan T, 64) + consumer := make(chan T, 4096) m.channels = append(m.channels, consumer)