diff --git a/LightlessSync/UI/ZoneChatUi.cs b/LightlessSync/UI/ZoneChatUi.cs index 1cf041c..036e7d3 100644 --- a/LightlessSync/UI/ZoneChatUi.cs +++ b/LightlessSync/UI/ZoneChatUi.cs @@ -993,13 +993,25 @@ public sealed class ZoneChatUi : WindowMediatorSubscriberBase { _refocusChatInput = true; _refocusChatInputKey = channel.Key; - var sanitized = SanitizeOutgoingDraft(draft); + + var draftAtSend = draft; + var sanitized = SanitizeOutgoingDraft(draftAtSend); + if (sanitized is not null) { TrackPendingDraftClear(channel.Key, sanitized); + if (TrySendDraft(channel, sanitized)) { _scrollToBottom = true; + + if (_draftMessages.TryGetValue(channel.Key, out var current) && + string.Equals(current, draftAtSend, StringComparison.Ordinal)) + { + draft = string.Empty; + _draftMessages[channel.Key] = draft; + } + } else {