From aa7e7afebf2bb65fb5a86183bd1f7190d6502b4d Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 29 Jun 2025 12:23:20 +0300 Subject: fix: resolve dcat test failures with channel-less implementation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix serverless mode extra blank lines by removing DTail 3 backward compatibility fallthrough for '\n' character - Fix empty line handling in client message processing - Update integration test framework to inherit environment variables, allowing turbo boost testing - Clean up debug logging code Note: dcat1d.txt test fails because DTail adds newline to files without trailing newlines - this is a protocol limitation where newlines are stripped during transmission and re-added by the client. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- internal/clients/handlers/basehandler.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'internal/clients') diff --git a/internal/clients/handlers/basehandler.go b/internal/clients/handlers/basehandler.go index d1f0bb5..1a500dc 100644 --- a/internal/clients/handlers/basehandler.go +++ b/internal/clients/handlers/basehandler.go @@ -61,10 +61,8 @@ func (h *baseHandler) Write(p []byte) (n int, err error) { for _, b := range p { switch b { case '\n': - // Backwards compatible with DTail 3 (e.g. get error message from server - // about protocol missmatch. + // Just add the newline to the buffer, don't treat as message delimiter h.receiveBuf.WriteByte(b) - fallthrough case protocol.MessageDelimiter: message := h.receiveBuf.String() h.handleMessage(message) @@ -93,11 +91,11 @@ func (h *baseHandler) handleMessage(message string) { return } - // Only add newline if message doesn't already end with one - if len(message) > 0 && message[len(message)-1] != '\n' { - dlog.Client.Raw(message + "\n") - } else { + // Add newline only if the message doesn't already end with one + if len(message) > 0 && message[len(message)-1] == '\n' { dlog.Client.Raw(message) + } else { + dlog.Client.Raw(message + "\n") } } -- cgit v1.2.3