openclaw/apps/shared/ClawdisKit/Sources/ClawdisChatUI
Marc Beaupre b51b24955c fix(chat): clear input immediately after send to prevent duplicate messages
Two issues were causing the input field to retain text after sending:

1. ChatComposer's NSViewRepresentable was skipping all updates while the
   text view was first responder. Now it allows clearing (empty binding)
   even during editing, only skipping other updates to avoid cursor jumps.

2. ChatViewModel cleared input after awaiting the network response, leaving
   text visible during the round trip. Now clears immediately after capturing
   the message content, before the async send.

Together these prevent users from accidentally re-sending messages when
the input appeared unchanged after pressing Enter.
2026-01-01 17:42:05 +01:00
..
ChatComposer.swift fix(chat): clear input immediately after send to prevent duplicate messages 2026-01-01 17:42:05 +01:00
ChatMarkdownSplitter.swift feat(chat): share SwiftUI chat across macOS+iOS 2025-12-14 00:17:07 +00:00
ChatMessageViews.swift fix(talk): align sessions and chat UI 2025-12-30 06:47:19 +01:00
ChatModels.swift ui: render tool call cards 2025-12-24 14:29:40 +01:00
ChatPayloadDecoding.swift feat(chat): share SwiftUI chat across macOS+iOS 2025-12-14 00:17:07 +00:00
ChatSessions.swift refactor: remove session syncing metadata 2025-12-23 00:50:51 +01:00
ChatSheets.swift style(swift): fix lint 2025-12-17 21:51:36 +01:00
ChatTheme.swift fix(talk): align sessions and chat UI 2025-12-30 06:47:19 +01:00
ChatTransport.swift feat(chat): Swift chat parity (abort/sessions/stream) 2025-12-17 20:51:27 +01:00
ChatView.swift fix: add bottom padding to macos web chat 2026-01-01 13:20:27 +01:00
ChatViewModel.swift fix(chat): clear input immediately after send to prevent duplicate messages 2026-01-01 17:42:05 +01:00