mirror of
				https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
				synced 2025-11-04 08:13:43 +08:00 
			
		
		
		
	session message should exclude all error tips
This commit is contained in:
		@@ -513,7 +513,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>
 | 
			
		||||
 
 | 
			
		||||
@@ -114,7 +114,7 @@ export async function requestChatStream(
 | 
			
		||||
    filterBot?: boolean;
 | 
			
		||||
    modelConfig?: ModelConfig;
 | 
			
		||||
    onMessage: (message: string, done: boolean) => void;
 | 
			
		||||
    onError: (error: Error) => void;
 | 
			
		||||
    onError: (error: Error, statusCode?: number) => void;
 | 
			
		||||
    onController?: (controller: AbortController) => void;
 | 
			
		||||
  },
 | 
			
		||||
) {
 | 
			
		||||
@@ -178,11 +178,10 @@ export async function requestChatStream(
 | 
			
		||||
      finish();
 | 
			
		||||
    } else if (res.status === 401) {
 | 
			
		||||
      console.error("Anauthorized");
 | 
			
		||||
      responseText = Locale.Error.Unauthorized;
 | 
			
		||||
      finish();
 | 
			
		||||
      options?.onError(new Error("Anauthorized"), res.status);
 | 
			
		||||
    } else {
 | 
			
		||||
      console.error("Stream Error", res.body);
 | 
			
		||||
      options?.onError(new Error("Stream Error"));
 | 
			
		||||
      options?.onError(new Error("Stream Error"), res.status);
 | 
			
		||||
    }
 | 
			
		||||
  } catch (err) {
 | 
			
		||||
    console.error("NetWork Error", err);
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,7 @@ import Locale from "../locales";
 | 
			
		||||
export type Message = ChatCompletionResponseMessage & {
 | 
			
		||||
  date: string;
 | 
			
		||||
  streaming?: boolean;
 | 
			
		||||
  isError?: boolean;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export enum SubmitKey {
 | 
			
		||||
@@ -351,9 +352,15 @@ export const useChatStore = create<ChatStore>()(
 | 
			
		||||
              set(() => ({}));
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          onError(error) {
 | 
			
		||||
            botMessage.content += "\n\n" + Locale.Store.Error;
 | 
			
		||||
          onError(error, statusCode) {
 | 
			
		||||
            if (statusCode === 401) {
 | 
			
		||||
              botMessage.content = Locale.Error.Unauthorized;
 | 
			
		||||
            } else {
 | 
			
		||||
              botMessage.content += "\n\n" + Locale.Store.Error;
 | 
			
		||||
            }
 | 
			
		||||
            botMessage.streaming = false;
 | 
			
		||||
            userMessage.isError = true;
 | 
			
		||||
            botMessage.isError = true;
 | 
			
		||||
            set(() => ({}));
 | 
			
		||||
            ControllerPool.remove(sessionIndex, messageIndex);
 | 
			
		||||
          },
 | 
			
		||||
@@ -383,7 +390,8 @@ export const useChatStore = create<ChatStore>()(
 | 
			
		||||
      getMessagesWithMemory() {
 | 
			
		||||
        const session = get().currentSession();
 | 
			
		||||
        const config = get().config;
 | 
			
		||||
        const n = session.messages.length;
 | 
			
		||||
        const messages = session.messages.filter((msg) => !msg.isError);
 | 
			
		||||
        const n = messages.length;
 | 
			
		||||
 | 
			
		||||
        const context = session.context.slice();
 | 
			
		||||
 | 
			
		||||
@@ -393,7 +401,7 @@ export const useChatStore = create<ChatStore>()(
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        const recentMessages = context.concat(
 | 
			
		||||
          session.messages.slice(Math.max(0, n - config.historyMessageCount)),
 | 
			
		||||
          messages.slice(Math.max(0, n - config.historyMessageCount)),
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        return recentMessages;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user