View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0006628 | unreal | ircd | public | 2026-06-12 21:29 | 2026-06-13 10:53 |
| Reporter | progval | Assigned To | syzop | ||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | resolved | Resolution | fixed | ||
| Fixed in Version | 6.2.6 | ||||
| Summary | 0006628: multiline-concat should not concatenate server-side | ||||
| Description | When a multiline-aware client sends this: @label=xyz BATCH +123 draft/multiline #test @batch=123 PRIVMSG #test : @batch=123 PRIVMSG #test :how \x0304is @batch=123;draft/multiline-concat PRIVMSG #test :everyone? BATCH -123 other multiline-aware clients receive this: @label=xyz;msgid=iD3UGnJUYeJK5rxS9uFrcE;time=2026-06-12T19:20:07.558Z :alice!~username@Clk-4D552FD5 BATCH +DeAmXVtTyMA8pZ9MEgkzpZ draft/multiline #test @batch=DeAmXVtTyMA8pZ9MEgkzpZ;label=xyz;time=2026-06-12T19:20:07.558Z :alice!~username@Clk-4D552FD5 PRIVMSG #test : @batch=DeAmXVtTyMA8pZ9MEgkzpZ;label=xyz;time=2026-06-12T19:20:07.558Z :alice!~username@Clk-4D552FD5 PRIVMSG #test :how \x0304is @draft/multiline-concat;batch=DeAmXVtTyMA8pZ9MEgkzpZ;label=xyz;time=2026-06-12T19:20:07.558Z :alice!~username@Clk-4D552FD5 PRIVMSG #test :everyone? and multiline-unaware clients receive this: @msgid=iD3UGnJUYeJK5rxS9uFrcE;time=2026-06-12T19:20:07.558Z :alice!~username@Clk-4D552FD5 PRIVMSG #test :how \x0304is everyone? (where they display both "is" and "everyone" in red) this differs from Ergo where they would receive this: @msgid=iD3UGnJUYeJK5rxS9uFrcE;time=2026-06-12T19:20:07.558Z :alice!~username@Clk-4D552FD5 PRIVMSG #test :how \x0304is @msgid=iD3UGnJUYeJK5rxS9uFrcE;time=2026-06-12T19:20:07.558Z :alice!~username@Clk-4D552FD5 PRIVMSG #test :everyone? (where they display only "is" in red) Additionally, when a message is long, for example: @batch=123 PRIVMSG #test :################################################################################################################################################################################################################################################################################################################################################################################################################################################################how \x0304is @batch=123;draft/multiline-concat PRIVMSG #test :everyone? then the fallback is simply truncated: @msgid=4APKGfukNuD9d1E6xvQcX1;time=2026-06-12T19:25:32.766Z :alice!~username@Clk-4D552FD5 PRIVMSG #test :################################################################################################################################################################################################################################################################################################################################################################################################################################################################how \x0304is everyon (missing "e" at the end) The multiline spec was designed specifically so that messages can be relayed as-is to clients that don't support multiline, and look as they would if sent be a multiline-unaware client. | ||||
| 3rd party modules | |||||
|
|
That truncation is bad indeed, thanks for bringing that up. I was trying to deal with the fact that colors render differently on multiline vs non-multiline clients (even though that's a natural result of delivering lines as-is, like the spec wants), but in doing so I was causing this truncation issue. I've taken out all the trying-to-be-clever parts for now (so this commit is basically deletion of dozens of lines). I can always revisit later but it's getting increasingly more complex if i would want to go that route, and as you rightly point out, I need to be careful. https://github.com/unrealircd/unrealircd/commit/300038149363f3041b6a6d2c4cb2d28679a204de commit 300038149363f3041b6a6d2c4cb2d28679a204de (HEAD -> unreal60_dev, origin/unreal60_dev, origin/HEAD) Author: Bram Matthys <[email protected]> Date: Sat Jun 13 09:24:18 2026 +0200 Fix multiline-concat behavior for fallback clients. We were merging draft/multiline-concat lines together server-side before sending them to non-multiline clients. This could truncate oversized merged lines. We now simply send them as separate lines. Reported by ProgVal in https://bugs.unrealircd.org/view.php?id=6628 |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-06-12 21:29 | progval | New Issue | |
| 2026-06-13 10:53 | syzop | Assigned To | => syzop |
| 2026-06-13 10:53 | syzop | Status | new => resolved |
| 2026-06-13 10:53 | syzop | Resolution | open => fixed |
| 2026-06-13 10:53 | syzop | Fixed in Version | => 6.2.6 |
| 2026-06-13 10:53 | syzop | Note Added: 0023685 |