diff --git a/src/interfaces/assistants_web/src/components/Conversation/Composer/index.tsx b/src/interfaces/assistants_web/src/components/Conversation/Composer/index.tsx index e7351e6a97..2a93db9006 100644 --- a/src/interfaces/assistants_web/src/components/Conversation/Composer/index.tsx +++ b/src/interfaces/assistants_web/src/components/Conversation/Composer/index.tsx @@ -27,6 +27,7 @@ type Props = { agent?: AgentPublic; tools?: ManagedTool[]; chatWindowRef?: React.RefObject; + lastUserMessage?: ChatMessage; }; export const Composer: React.FC = ({ @@ -39,6 +40,7 @@ export const Composer: React.FC = ({ onStop, onUploadFile, chatWindowRef, + lastUserMessage, }) => { const isDesktop = useIsDesktop(); const breakpoint = useBreakpoint(); @@ -65,6 +67,16 @@ export const Composer: React.FC = ({ onChange(''); } } + + if (e.key === 'ArrowUp' && value.trim() === '' && !isStreaming) { + onChange(lastUserMessage?.text || ''); + setTimeout(() => { + textareaRef.current?.setSelectionRange( + textareaRef.current?.value.length, + textareaRef.current?.value.length + ); + }, 0); + } }; const handleChange = (e: React.ChangeEvent) => { diff --git a/src/interfaces/assistants_web/src/components/Conversation/index.tsx b/src/interfaces/assistants_web/src/components/Conversation/index.tsx index e5471c8fa4..91350790fb 100644 --- a/src/interfaces/assistants_web/src/components/Conversation/index.tsx +++ b/src/interfaces/assistants_web/src/components/Conversation/index.tsx @@ -87,6 +87,7 @@ const Conversation: React.FC = ({ agent, tools, startOptionsEnabled = fal onSend={handleSend} onStop={handleStop} onUploadFile={handleUploadFile} + lastUserMessage={messages.findLast((m) => m.type === 'user')} /> }