4.8.10 perf (#2630)

* perf: i18n init

* i18n

* fix: user select end status

* fix: interactive workflow

* fix: restart chat

* fix: oauth login
This commit is contained in:
Archer
2024-09-06 15:45:02 +08:00
committed by GitHub
parent c614f8b9ca
commit 9334a0dcf6
14 changed files with 174 additions and 134 deletions

View File

@@ -57,12 +57,17 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
chatConfig
} = req.body as Props;
try {
if (!Array.isArray(nodes)) {
throw new Error('Nodes is not array');
}
if (!Array.isArray(edges)) {
throw new Error('Edges is not array');
}
const chatMessages = GPTMessages2Chats(messages);
const userInput = chatMessages.pop()?.value as UserChatItemValueItemType[] | undefined;
// console.log(JSON.stringify(chatMessages, null, 2), '====', chatMessages.length);
const userInput = chatMessages.pop()?.value as UserChatItemValueItemType[] | undefined;
/* user auth */
const [{ app }, { teamId, tmbId }] = await Promise.all([
authApp({ req, authToken: true, appId, per: ReadPermissionVal }),
@@ -76,13 +81,6 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const isPlugin = app.type === AppTypeEnum.plugin;
if (!Array.isArray(nodes)) {
throw new Error('Nodes is not array');
}
if (!Array.isArray(edges)) {
throw new Error('Edges is not array');
}
let runtimeNodes = storeNodes2RuntimeNodes(nodes, getWorkflowEntryNodeIds(nodes, chatMessages));
// Plugin need to replace inputs

View File

@@ -1,5 +1,5 @@
import { useUserStore } from '@/web/support/user/useUserStore';
import React from 'react';
import React, { useMemo } from 'react';
import type { StartChatFnProps } from '@/components/core/chat/ChatContainer/type';
import { streamFetch } from '@/web/common/api/fetch';
import { getMaxHistoryLimitFromNodes } from '@fastgpt/global/core/workflow/runtime/utils';
@@ -14,9 +14,9 @@ import dynamic from 'next/dynamic';
import { useChat } from '@/components/core/chat/ChatContainer/useChat';
import { Box } from '@chakra-ui/react';
import { AppChatConfigType } from '@fastgpt/global/core/app/type';
import ChatBox from '@/components/core/chat/ChatContainer/ChatBox';
const PluginRunBox = dynamic(() => import('@/components/core/chat/ChatContainer/PluginRunBox'));
const ChatBox = dynamic(() => import('@/components/core/chat/ChatContainer/ChatBox'));
export const useChatTest = ({
nodes,
@@ -56,8 +56,10 @@ export const useChatTest = ({
}
);
const pluginInputs =
nodes.find((node) => node.flowNodeType === FlowNodeTypeEnum.pluginInput)?.inputs || [];
const pluginInputs = useMemo(() => {
return nodes.find((node) => node.flowNodeType === FlowNodeTypeEnum.pluginInput)?.inputs || [];
}, [nodes]);
const {
ChatBoxRef,
chatRecords,

View File

@@ -11,7 +11,6 @@ import Loading from '@fastgpt/web/components/common/MyLoading';
import { serviceSideProps } from '@/web/common/utils/i18n';
import { getErrText } from '@fastgpt/global/common/error/utils';
import { useTranslation } from 'next-i18next';
import { useMount } from 'ahooks';
const provider = () => {
const { t } = useTranslation();
@@ -104,9 +103,15 @@ const provider = () => {
} else {
authCode(code);
}
}, [code, error, loginStore, state]);
}, []);
return <Loading />;
};
export default provider;
export async function getServerSideProps(context: any) {
return {
props: { ...(await serviceSideProps(context)) }
};
}

View File

@@ -8,6 +8,7 @@ import { ssoLogin } from '@/web/support/user/api';
import Loading from '@fastgpt/web/components/common/MyLoading';
import { useTranslation } from 'next-i18next';
import { useRequest2 } from '@fastgpt/web/hooks/useRequest';
import { serviceSideProps } from '@/web/common/utils/i18n';
const provider = () => {
const { t } = useTranslation();
@@ -39,9 +40,15 @@ const provider = () => {
clearToken();
handleSSO();
}
}, [handleSSO, query]);
}, []);
return <Loading />;
};
export default provider;
export async function getServerSideProps(context: any) {
return {
props: { ...(await serviceSideProps(context)) }
};
}