|
@@ -370,7 +370,8 @@ export function Chat(props: {
|
|
|
chatStore.onUserInput(userInput).then(() => setIsLoading(false));
|
|
|
setUserInput("");
|
|
|
setPromptHints([]);
|
|
|
- inputRef.current?.focus();
|
|
|
+ if (!isMobileScreen()) inputRef.current?.focus();
|
|
|
+ setAutoScroll(true);
|
|
|
};
|
|
|
|
|
|
// stop response
|
|
@@ -507,7 +508,10 @@ export function Chat(props: {
|
|
|
bordered
|
|
|
title={Locale.Chat.Actions.Export}
|
|
|
onClick={() => {
|
|
|
- exportMessages(session.messages, session.topic);
|
|
|
+ exportMessages(
|
|
|
+ session.messages.filter((msg) => !msg.isError),
|
|
|
+ session.topic,
|
|
|
+ );
|
|
|
}}
|
|
|
/>
|
|
|
</div>
|
|
@@ -524,7 +528,11 @@ export function Chat(props: {
|
|
|
className={styles["chat-body"]}
|
|
|
ref={scrollRef}
|
|
|
onScroll={(e) => onChatBodyScroll(e.currentTarget)}
|
|
|
- onTouchStart={() => inputRef.current?.blur()}
|
|
|
+ onWheel={() => setAutoScroll(false)}
|
|
|
+ onTouchStart={() => {
|
|
|
+ inputRef.current?.blur();
|
|
|
+ setAutoScroll(false);
|
|
|
+ }}
|
|
|
>
|
|
|
{messages.map((message, i) => {
|
|
|
const isUser = message.role === "user";
|
|
@@ -585,7 +593,6 @@ export function Chat(props: {
|
|
|
if (!isMobileScreen()) return;
|
|
|
setUserInput(message.content);
|
|
|
}}
|
|
|
- onMouseOver={() => inputRef.current?.blur()}
|
|
|
>
|
|
|
<Markdown content={message.content} />
|
|
|
</div>
|
|
@@ -620,9 +627,6 @@ export function Chat(props: {
|
|
|
setAutoScroll(false);
|
|
|
setTimeout(() => setPromptHints([]), 500);
|
|
|
}}
|
|
|
- onMouseOver={() => {
|
|
|
- inputRef.current?.focus();
|
|
|
- }}
|
|
|
autoFocus={!props?.sideBarShowing}
|
|
|
/>
|
|
|
<IconButton
|