diff --git a/apps/client/public/locales/en-US/translation.json b/apps/client/public/locales/en-US/translation.json index fc39a8d9..0f05d69f 100644 --- a/apps/client/public/locales/en-US/translation.json +++ b/apps/client/public/locales/en-US/translation.json @@ -1147,6 +1147,7 @@ "Take a look at the current document": "Take a look at the current document", "AI agent is typing…": "AI agent is typing…", "{{name}} is typing…": "{{name}} is typing…", + "AI is typing…": "AI is typing…", "Send": "Send", "Stop": "Stop", "Chat menu": "Chat menu", diff --git a/apps/client/public/locales/ru-RU/translation.json b/apps/client/public/locales/ru-RU/translation.json index 4c40c4bf..816da5d6 100644 --- a/apps/client/public/locales/ru-RU/translation.json +++ b/apps/client/public/locales/ru-RU/translation.json @@ -672,6 +672,7 @@ "Take a look at the current document": "Посмотри текущий документ", "AI agent is typing…": "AI-агент печатает…", "{{name}} is typing…": "{{name}} печатает…", + "AI is typing…": "AI печатает…", "Agent role": "Роль агента", "AI chat": "AI-чат", "AI chat is disabled for this workspace.": "AI-чат отключён для этого рабочего пространства.", diff --git a/apps/client/src/features/ai-chat/components/message-list.tsx b/apps/client/src/features/ai-chat/components/message-list.tsx index b4b4101d..487a7bb7 100644 --- a/apps/client/src/features/ai-chat/components/message-list.tsx +++ b/apps/client/src/features/ai-chat/components/message-list.tsx @@ -43,7 +43,7 @@ interface MessageListProps { const BOTTOM_THRESHOLD = 40; /** - * Whether to show the standalone "AI agent is typing…" indicator. It bridges the + * Whether to show the standalone "AI is typing…" indicator. It bridges the * gap between sending and the first streamed content, so it shows only while a * turn is in flight AND the latest assistant message has nothing visible yet: * - the last message is still the user's (assistant hasn't started a row), or diff --git a/apps/client/src/features/ai-chat/components/show-typing-indicator.test.ts b/apps/client/src/features/ai-chat/components/show-typing-indicator.test.ts index 5cc023d9..15ab75bc 100644 --- a/apps/client/src/features/ai-chat/components/show-typing-indicator.test.ts +++ b/apps/client/src/features/ai-chat/components/show-typing-indicator.test.ts @@ -5,7 +5,7 @@ import { showTypingIndicator } from "@/features/ai-chat/components/message-list. /** * Pure-helper tests for the typing-indicator bridging logic that the internal * chat and the public share widget now share. This is the behavior that decides - * whether the animated "AI agent is typing…" placeholder shows in the gap + * whether the animated "AI is typing…" placeholder shows in the gap * between sending and the first streamed token. */ const msg = ( diff --git a/apps/client/src/features/ai-chat/components/typing-indicator.tsx b/apps/client/src/features/ai-chat/components/typing-indicator.tsx index 27373a3e..9dce2a7d 100644 --- a/apps/client/src/features/ai-chat/components/typing-indicator.tsx +++ b/apps/client/src/features/ai-chat/components/typing-indicator.tsx @@ -19,8 +19,10 @@ interface TypingIndicatorProps { * the real assistant message once content starts arriving. * * Mirrors the assistant row layout in MessageItem (the dimmed label), so it reads - * as the assistant's bubble taking shape. The label and typing line use the - * configured identity name when provided, otherwise the generic "AI agent". + * as the assistant's bubble taking shape. The dimmed label uses the configured + * identity name when provided (otherwise the generic "AI agent"), while the + * typing line is always the generic "AI is typing…" (it never includes the + * role/identity name). */ export default function TypingIndicator({ assistantName }: TypingIndicatorProps) { const { t } = useTranslation(); @@ -38,7 +40,7 @@ export default function TypingIndicator({ assistantName }: TypingIndicatorProps) - {name ? t("{{name}} is typing…", { name }) : t("AI agent is typing…")} + {t("AI is typing…")}