Chat Shows Thinking and Blocks Double Sends
Project chat now handles the assistant's busy state more clearly. Reasoning appears when the assistant is thinking, and users cannot send another prompt while a response is still being sent or streamed.
- Assistant reasoning display: reasoning parts are rendered in chat messages, so the assistant's thinking state is visible instead of being dropped from the thread.
- Unified busy state: local send state and assistant streaming state now feed the same chat-busy check.
- Duplicate message prevention: the prompt submit button is disabled while a message is sending or the assistant is still responding.
- Busy submit feedback: the submit control now shows a submitted state during sending or streaming instead of looking ready for another prompt.