Align the direct and room chat mobile send controls around the same pointer/touch dedupe contract.
- Add a per-gesture touch action latch separate from the trailing synthetic-click latch.
- Apply the two-latch handling to direct send, room send, and send-to-stop transitions.
- Cover repeated iOS taps, pointer/touch/click dedupe, and stop-button swap behavior in ChatView tests.
- Document the shared mobile send dedupe behavior for direct and room chat.
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/ChatView.tsx | 70 ++++++++---
.../components/__tests__/ChatView.rooms.test.tsx | 30 +++++
.../app/components/__tests__/ChatView.test.tsx | 132 +++++++++++++++++++++
4 files changed, 215 insertions(+), 19 deletions(-)
Fusion-Task-Id: FN-6576
Fusion-Task-Lineage: b8ef427f-99f0-48d8-8cb8-d72ac352bdeb