diff --git a/src/backend/base/langflow/base/agents/events.py b/src/backend/base/langflow/base/agents/events.py index a3846af8a..7fc14eb7c 100644 --- a/src/backend/base/langflow/base/agents/events.py +++ b/src/backend/base/langflow/base/agents/events.py @@ -231,7 +231,8 @@ async def handle_on_chain_stream( agent_message.text += output_text agent_message.properties.state = "partial" agent_message = await send_message_method(message=agent_message) - start_time = perf_counter() + if not agent_message.text: + start_time = perf_counter() return agent_message, start_time diff --git a/src/backend/base/langflow/schema/message.py b/src/backend/base/langflow/schema/message.py index 9519d0d9b..8b276ef5a 100644 --- a/src/backend/base/langflow/schema/message.py +++ b/src/backend/base/langflow/schema/message.py @@ -51,6 +51,7 @@ class Message(Data): properties: Properties = Field(default_factory=Properties) category: Literal["message", "error", "warning", "info"] | None = "message" content_blocks: list[ContentBlock] = Field(default_factory=list) + duration: int | None = None @field_validator("flow_id", mode="before") @classmethod @@ -306,6 +307,7 @@ class MessageResponse(DefaultModel): text: str files: list[str] = [] edit: bool + duration: float | None = None properties: Properties | None = None category: str | None = None diff --git a/src/frontend/src/modals/IOModal/components/chatView/chatMessage/chat-message.tsx b/src/frontend/src/modals/IOModal/components/chatView/chatMessage/chat-message.tsx index cfc62dbc4..6f4538545 100644 --- a/src/frontend/src/modals/IOModal/components/chatView/chatMessage/chat-message.tsx +++ b/src/frontend/src/modals/IOModal/components/chatView/chatMessage/chat-message.tsx @@ -327,7 +327,6 @@ export default function ChatMessage({ playgroundPage={playgroundPage} contentBlocks={chat.content_blocks} isLoading={ - chatMessage === "" && chat.properties?.state === "partial" && isBuilding && lastMessage