diff --git a/packages/service/support/permission/app/auth.ts b/packages/service/support/permission/app/auth.ts index 0f1e42466..55e478316 100644 --- a/packages/service/support/permission/app/auth.ts +++ b/packages/service/support/permission/app/auth.ts @@ -114,6 +114,10 @@ export const authAppByTmbId = async ({ const Per = new AppPermission({ role: sumPer(folderPer, myPer), isOwner }); + if (app.favourite || app.quick) { + Per.addRole(ReadRoleVal); + } + if (!Per.checkPer(per)) { return Promise.reject(AppErrEnum.unAuthApp); } diff --git a/projects/app/src/pageComponents/chat/ChatWindow/AppChatWindow.tsx b/projects/app/src/pageComponents/chat/ChatWindow/AppChatWindow.tsx index 0ec33549f..386e04e2f 100644 --- a/projects/app/src/pageComponents/chat/ChatWindow/AppChatWindow.tsx +++ b/projects/app/src/pageComponents/chat/ChatWindow/AppChatWindow.tsx @@ -27,6 +27,7 @@ import ChatHistorySidebar from '@/pageComponents/chat/slider/ChatSliderSidebar'; import ChatSliderMobileDrawer from '@/pageComponents/chat/slider/ChatSliderMobileDrawer'; import dynamic from 'next/dynamic'; import { getNanoid } from '@fastgpt/global/common/string/tools'; +import { ChatErrEnum } from '@fastgpt/global/common/error/code/chat'; const CustomPluginRunBox = dynamic(() => import('@/pageComponents/chat/CustomPluginRunBox')); @@ -78,6 +79,10 @@ const AppChatWindow = ({ myApps }: Props) => { errorToast: '', onError(e: any) { if (e?.code && e.code >= 502000) { + if (e?.statusText === ChatErrEnum.unAuthChat) { + onChangeChatId(); + return; + } handlePaneChange(ChatSidebarPaneEnum.TEAM_APPS); } },