Browse Source

fix: conflict

Yidadaa 1 year ago
parent
commit
5f444c1c82
4 changed files with 22 additions and 9 deletions
  1. 12 1
      app/components/home.tsx
  2. 0 5
      app/layout.tsx
  3. 6 3
      app/store/chat.ts
  4. 4 0
      next.config.mjs

+ 12 - 1
app/components/home.tsx

@@ -23,7 +23,6 @@ import {
 } from "react-router-dom";
 import { SideBar } from "./sidebar";
 import { useAppConfig } from "../store/config";
-import { useMaskStore } from "../store/mask";
 
 export function Loading(props: { noLogo?: boolean }) {
   return (
@@ -91,12 +90,24 @@ const useHasHydrated = () => {
   return hasHydrated;
 };
 
+const loadAsyncGoogleFont = () => {
+  const linkEl = document.createElement("link");
+  linkEl.rel = "stylesheet";
+  linkEl.href =
+    "/google-fonts/css2?family=Noto+Sans+SC:wght@300;400;700;900&display=swap";
+  document.head.appendChild(linkEl);
+};
+
 function Screen() {
   const config = useAppConfig();
   const location = useLocation();
   const isHome = location.pathname === Path.Home;
   const isMobileScreen = useMobileScreen();
 
+  useEffect(() => {
+    loadAsyncGoogleFont();
+  }, []);
+
   return (
     <div
       className={

+ 0 - 5
app/layout.tsx

@@ -34,11 +34,6 @@ export default function RootLayout({
       <head>
         <meta name="version" content={buildConfig.commitId} />
         <link rel="manifest" href="/site.webmanifest"></link>
-        <link rel="preconnect" href="https://fonts.proxy.ustclug.org"></link>
-        <link
-          rel="stylesheet"
-          href="https://fonts.proxy.ustclug.org/css2?family=Noto+Sans+SC:wght@300;400;700;900&display=swap"
-        ></link>
         <script src="/serviceWorkerRegister.js" defer></script>
       </head>
       <body>{children}</body>

+ 6 - 3
app/store/chat.ts

@@ -407,13 +407,16 @@ export const useChatStore = create<ChatStore>()(
       summarizeSession() {
         const session = get().currentSession();
 
+        // remove error messages if any
+        const cleanMessages = session.messages.filter((msg) => !msg.isError);
+
         // should summarize topic after chating more than 50 words
         const SUMMARIZE_MIN_LEN = 50;
         if (
           session.topic === DEFAULT_TOPIC &&
-          countMessages(session.messages) >= SUMMARIZE_MIN_LEN
+          countMessages(cleanMessages) >= SUMMARIZE_MIN_LEN
         ) {
-          const topicMessages = session.messages.concat(
+          const topicMessages = cleanMessages.concat(
             createMessage({
               role: "user",
               content: Locale.Store.Prompt.Topic,
@@ -435,7 +438,7 @@ export const useChatStore = create<ChatStore>()(
         }
 
         const modelConfig = session.mask.modelConfig;
-        let toBeSummarizedMsgs = session.messages.slice(
+        let toBeSummarizedMsgs = cleanMessages.slice(
           session.lastSummarizeIndex,
         );
 

+ 4 - 0
next.config.mjs

@@ -10,6 +10,10 @@ const nextConfig = {
         source: "/api/proxy/:path*",
         destination: "https://api.openai.com/:path*",
       },
+      {
+        source: "/google-fonts/:path*",
+        destination: "https://fonts.googleapis.com/:path*",
+      },
     ];
 
     const apiUrl = process.env.API_URL;