Skip to content

fix(cf): collapse newlines in send so one message stays one line#8

Merged
marksverdhei merged 1 commit into
mainfrom
fix/send-collapse-newlines
Jun 27, 2026
Merged

fix(cf): collapse newlines in send so one message stays one line#8
marksverdhei merged 1 commit into
mainfrom
fix/send-collapse-newlines

Conversation

@marksverdhei

Copy link
Copy Markdown
Owner

Bug

cf send "$msg" (and send-await) wrote the argument verbatim:

printf '%s: %s\n' "$MYNAME" "$1" >> "$CHATFILE"

A message containing a newline therefore lands as two physical lines. The chatroom is line-oriented (its header literally says Format: Name: msg), and await derives the sender with tail -n 1 | cut -d: -f1 — so the wrapped second line, which has no Name: prefix, is parsed as a phantom message from a sender named after the text.

Repro (before)

$ cf send "line one
line two"
$ tail -2 Chatfile
swift-fox-1423: line one
line two                     # <- prefix-less; await reads sender = "line two"

Fix

Collapse newlines to spaces in send and send-await:

printf '%s: %s\n' "$MYNAME" "${1//$'\n'/ }" >> "$CHATFILE"

Test

test_send_collapses_newlines — a 2-line message must add exactly one physical line, prefixed by the sender. It fails on the old code, passes on the fix; suite 41/41.

Second of the follow-ups flagged when #1 was closed as superseded (after #7 landed the set -e register fix).

🤖 Generated with Claude Code

…riant)

`cf send "$msg"` wrote the arg verbatim, so a message containing a newline
landed as two physical lines. The chatroom is line-oriented ("Format: Name:
msg") and `await` derives the sender via `tail -n 1 | cut -d: -f1`, so the
wrapped second line — which has no "Name:" prefix — gets parsed as a phantom
message from a sender named after the text. Collapse newlines to spaces in
both `send` and `send-await`.

Adds `test_send_collapses_newlines` (a 2-line message must add exactly one
physical line, prefixed by the sender). Fails against the old code, passes
with the fix; suite 41/41.

Second of the follow-ups noted when #1 was closed as superseded.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@marksverdhei marksverdhei merged commit 59cf45c into main Jun 27, 2026
1 check passed
@marksverdhei marksverdhei deleted the fix/send-collapse-newlines branch June 27, 2026 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant