fix: enhance chat message handling by implementing full Unicode support and collapsing excessive newlines

This commit is contained in:
HueByte
2026-02-19 21:11:06 +01:00
parent 9f303b5311
commit 6965ba573e
3 changed files with 69 additions and 180 deletions
+1 -2
View File
@@ -47,8 +47,7 @@
- Fixed channels disappearing when creating a new channel — replaced full re-fetch with incremental updates
- Wired `OnChannelUpdated` SignalR event so new public channels appear for all connected users in real time
- Fixed color tag parser using wrong regex group numbers (6,7,8 instead of 1,2,3) — new ASCII art was rendering without colors
- Fixed crash when receiving emoji or other non-BMP Unicode characters — all list renderers now use `EnumerateRunes()` instead of `char` iteration
- Emoji and non-BMP characters are now converted to text shortcodes server-side (e.g. `:smile:`, `:fire:`) for reliable TUI rendering
- Full Unicode/emoji support — renderers use Terminal.Gui v2 grapheme cluster API (`GraphemeHelper`, `AddStr`) for proper wide character handling
- Fixed `/send` and `/avatar` commands not handling file paths with spaces correctly, even when quoted
- Profile avatar now renders with full color tag support instead of showing raw tags
- Server-side newline spam protection — consecutive blank/whitespace-only lines collapsed to 1 and total lines capped at 30