acdream/tests/AcDream.UI.Abstractions.Tests/Panels/Chat
Erik df9f2fd3da fix(ui): wrap chat panel body in outer BeginChild so drag-trap covers it
The InvisibleButton drag-trap inside BeginChild only catches clicks
inside that specific child. Chat had widgets OUTSIDE the inner
##chattail child (the Copy-mode Checkbox + a Separator at top, the
footer Separator + InputTextSubmit at bottom) — empty space around
those widgets fell through directly to the parent window's
window-drag init.

Fix: wrap the entire chat panel body in a single outer ##chatbody
BeginChild before drawing any content. The renderer's drag-trap
fires inside this outer child too, absorbing every empty-space
click in the chat panel body. The inner ##chattail child is now
nested inside it, which doesn't change its scroll-tail semantics
but does mean it gets its own drag-trap as a bonus.

Test fixed: Render_BeginChild_ReservesNegativeFooterFromFrameHeight
was using Single(BeginChild) — there are now two BeginChild calls
(##chatbody outer + ##chattail inner). Switched to Single(... &&
Args[0] == "##chattail") so the test still pins the footer reserve
on the inner call where it lives.

dotnet build green; 1,309 / 1,309 tests green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 23:10:01 +02:00
..
ChatInputParserAtPrefixTests.cs feat(chat): Phase J Tier 1+2 - @ verb prefix, /retell, /framerate, /loc 2026-04-25 21:34:13 +02:00
ChatInputParserTests.cs fix(chat): block / unknown commands from broadcasting as speech 2026-04-25 21:49:56 +02:00
ChatPanelFocusTests.cs feat(input): #24 Phase K.2 - auto-enter player mode at login + MMB mouse-look + DebugPanel free-fly + Tab to chat-input focus 2026-04-26 09:20:17 +02:00
ChatPanelInputTests.cs fix(chat): block / unknown commands from broadcasting as speech 2026-04-25 21:49:56 +02:00
ChatPanelLayoutTests.cs fix(ui): wrap chat panel body in outer BeginChild so drag-trap covers it 2026-04-26 23:10:01 +02:00
ChatVMCombatTests.cs fix(chat): BuildTell wire field order + retail-style FormatEntry + suppress duplicate Channel echo 2026-04-25 20:49:02 +02:00
ChatVMLastTellSenderTests.cs feat(ui): #17 ChatPanel input field + slash commands + reply-to-last-tell 2026-04-25 19:44:04 +02:00
ChatVMRetellAndProvidersTests.cs feat(chat): Phase J Tier 1+2 - @ verb prefix, /retell, /framerate, /loc 2026-04-25 21:34:13 +02:00