summaryrefslogtreecommitdiff
path: root/internal/clients
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-06-29 12:23:20 +0300
committerPaul Buetow <paul@buetow.org>2025-06-29 12:23:20 +0300
commitaa7e7afebf2bb65fb5a86183bd1f7190d6502b4d (patch)
tree967c4570a181a0ac9904e3906ebb3a685ef02539 /internal/clients
parent0aa3222cef46d527bb9437afa9ddd90f3a80a9d8 (diff)
fix: resolve dcat test failures with channel-less implementation
- 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 <noreply@anthropic.com>
Diffstat (limited to 'internal/clients')
-rw-r--r--internal/clients/handlers/basehandler.go12
1 files changed, 5 insertions, 7 deletions
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")
}
}