Commit Graph

54 Commits

Author SHA1 Message Date
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
Peter Steinberger
0a4c2f91f5 fix: add bottom padding to macos web chat 2026-01-01 13:20:27 +01:00
Peter Steinberger
5b33a7dcbe fix: polish macos web chat composer 2026-01-01 12:49:05 +01:00
Peter Steinberger
c7e2b1230c fix: make composer pill full-width 2026-01-01 12:18:18 +01:00
Peter Steinberger
bdf6a23de9 fix: polish web chat empty/error state 2026-01-01 11:40:11 +01:00
Peter Steinberger
3addd3420b fix: tidy web chat composer layout 2026-01-01 11:05:14 +01:00
Peter Steinberger
a2a26b26fb fix: satisfy swiftformat in chat view 2025-12-30 20:41:12 +01:00
Peter Steinberger
7d1ec51df5 fix: modernize chat scroll position 2025-12-30 13:52:12 +01:00
Peter Steinberger
2749c5cac3 fix: clear external streaming bubbles 2025-12-30 11:21:57 +01:00
Peter Steinberger
312443235d fix(ios): unblock device builds 2025-12-30 11:16:15 +01:00
Peter Steinberger
7612a83fa2 fix(talk): align sessions and chat UI 2025-12-30 06:47:19 +01:00
Peter Steinberger
b5ae2ccc3c fix(voice): sync talk mode chat events 2025-12-30 05:27:11 +01:00
Peter Steinberger
ec482ac867 fix(macos): tighten chat window chrome 2025-12-27 03:21:14 +01:00
Peter Steinberger
2868dc975c chore: require node >=22.12 and fix swiftformat lint 2025-12-25 23:02:31 +01:00
Peter Steinberger
1c88d9575e fix(webchat): refresh bubbles on theme change 2025-12-25 22:35:46 +01:00
Peter Steinberger
57090d4f8d fix: align chat scroll anchor 2025-12-25 04:10:47 +01:00
Peter Steinberger
e8f24910bd style: swiftformat chat ui 2025-12-24 15:10:31 +01:00
Peter Steinberger
8878fd3028 ui: merge tool call results 2025-12-24 14:38:43 +01:00
Peter Steinberger
a22d4e7962 fix: import AnyCodable for tool cards 2025-12-24 14:35:06 +01:00
Peter Steinberger
25d2d7389f ui: render tool call cards 2025-12-24 14:29:40 +01:00
Peter Steinberger
816b784399 ui: constrain typing indicator width 2025-12-24 14:10:32 +01:00
Peter Steinberger
e158bee95f perf: reduce chat animation churn 2025-12-24 13:51:40 +01:00
Peter Steinberger
926b6d9464 chore: format wake gate + chat theme 2025-12-23 01:41:13 +01:00
Peter Steinberger
ce04308c17 refactor: remove session syncing metadata 2025-12-23 00:50:51 +01:00
Peter Steinberger
3412ff7003 style: add macos chat glass background 2025-12-22 19:55:17 +01:00
Peter Steinberger
19b847b23b style: tighten macos chat composer 2025-12-22 19:08:23 +01:00
Peter Steinberger
4021da524c fix(chat-ui): avoid animated initial scroll 2025-12-21 12:33:41 +01:00
Peter Steinberger
fef1841fee build: update iOS lint scripts 2025-12-21 01:48:21 +01:00
Peter Steinberger
aae68e4f82 style(chatui): fix SwiftFormat warnings 2025-12-21 00:25:56 +01:00
Peter Steinberger
80f70a58e3 fix(chat): refine onboarding bubbles 2025-12-20 23:15:29 +00:00
Peter Steinberger
02f6cac9d6 style(chat): use integrated bubble tail 2025-12-20 23:00:21 +00:00
Peter Steinberger
16e4a0c4bd style(onboarding): refine bubble tails 2025-12-20 22:23:06 +00:00
Peter Steinberger
94b89216f7 style(onboarding): add speech bubble tails 2025-12-20 22:08:01 +00:00
Peter Steinberger
238c0c1b86 fix(onboarding): clearer bubbles and tighter composer 2025-12-20 22:03:24 +00:00
Peter Steinberger
9076d543f3 fix(onboarding): restore bubbles and spacing 2025-12-20 21:56:03 +00:00
Peter Steinberger
cd77dc9563 fix(onboarding): restore chat bubble styling 2025-12-20 21:47:43 +00:00
Peter Steinberger
52a2dfe08b feat(onboarding): hide kickoff bubble and tweak typing 2025-12-20 19:46:06 +00:00
Peter Steinberger
b13723d3d7 style: satisfy swiftformat in chat composer 2025-12-20 18:18:30 +01:00
Peter Steinberger
5936ed7941 feat(chat): restyle onboarding chat UI 2025-12-20 16:52:11 +00:00
Peter Steinberger
ca85d217ec ChatUI: swiftformat fixes 2025-12-17 23:01:31 +01:00
Peter Steinberger
6652b1f4f3 ui(chat): reduce padding 2025-12-17 23:01:31 +01:00
Peter Steinberger
9fe04f5659 ui(chat): align status pill with send 2025-12-17 23:01:31 +01:00
Peter Steinberger
5b9e51bfaa ui(chat): tighten padding + keep status in composer 2025-12-17 23:01:31 +01:00
Peter Steinberger
cdea744725 ui(chat): move connection pill into composer 2025-12-17 23:01:30 +01:00
Peter Steinberger
44365f2e27 test(chat): harden abort/stream + hide session switching 2025-12-17 23:01:30 +01:00
Peter Steinberger
2b2376d4c0 style(swift): fix lint 2025-12-17 21:51:36 +01:00
Peter Steinberger
428a82e734 feat(chat): Swift chat parity (abort/sessions/stream) 2025-12-17 20:51:27 +01:00
Peter Steinberger
e1e3da946f fix(chat): reduce system spam and cap history 2025-12-16 20:35:03 +01:00
Peter Steinberger
49a9f74753 fix(chat-ui): improve typing dots and composer 2025-12-16 20:13:23 +01:00
Peter Steinberger
f3db02018f fix(chat-ui): reflect gateway connection 2025-12-14 05:19:01 +00:00