diff --git a/app/client/controller.ts b/app/client/controller.ts index d28e72b0..86cb99e7 100644 --- a/app/client/controller.ts +++ b/app/client/controller.ts @@ -28,7 +28,6 @@ export const ChatControllerPool = { remove(sessionIndex: number, messageId: number) { const key = this.key(sessionIndex, messageId); - this.controllers[key]?.abort(); delete this.controllers[key]; }, diff --git a/app/components/exporter.module.scss b/app/components/exporter.module.scss index 1460ac76..3fde363f 100644 --- a/app/components/exporter.module.scss +++ b/app/components/exporter.module.scss @@ -131,7 +131,8 @@ position: absolute; top: 0px; left: 0px; - transform: scale(2); + height: 50%; + transform: scale(1.5); } .main-title { @@ -184,6 +185,10 @@ max-width: calc(100% - 104px); box-shadow: var(--card-shadow); border: var(--border-in-light); + + * { + overflow: hidden; + } } &-assistant { diff --git a/app/components/exporter.tsx b/app/components/exporter.tsx index 1465d89a..39280809 100644 --- a/app/components/exporter.tsx +++ b/app/components/exporter.tsx @@ -7,17 +7,19 @@ import { copyToClipboard, downloadAs, useMobileScreen } from "../utils"; import CopyIcon from "../icons/copy.svg"; import LoadingIcon from "../icons/three-dots.svg"; -import ChatGptIcon from "../icons/chatgpt.svg"; +import ChatGptIcon from "../icons/chatgpt.png"; import ShareIcon from "../icons/share.svg"; +import BotIcon from "../icons/bot.png"; import DownloadIcon from "../icons/download.svg"; import { useMemo, useRef, useState } from "react"; import { MessageSelector, useMessageSelector } from "./message-selector"; import { Avatar } from "./emoji"; -import { MaskAvatar } from "./mask"; import dynamic from "next/dynamic"; +import NextImage from "next/image"; import { toBlob, toPng } from "html-to-image"; +import { DEFAULT_MASK_AVATAR } from "../store/mask"; const Markdown = dynamic(async () => (await import("./markdown")).Markdown, { loading: () => , @@ -253,6 +255,22 @@ export function PreviewActions(props: { ); } +function ExportAvatar(props: { avatar: string }) { + if (props.avatar === DEFAULT_MASK_AVATAR) { + return ( + + ); + } + + return ; +} + export function ImagePreviewer(props: { messages: ChatMessage[]; topic: string; @@ -319,7 +337,12 @@ export function ImagePreviewer(props: { >
- +
@@ -328,9 +351,9 @@ export function ImagePreviewer(props: { github.com/Yidadaa/ChatGPT-Next-Web
- + & - +
@@ -358,14 +381,12 @@ export function ImagePreviewer(props: { key={i} >
- {m.role === "user" ? ( - - ) : ( - - )} +
-
+
()( }); // get recent messages - const systemMessages = [systemInfo]; + const systemMessages = []; + // if user define a mask with context prompts, wont send system info + if (session.mask.context.length === 0) { + systemMessages.push(systemInfo); + } + const recentMessages = get().getMessagesWithMemory(); const sendMessages = systemMessages.concat( recentMessages.concat(userMessage), @@ -345,7 +350,7 @@ export const useChatStore = create()( // wont send cleared context messages const clearedContextMessages = session.messages.slice( - (session.clearContextIndex ?? 0), + session.clearContextIndex ?? 0, ); const messages = clearedContextMessages.filter((msg) => !msg.isError); const n = messages.length;