fix(chat): hide actions while streaming
Build Push and Deploy / deploy-fallback-log (push) Has been cancelled
Build Push and Deploy / docker-image (push) Has been cancelled

This commit is contained in:
2026-06-08 20:16:58 +08:00
parent 968d798a2a
commit ed9828befe
2 changed files with 9 additions and 1 deletions
+6
View File
@@ -36,6 +36,7 @@ type AgentWorkspaceProps = {
type TurnListProps = {
messages: Message[];
isStreaming: boolean;
speakingMessageId: string | null;
speechState: SpeechState;
onSpeak: (messageId: string, text: string) => void;
@@ -55,6 +56,7 @@ const sameMessages = (left: Message[], right: Message[]) =>
const TurnListInner = ({
messages,
isStreaming,
speakingMessageId,
speechState,
onSpeak,
@@ -73,6 +75,7 @@ const TurnListInner = ({
<AgentTurn
key={message.id}
message={message}
isStreaming={isStreaming}
messageSpeechState={speakingMessageId === message.id ? speechState : "idle"}
onSpeak={onSpeak}
onPause={onPauseSpeech}
@@ -93,6 +96,7 @@ const TurnList = React.memo(
TurnListInner,
(prevProps, nextProps) =>
sameMessages(prevProps.messages, nextProps.messages) &&
prevProps.isStreaming === nextProps.isStreaming &&
prevProps.speakingMessageId === nextProps.speakingMessageId &&
prevProps.speechState === nextProps.speechState &&
prevProps.onSpeak === nextProps.onSpeak &&
@@ -274,6 +278,7 @@ export const AgentWorkspace = ({
<Box sx={{ display: "flex", flexDirection: "column", gap: 2 }}>
<TurnList
messages={historyMessages}
isStreaming={isStreaming}
speakingMessageId={speakingMessageId}
speechState={speechState}
onSpeak={onSpeak}
@@ -290,6 +295,7 @@ export const AgentWorkspace = ({
{streamingMessage ? (
<TurnList
messages={[streamingMessage]}
isStreaming={isStreaming}
speakingMessageId={speakingMessageId}
speechState={speechState}
onSpeak={onSpeak}