Files
Xichang(Seacen) ZhaoandXichang Zhao 27d0529faf MUL-7319 fix(wecom): a completion of whitespace is not a message (#8347)
A completion of "\n" with a file bound to it was read as words: both send
paths tested `content != ""`, so an empty markdown bubble went into the chat
ahead of the file, and the reply's outcome was recorded as delivered by that
text — leaving the file's own failure unable to move the reply counter.

`hasVisibleChar` (a rune that is neither whitespace nor a control character)
replaces `!= ""` on both the local path (processEvent) and the relayed one
(deliverRelayed), and the same predicate decides `carriesTheReply`. Fixing
both matters: which one runs depends on where the WS lease sits, so a
one-sided fix would let the replica holding the socket decide whether the
user sees a blank bubble.

Regression tests cover both paths and are reverse-verified against the
restored `!= ""` spelling, which `go vet` does not catch.

Co-authored-by: Xichang(Seacen) Zhao <[email protected]>
2026-09-13 17:52:13 +08:00
..