Unverified Commit 70525653 authored by Lance Mao's avatar Lance Mao Committed by GitHub

fix typo: responsing -> responding (#2718)

Co-authored-by: 's avatarOSS-MAOLONGDONG\kaihong <maolongdong@kaihong.com>
parent 31070ffb
......@@ -49,7 +49,7 @@ export type IAnswerProps = {
onQueryChange: (query: string) => void
onFeedback?: FeedbackFunc
displayScene: DisplayScene
isResponsing?: boolean
isResponding?: boolean
answerIcon?: ReactNode
citation?: CitationItem[]
dataSets?: DataSet[]
......@@ -74,7 +74,7 @@ const Answer: FC<IAnswerProps> = ({
isHideFeedbackEdit = false,
onFeedback,
displayScene = 'web',
isResponsing,
isResponding,
answerIcon,
citation,
isShowCitation,
......@@ -229,7 +229,7 @@ const Answer: FC<IAnswerProps> = ({
<Thought
thought={item}
allToolIcons={allToolIcons || {}}
isFinished={!!item.observation || !isResponsing}
isFinished={!!item.observation || !isResponding}
/>
)}
......@@ -248,7 +248,7 @@ const Answer: FC<IAnswerProps> = ({
{
answerIcon || (
<div className={`${s.answerIcon} w-10 h-10 shrink-0`}>
{isResponsing
{isResponding
&& <div className={s.typeingIcon}>
<LoadingAnim type='avatar' />
</div>
......@@ -260,7 +260,7 @@ const Answer: FC<IAnswerProps> = ({
<div className={`${s.answerWrap} ${showEdit ? 'w-full' : ''}`}>
<div className={`${s.answer} relative text-sm text-gray-900`}>
<div className={'ml-2 py-3 px-4 bg-gray-100 rounded-tr-2xl rounded-b-2xl'}>
{(isResponsing && (isAgentMode ? (!content && (agent_thoughts || []).filter(item => !!item.thought || !!item.tool).length === 0) : !content))
{(isResponding && (isAgentMode ? (!content && (agent_thoughts || []).filter(item => !!item.thought || !!item.tool).length === 0) : !content))
? (
<div className='flex items-center justify-center w-6 h-5'>
<LoadingAnim type='text' />
......@@ -314,7 +314,7 @@ const Answer: FC<IAnswerProps> = ({
</div>
)}
{
!!citation?.length && isShowCitation && !isResponsing && (
!!citation?.length && isShowCitation && !isResponding && (
<Citation data={citation} showHitInfo={isShowCitationHitInfo} />
)
}
......
......@@ -49,9 +49,9 @@ export type IChatProps = {
onSend?: (message: string, files: VisionFile[]) => void
displayScene?: DisplayScene
useCurrentUserAvatar?: boolean
isResponsing?: boolean
canStopResponsing?: boolean
abortResponsing?: () => void
isResponding?: boolean
canStopResponding?: boolean
abortResponding?: () => void
controlClearQuery?: number
controlFocus?: number
isShowSuggestion?: boolean
......@@ -82,9 +82,9 @@ const Chat: FC<IChatProps> = ({
onSend = () => { },
displayScene,
useCurrentUserAvatar,
isResponsing,
canStopResponsing,
abortResponsing,
isResponding,
canStopResponding,
abortResponding,
controlClearQuery,
controlFocus,
isShowSuggestion,
......@@ -153,7 +153,7 @@ const Chat: FC<IChatProps> = ({
if (!files.find(item => item.type === TransferMethod.local_file && !item.fileId)) {
if (files.length)
onClear()
if (!isResponsing)
if (!isResponding)
onQueryChange('')
}
}
......@@ -286,7 +286,7 @@ const Chat: FC<IChatProps> = ({
isHideFeedbackEdit={isHideFeedbackEdit}
onFeedback={onFeedback}
displayScene={displayScene ?? 'web'}
isResponsing={isResponsing && isLast}
isResponding={isResponding && isLast}
answerIcon={answerIcon}
citation={citation}
dataSets={dataSets}
......@@ -311,7 +311,7 @@ const Chat: FC<IChatProps> = ({
useCurrentUserAvatar={useCurrentUserAvatar}
item={item}
isShowPromptLog={isShowPromptLog}
isResponsing={isResponsing}
isResponding={isResponding}
/>
)
})}
......@@ -320,9 +320,9 @@ const Chat: FC<IChatProps> = ({
!isHideSendInput && (
<div className={cn(!feedbackDisabled && '!left-3.5 !right-3.5', 'absolute z-10 bottom-0 left-0 right-0')}>
{/* Thinking is sync and can not be stopped */}
{(isResponsing && canStopResponsing && ((!!chatList[chatList.length - 1]?.content) || (chatList[chatList.length - 1]?.agent_thoughts && chatList[chatList.length - 1].agent_thoughts!.length > 0))) && (
{(isResponding && canStopResponding && ((!!chatList[chatList.length - 1]?.content) || (chatList[chatList.length - 1]?.agent_thoughts && chatList[chatList.length - 1].agent_thoughts!.length > 0))) && (
<div className='flex justify-center mb-4'>
<Button className='flex items-center space-x-1 bg-white' onClick={() => abortResponsing?.()}>
<Button className='flex items-center space-x-1 bg-white' onClick={() => abortResponding?.()}>
{stopIcon}
<span className='text-xs text-gray-500 font-normal'>{t('appDebug.operation.stopResponding')}</span>
</Button>
......
......@@ -13,10 +13,10 @@ import ImageGallery from '@/app/components/base/image-gallery'
type IQuestionProps = Pick<IChatItem, 'id' | 'content' | 'more' | 'useCurrentUserAvatar'> & {
isShowPromptLog?: boolean
item: IChatItem
isResponsing?: boolean
isResponding?: boolean
}
const Question: FC<IQuestionProps> = ({ id, content, more, useCurrentUserAvatar, isShowPromptLog, item, isResponsing }) => {
const Question: FC<IQuestionProps> = ({ id, content, more, useCurrentUserAvatar, isShowPromptLog, item, isResponding }) => {
const { userProfile } = useContext(AppContext)
const userName = userProfile?.name
const ref = useRef(null)
......@@ -28,7 +28,7 @@ const Question: FC<IQuestionProps> = ({ id, content, more, useCurrentUserAvatar,
<div className={`${s.question} group relative text-sm text-gray-900`}>
{
isShowPromptLog && !isResponsing && (
isShowPromptLog && !isResponding && (
<Log log={item.log!} containerRef={ref} />
)
}
......
......@@ -46,7 +46,7 @@ const ChatItem: FC<ChatItemProps> = ({
const config = useConfigFromDebugContext()
const {
chatList,
isResponsing,
isResponding,
handleSend,
suggestedQuestions,
handleRestart,
......@@ -118,7 +118,7 @@ const ChatItem: FC<ChatItemProps> = ({
<Chat
config={config}
chatList={chatList}
isResponsing={isResponsing}
isResponding={isResponding}
noChatInput
noStopResponding
chatContainerclassName='p-4'
......
......@@ -83,7 +83,7 @@ const TextGenerationItem: FC<TextGenerationItemProps> = ({
const {
completion,
handleSend,
isResponsing,
isResponding,
messageId,
} = useTextGeneration()
......@@ -143,8 +143,8 @@ const TextGenerationItem: FC<TextGenerationItemProps> = ({
innerClassName='grow flex flex-col'
contentClassName='grow'
content={completion}
isLoading={!completion && isResponsing}
isResponsing={isResponsing}
isLoading={!completion && isResponding}
isResponding={isResponding}
isInstalledApp={false}
messageId={messageId}
isError={false}
......
......@@ -45,7 +45,7 @@ const DebugWithSingleModel = forwardRef<DebugWithSingleModelRefType, DebugWithSi
const config = useConfigFromDebugContext()
const {
chatList,
isResponsing,
isResponding,
handleSend,
suggestedQuestions,
handleStop,
......@@ -118,7 +118,7 @@ const DebugWithSingleModel = forwardRef<DebugWithSingleModelRefType, DebugWithSi
<Chat
config={config}
chatList={chatList}
isResponsing={isResponsing}
isResponding={isResponding}
chatContainerclassName='p-6'
chatFooterClassName='px-6 pt-10 pb-4'
suggestedQuestions={suggestedQuestions}
......
......@@ -93,7 +93,7 @@ const Debug: FC<IDebug> = ({
}
}, [])
const [isResponsing, { setTrue: setResponsingTrue, setFalse: setResponsingFalse }] = useBoolean(false)
const [isResponding, { setTrue: setRespondingTrue, setFalse: setRespondingFalse }] = useBoolean(false)
const [isShowFormattingChangeConfirm, setIsShowFormattingChangeConfirm] = useState(false)
const [isShowCannotQueryDataset, setShowCannotQueryDataset] = useState(false)
......@@ -191,7 +191,7 @@ const Debug: FC<IDebug> = ({
const [messageId, setMessageId] = useState<string | null>(null)
const sendTextCompletion = async () => {
if (isResponsing) {
if (isResponding) {
notify({ type: 'info', message: t('appDebug.errorMessage.waitForResponse') })
return false
}
......@@ -277,7 +277,7 @@ const Debug: FC<IDebug> = ({
setMessageId('')
let res: string[] = []
setResponsingTrue()
setRespondingTrue()
sendCompletionMessage(appId, data, {
onData: (data: string, _isFirstMessage: boolean, { messageId }) => {
res.push(data)
......@@ -289,10 +289,10 @@ const Debug: FC<IDebug> = ({
setCompletionRes(res.join(''))
},
onCompleted() {
setResponsingFalse()
setRespondingFalse()
},
onError() {
setResponsingFalse()
setRespondingFalse()
},
})
}
......@@ -440,13 +440,13 @@ const Debug: FC<IDebug> = ({
{mode === AppType.completion && (
<div className="mt-6 px-6 pb-4">
<GroupName name={t('appDebug.result')} />
{(completionRes || isResponsing) && (
{(completionRes || isResponding) && (
<TextGeneration
className="mt-2"
content={completionRes}
isLoading={!completionRes && isResponsing}
isLoading={!completionRes && isResponding}
isShowTextToSpeech={textToSpeechConfig.enabled && !!text2speechDefaultModel}
isResponsing={isResponsing}
isResponding={isResponding}
isInstalledApp={false}
messageId={messageId}
isError={false}
......
......@@ -32,7 +32,7 @@ export type IGenerationItemProps = {
messageId?: string | null
conversationId?: string
isLoading?: boolean
isResponsing?: boolean
isResponding?: boolean
isInWebApp?: boolean
moreLikeThis?: boolean
depth?: number
......@@ -81,7 +81,7 @@ const GenerationItem: FC<IGenerationItemProps> = ({
content,
messageId,
isLoading,
isResponsing,
isResponding,
moreLikeThis,
isInWebApp = false,
feedback,
......@@ -277,7 +277,7 @@ const GenerationItem: FC<IGenerationItemProps> = ({
<div className='flex items-center justify-between mt-3'>
<div className='flex items-center'>
{
!isInWebApp && !isInstalledApp && !isResponsing && (
!isInWebApp && !isInstalledApp && !isResponding && (
<PromptLog
log={promptLog}
containerRef={ref}
......
......@@ -43,7 +43,7 @@ const ChatWrapper = () => {
chatList,
handleSend,
handleStop,
isResponsing,
isResponding,
suggestedQuestions,
} = useChat(
appConfig,
......@@ -130,7 +130,7 @@ const ChatWrapper = () => {
<Chat
config={appConfig}
chatList={chatList}
isResponsing={isResponsing}
isResponding={isResponding}
chatContainerInnerClassName={`mx-auto pt-6 w-full max-w-[720px] ${isMobile && 'px-4'}`}
chatFooterClassName='pb-4'
chatFooterInnerClassName={`mx-auto w-full max-w-[720px] ${isMobile && 'px-4'}`}
......
......@@ -11,12 +11,12 @@ import type { Emoji } from '@/app/components/tools/types'
type AgentContentProps = {
item: ChatItem
responsing?: boolean
responding?: boolean
allToolIcons?: Record<string, string | Emoji>
}
const AgentContent: FC<AgentContentProps> = ({
item,
responsing,
responding,
allToolIcons,
}) => {
const {
......@@ -46,7 +46,7 @@ const AgentContent: FC<AgentContentProps> = ({
<Thought
thought={thought}
allToolIcons={allToolIcons || {}}
isFinished={!!thought.observation || !responsing}
isFinished={!!thought.observation || !responding}
/>
)}
......
......@@ -25,7 +25,7 @@ type AnswerProps = {
index: number
config?: ChatConfig
answerIcon?: ReactNode
responsing?: boolean
responding?: boolean
allToolIcons?: Record<string, string | Emoji>
}
const Answer: FC<AnswerProps> = ({
......@@ -34,7 +34,7 @@ const Answer: FC<AnswerProps> = ({
index,
config,
answerIcon,
responsing,
responding,
allToolIcons,
}) => {
const { t } = useTranslation()
......@@ -58,7 +58,7 @@ const Answer: FC<AnswerProps> = ({
)
}
{
responsing && (
responding && (
<div className='absolute -top-[3px] -left-[3px] pl-[6px] flex items-center w-4 h-4 bg-white rounded-full shadow-xs border-[0.5px] border-gray-50'>
<LoadingAnim type='avatar' />
</div>
......@@ -70,7 +70,7 @@ const Answer: FC<AnswerProps> = ({
<AnswerTriangle className='absolute -left-2 top-0 w-2 h-3 text-gray-100' />
<div className='group relative inline-block px-4 py-3 max-w-full bg-gray-100 rounded-b-2xl rounded-tr-2xl text-sm text-gray-900'>
{
!responsing && (
!responding && (
<Operation
item={item}
question={question}
......@@ -79,7 +79,7 @@ const Answer: FC<AnswerProps> = ({
)
}
{
responsing && !content && !hasAgentThoughts && (
responding && !content && !hasAgentThoughts && (
<div className='flex items-center justify-center w-6 h-5'>
<LoadingAnim type='text' />
</div>
......@@ -94,7 +94,7 @@ const Answer: FC<AnswerProps> = ({
hasAgentThoughts && (
<AgentContent
item={item}
responsing={responsing}
responding={responding}
allToolIcons={allToolIcons}
/>
)
......@@ -109,7 +109,7 @@ const Answer: FC<AnswerProps> = ({
}
<SuggestedQuestions item={item} />
{
!!citation?.length && config?.retriever_resource?.enabled && !responsing && (
!!citation?.length && config?.retriever_resource?.enabled && !responding && (
<Citation data={citation} showHitInfo={config.supportCitationHitInfo} />
)
}
......
......@@ -5,7 +5,7 @@ import { createContext, useContext } from 'use-context-selector'
import type { ChatProps } from './index'
export type ChatContextValue = Pick<ChatProps, 'config'
| 'isResponsing'
| 'isResponding'
| 'chatList'
| 'showPromptLog'
| 'questionIcon'
......@@ -29,7 +29,7 @@ type ChatContextProviderProps = {
export const ChatContextProvider = ({
children,
config,
isResponsing,
isResponding,
chatList,
showPromptLog,
questionIcon,
......@@ -44,7 +44,7 @@ export const ChatContextProvider = ({
return (
<ChatContext.Provider value={{
config,
isResponsing,
isResponding,
chatList: chatList || [],
showPromptLog,
questionIcon,
......
......@@ -80,8 +80,8 @@ export const useChat = (
const { notify } = useToastContext()
const connversationId = useRef('')
const hasStopResponded = useRef(false)
const [isResponsing, setIsResponsing] = useState(false)
const isResponsingRef = useRef(false)
const [isResponding, setIsResponding] = useState(false)
const isRespondingRef = useRef(false)
const [chatList, setChatList] = useState<ChatItem[]>(prevChatList || [])
const chatListRef = useRef<ChatItem[]>(prevChatList || [])
const taskIdRef = useRef('')
......@@ -101,9 +101,9 @@ export const useChat = (
setChatList(newChatList)
chatListRef.current = newChatList
}, [])
const handleResponsing = useCallback((isResponsing: boolean) => {
setIsResponsing(isResponsing)
isResponsingRef.current = isResponsing
const handleResponding = useCallback((isResponding: boolean) => {
setIsResponding(isResponding)
isRespondingRef.current = isResponding
}, [])
const getIntroduction = useCallback((str: string) => {
......@@ -136,14 +136,14 @@ export const useChat = (
const handleStop = useCallback(() => {
hasStopResponded.current = true
handleResponsing(false)
handleResponding(false)
if (stopChat && taskIdRef.current)
stopChat(taskIdRef.current)
if (conversationMessagesAbortControllerRef.current)
conversationMessagesAbortControllerRef.current.abort()
if (suggestedQuestionsAbortControllerRef.current)
suggestedQuestionsAbortControllerRef.current.abort()
}, [stopChat, handleResponsing])
}, [stopChat, handleResponding])
const handleRestart = useCallback(() => {
connversationId.current = ''
......@@ -200,7 +200,7 @@ export const useChat = (
) => {
setSuggestQuestions([])
if (isResponsingRef.current) {
if (isRespondingRef.current) {
notify({ type: 'info', message: t('appDebug.errorMessage.waitForResponse') })
return false
}
......@@ -235,7 +235,7 @@ export const useChat = (
isAnswer: true,
}
handleResponsing(true)
handleResponding(true)
hasStopResponded.current = false
const bodyParams = {
......@@ -295,7 +295,7 @@ export const useChat = (
})
},
async onCompleted(hasError?: boolean) {
handleResponsing(false)
handleResponding(false)
if (hasError)
return
......@@ -416,7 +416,7 @@ export const useChat = (
responseItem.content = messageReplace.answer
},
onError() {
handleResponsing(false)
handleResponding(false)
const newChatList = produce(chatListRef.current, (draft) => {
draft.splice(draft.findIndex(item => item.id === placeholderAnswerId), 1)
})
......@@ -432,7 +432,7 @@ export const useChat = (
notify,
promptVariablesConfig,
handleUpdateChatList,
handleResponsing,
handleResponding,
])
const handleAnnotationEdited = useCallback((query: string, answer: string, index: number) => {
......@@ -506,8 +506,8 @@ export const useChat = (
chatList,
setChatList,
conversationId: connversationId.current,
isResponsing,
setIsResponsing,
isResponding,
setIsResponding,
handleSend,
suggestedQuestions,
handleRestart,
......
......@@ -28,7 +28,7 @@ import { StopCircle } from '@/app/components/base/icons/src/vender/solid/mediaAn
export type ChatProps = {
chatList: ChatItem[]
config?: ChatConfig
isResponsing?: boolean
isResponding?: boolean
noStopResponding?: boolean
onStopResponding?: () => void
noChatInput?: boolean
......@@ -52,7 +52,7 @@ const Chat: FC<ChatProps> = ({
config,
onSend,
chatList,
isResponsing,
isResponding,
noStopResponding,
onStopResponding,
noChatInput,
......@@ -125,7 +125,7 @@ const Chat: FC<ChatProps> = ({
<ChatContextProvider
config={config}
chatList={chatList}
isResponsing={isResponsing}
isResponding={isResponding}
showPromptLog={showPromptLog}
questionIcon={questionIcon}
answerIcon={answerIcon}
......@@ -158,7 +158,7 @@ const Chat: FC<ChatProps> = ({
index={index}
config={config}
answerIcon={answerIcon}
responsing={isLast && isResponsing}
responding={isLast && isResponding}
allToolIcons={allToolIcons}
/>
)
......@@ -169,7 +169,7 @@ const Chat: FC<ChatProps> = ({
item={item}
showPromptLog={showPromptLog}
questionIcon={questionIcon}
isResponsing={isResponsing}
isResponding={isResponding}
/>
)
})
......@@ -188,7 +188,7 @@ const Chat: FC<ChatProps> = ({
className={`${chatFooterInnerClassName}`}
>
{
!noStopResponding && isResponsing && (
!noStopResponding && isResponding && (
<div className='flex justify-center mb-2'>
<Button className='py-0 px-3 h-7 bg-white shadow-xs' onClick={onStopResponding}>
<StopCircle className='mr-[5px] w-3.5 h-3.5 text-gray-500' />
......
......@@ -17,12 +17,12 @@ type QuestionProps = {
item: ChatItem
showPromptLog?: boolean
questionIcon?: ReactNode
isResponsing?: boolean
isResponding?: boolean
}
const Question: FC<QuestionProps> = ({
item,
showPromptLog,
isResponsing,
isResponding,
questionIcon,
}) => {
const ref = useRef(null)
......@@ -38,7 +38,7 @@ const Question: FC<QuestionProps> = ({
<div className='group relative mr-4'>
<QuestionTriangle className='absolute -right-2 top-0 w-2 h-3 text-[#D1E9FF]/50' />
{
showPromptLog && !isResponsing && (
showPromptLog && !isResponding && (
<Log log={item.log!} containerRef={ref} />
)
}
......
......@@ -6,7 +6,7 @@ import { ssePost } from '@/service/base'
export const useTextGeneration = () => {
const { t } = useTranslation()
const { notify } = useToastContext()
const [isResponsing, setIsResponsing] = useState(false)
const [isResponding, setIsResponding] = useState(false)
const [completion, setCompletion] = useState('')
const [messageId, setMessageId] = useState<string | null>(null)
......@@ -14,12 +14,12 @@ export const useTextGeneration = () => {
url: string,
data: any,
) => {
if (isResponsing) {
if (isResponding) {
notify({ type: 'info', message: t('appDebug.errorMessage.waitForResponse') })
return false
}
setIsResponsing(true)
setIsResponding(true)
setCompletion('')
setMessageId('')
let res: string[] = []
......@@ -42,10 +42,10 @@ export const useTextGeneration = () => {
setCompletion(res.join(''))
},
onCompleted() {
setIsResponsing(false)
setIsResponding(false)
},
onError() {
setIsResponsing(false)
setIsResponding(false)
},
})
return true
......@@ -53,8 +53,8 @@ export const useTextGeneration = () => {
return {
completion,
isResponsing,
setIsResponsing,
isResponding,
setIsResponding,
handleSend,
messageId,
}
......
......@@ -190,7 +190,7 @@ const Main: FC<IMainProps> = ({
const [citationConfig, setCitationConfig] = useState<CitationConfig | null>(null)
const [chatList, setChatList, getChatList] = useGetState<IChatItem[]>([])
const chatListDomRef = useRef<HTMLDivElement>(null)
const [isResponsing, { setTrue: setResponsingTrue, setFalse: setResponsingFalse }] = useBoolean(false)
const [isResponding, { setTrue: setRespondingTrue, setFalse: setRespondingFalse }] = useBoolean(false)
const [abortController, setAbortController] = useState<AbortController | null>(null)
const [conversationIdChangeBecauseOfNew, setConversationIdChangeBecauseOfNew, getConversationIdChangeBecauseOfNew] = useGetState(false)
const [isChatStarted, { setTrue: setChatStarted, setFalse: setChatNotStarted }] = useBoolean(false)
......@@ -198,7 +198,7 @@ const Main: FC<IMainProps> = ({
const createNewChat = useCallback(async () => {
// if new chat is already exist, do not create new chat
abortController?.abort()
setResponsingFalse()
setRespondingFalse()
if (conversationList.some(item => item.id === '-1'))
return
......@@ -212,7 +212,7 @@ const Main: FC<IMainProps> = ({
}))
}, [
abortController,
setResponsingFalse,
setRespondingFalse,
setConversationList,
conversationList,
newConversationInputs,
......@@ -504,11 +504,11 @@ const Main: FC<IMainProps> = ({
}, [currConversationId, currInputs, promptConfig, t, logError])
const [controlFocus, setControlFocus] = useState(0)
const doShowSuggestion = isShowSuggestion && !isResponsing
const doShowSuggestion = isShowSuggestion && !isResponding
const [openingSuggestedQuestions, setOpeningSuggestedQuestions] = useState<string[]>([])
const [messageTaskId, setMessageTaskId] = useState('')
const [hasStopResponded, setHasStopResponded, getHasStopResponded] = useGetState(false)
const [isResponsingConIsCurrCon, setIsResponsingConCurrCon, getIsResponsingConIsCurrCon] = useGetState(true)
const [isRespondingConIsCurrCon, setIsRespondingConCurrCon, getIsRespondingConIsCurrCon] = useGetState(true)
const [userQuery, setUserQuery] = useState('')
const [visionConfig, setVisionConfig] = useState<VisionSettings>({
enabled: false,
......@@ -541,7 +541,7 @@ const Main: FC<IMainProps> = ({
}
const handleSend = async (message: string, files?: VisionFile[]) => {
if (isResponsing) {
if (isResponding) {
notify({ type: 'info', message: t('appDebug.errorMessage.waitForResponse') })
return
}
......@@ -605,9 +605,9 @@ const Main: FC<IMainProps> = ({
let tempNewConversationId = prevTempNewConversationId
setHasStopResponded(false)
setResponsingTrue()
setRespondingTrue()
setIsShowSuggestion(false)
setIsResponsingConCurrCon(true)
setIsRespondingConCurrCon(true)
sendChatMessage(data, {
getAbortController: (abortController) => {
setAbortController(abortController)
......@@ -632,7 +632,7 @@ const Main: FC<IMainProps> = ({
setMessageTaskId(taskId)
// has switched to other conversation
if (prevTempNewConversationId !== getCurrConversationId()) {
setIsResponsingConCurrCon(false)
setIsRespondingConCurrCon(false)
return
}
updateCurrentQA({
......@@ -660,12 +660,12 @@ const Main: FC<IMainProps> = ({
resetNewConversationInputs()
setChatNotStarted()
setCurrConversationId(tempNewConversationId, appId, true)
if (getIsResponsingConIsCurrCon() && suggestedQuestionsAfterAnswerConfig?.enabled && !getHasStopResponded()) {
if (getIsRespondingConIsCurrCon() && suggestedQuestionsAfterAnswerConfig?.enabled && !getHasStopResponded()) {
const { data }: any = await fetchSuggestedQuestions(responseItem.id, isInstalledApp, installedAppInfo?.id)
setSuggestQuestions(data)
setIsShowSuggestion(true)
}
setResponsingFalse()
setRespondingFalse()
},
onFile(file) {
const lastThought = responseItem.agent_thoughts?.[responseItem.agent_thoughts?.length - 1]
......@@ -704,7 +704,7 @@ const Main: FC<IMainProps> = ({
}
// has switched to other conversation
if (prevTempNewConversationId !== getCurrConversationId()) {
setIsResponsingConCurrCon(false)
setIsRespondingConCurrCon(false)
return false
}
......@@ -766,7 +766,7 @@ const Main: FC<IMainProps> = ({
}
},
onError() {
setResponsingFalse()
setRespondingFalse()
// role back placeholder answer
setChatList(produce(getChatList(), (draft) => {
draft.splice(draft.findIndex(item => item.id === placeholderAnswerId), 1)
......@@ -832,10 +832,10 @@ const Main: FC<IMainProps> = ({
)
}
const handleAbortResponsing = useCallback(async () => {
const handleAbortResponding = useCallback(async () => {
await stopChatMessageResponding(appId, messageTaskId, isInstalledApp, installedAppInfo?.id)
setHasStopResponded(true)
setResponsingFalse()
setRespondingFalse()
}, [appId, messageTaskId, isInstalledApp, installedAppInfo?.id])
if (appUnavailable)
......@@ -905,7 +905,7 @@ const Main: FC<IMainProps> = ({
{
hasSetInputs && (
<div className={cn(doShowSuggestion ? 'pb-[140px]' : (isResponsing ? 'pb-[113px]' : 'pb-[76px]'), 'relative grow h-[200px] pc:w-[794px] max-w-full mobile:w-full mx-auto mb-3.5 overflow-hidden')}>
<div className={cn(doShowSuggestion ? 'pb-[140px]' : (isResponding ? 'pb-[113px]' : 'pb-[76px]'), 'relative grow h-[200px] pc:w-[794px] max-w-full mobile:w-full mx-auto mb-3.5 overflow-hidden')}>
<div className='h-full overflow-y-auto' ref={chatListDomRef}>
<Chat
chatList={chatList}
......@@ -914,9 +914,9 @@ const Main: FC<IMainProps> = ({
onSend={handleSend}
isHideFeedbackEdit
onFeedback={handleFeedback}
isResponsing={isResponsing}
canStopResponsing={!!messageTaskId && isResponsingConIsCurrCon}
abortResponsing={handleAbortResponsing}
isResponding={isResponding}
canStopResponding={!!messageTaskId && isRespondingConIsCurrCon}
abortResponding={handleAbortResponding}
checkCanSend={checkCanSend}
controlFocus={controlFocus}
isShowSuggestion={doShowSuggestion}
......
......@@ -203,7 +203,7 @@ const Main: FC<IMainProps> = ({
}
// update chat list of current conversation
if (!isNewConversation && !conversationIdChangeBecauseOfNew && !isResponsing) {
if (!isNewConversation && !conversationIdChangeBecauseOfNew && !isResponding) {
fetchChatList(currConversationId, isInstalledApp, installedAppInfo?.id).then((res: any) => {
const { data } = res
const newChatList: IChatItem[] = generateNewChatListWithOpenstatement(notSyncToStateIntroduction, notSyncToStateInputs)
......@@ -252,7 +252,7 @@ const Main: FC<IMainProps> = ({
const createNewChat = async () => {
// if new chat is already exist, do not create new chat
abortController?.abort()
setResponsingFalse()
setRespondingFalse()
if (conversationList.some(item => item.id === '-1'))
return
......@@ -369,7 +369,7 @@ const Main: FC<IMainProps> = ({
})()
}, [])
const [isResponsing, { setTrue: setResponsingTrue, setFalse: setResponsingFalse }] = useBoolean(false)
const [isResponding, { setTrue: setRespondingTrue, setFalse: setRespondingFalse }] = useBoolean(false)
const [abortController, setAbortController] = useState<AbortController | null>(null)
const { notify } = useContext(ToastContext)
const logError = (message: string) => {
......@@ -407,11 +407,11 @@ const Main: FC<IMainProps> = ({
const [controlFocus, setControlFocus] = useState(0)
const [isShowSuggestion, setIsShowSuggestion] = useState(false)
const doShowSuggestion = isShowSuggestion && !isResponsing
const doShowSuggestion = isShowSuggestion && !isResponding
const [suggestQuestions, setSuggestQuestions] = useState<string[]>([])
const [messageTaskId, setMessageTaskId] = useState('')
const [hasStopResponded, setHasStopResponded, getHasStopResponded] = useGetState(false)
const [isResponsingConIsCurrCon, setIsResponsingConCurrCon, getIsResponsingConIsCurrCon] = useGetState(true)
const [isRespondingConIsCurrCon, setIsRespondingConCurrCon, getIsRespondingConIsCurrCon] = useGetState(true)
const [shouldReload, setShouldReload] = useState(false)
const [userQuery, setUserQuery] = useState('')
const [visionConfig, setVisionConfig] = useState<VisionSettings>({
......@@ -445,7 +445,7 @@ const Main: FC<IMainProps> = ({
}
const handleSend = async (message: string, files?: VisionFile[]) => {
if (isResponsing) {
if (isResponding) {
notify({ type: 'info', message: t('appDebug.errorMessage.waitForResponse') })
return
}
......@@ -507,7 +507,7 @@ const Main: FC<IMainProps> = ({
let tempNewConversationId = prevTempNewConversationId
setHasStopResponded(false)
setResponsingTrue()
setRespondingTrue()
setIsShowSuggestion(false)
sendChatMessage(data, {
getAbortController: (abortController) => {
......@@ -533,7 +533,7 @@ const Main: FC<IMainProps> = ({
setMessageTaskId(taskId)
// has switched to other conversation
if (prevTempNewConversationId !== getCurrConversationId()) {
setIsResponsingConCurrCon(false)
setIsRespondingConCurrCon(false)
return
}
updateCurrentQA({
......@@ -565,7 +565,7 @@ const Main: FC<IMainProps> = ({
setSuggestQuestions(data)
setIsShowSuggestion(true)
}
setResponsingFalse()
setRespondingFalse()
},
onFile(file) {
const lastThought = responseItem.agent_thoughts?.[responseItem.agent_thoughts?.length - 1]
......@@ -604,7 +604,7 @@ const Main: FC<IMainProps> = ({
}
// has switched to other conversation
if (prevTempNewConversationId !== getCurrConversationId()) {
setIsResponsingConCurrCon(false)
setIsRespondingConCurrCon(false)
return false
}
......@@ -666,7 +666,7 @@ const Main: FC<IMainProps> = ({
}
},
onError() {
setResponsingFalse()
setRespondingFalse()
// role back placeholder answer
setChatList(produce(getChatList(), (draft) => {
draft.splice(draft.findIndex(item => item.id === placeholderAnswerId), 1)
......@@ -773,7 +773,7 @@ const Main: FC<IMainProps> = ({
}
{
hasSetInputs && (
<div className={cn(doShowSuggestion ? 'pb-[140px]' : (isResponsing ? 'pb-[113px]' : 'pb-[76px]'), 'relative grow h-[200px] pc:w-[794px] max-w-full mobile:w-full mx-auto mb-3.5 overflow-hidden')}>
<div className={cn(doShowSuggestion ? 'pb-[140px]' : (isResponding ? 'pb-[113px]' : 'pb-[76px]'), 'relative grow h-[200px] pc:w-[794px] max-w-full mobile:w-full mx-auto mb-3.5 overflow-hidden')}>
<div className='h-full overflow-y-auto' ref={chatListDomRef}>
<Chat
chatList={chatList}
......@@ -782,12 +782,12 @@ const Main: FC<IMainProps> = ({
onSend={handleSend}
isHideFeedbackEdit
onFeedback={handleFeedback}
isResponsing={isResponsing}
canStopResponsing={!!messageTaskId && isResponsingConIsCurrCon}
abortResponsing={async () => {
isResponding={isResponding}
canStopResponding={!!messageTaskId && isRespondingConIsCurrCon}
abortResponding={async () => {
await stopChatMessageResponding(appId, messageTaskId, isInstalledApp, installedAppInfo?.id)
setHasStopResponded(true)
setResponsingFalse()
setRespondingFalse()
}}
checkCanSend={checkCanSend}
controlFocus={controlFocus}
......
......@@ -60,10 +60,10 @@ const Result: FC<IResultProps> = ({
visionConfig,
completionFiles,
}) => {
const [isResponsing, { setTrue: setResponsingTrue, setFalse: setResponsingFalse }] = useBoolean(false)
const [isResponding, { setTrue: setRespondingTrue, setFalse: setRespondingFalse }] = useBoolean(false)
useEffect(() => {
if (controlStopResponding)
setResponsingFalse()
setRespondingFalse()
}, [controlStopResponding])
const [completionRes, doSetCompletionRes] = useState('')
......@@ -130,7 +130,7 @@ const Result: FC<IResultProps> = ({
}
const handleSend = async () => {
if (isResponsing) {
if (isResponding) {
notify({ type: 'info', message: t('appDebug.errorMessage.waitForResponse') })
return false
}
......@@ -165,13 +165,13 @@ const Result: FC<IResultProps> = ({
if (!isPC)
onShowRes()
setResponsingTrue()
setRespondingTrue()
const startTime = Date.now()
let isTimeout = false
const runId = setInterval(() => {
if (Date.now() - startTime > 1000 * 60) { // 1min timeout
clearInterval(runId)
setResponsingFalse()
setRespondingFalse()
onCompleted(getCompletionRes(), taskId, false)
isTimeout = true
}
......@@ -186,7 +186,7 @@ const Result: FC<IResultProps> = ({
if (isTimeout)
return
setResponsingFalse()
setRespondingFalse()
setMessageId(tempMessageId)
onCompleted(getCompletionRes(), taskId, true)
clearInterval(runId)
......@@ -199,7 +199,7 @@ const Result: FC<IResultProps> = ({
if (isTimeout)
return
setResponsingFalse()
setRespondingFalse()
onCompleted(getCompletionRes(), taskId, false)
clearInterval(runId)
},
......@@ -234,7 +234,7 @@ const Result: FC<IResultProps> = ({
isMobile={isMobile}
isInstalledApp={isInstalledApp}
installedAppId={installedAppInfo?.id}
isLoading={isCallBatchAPI ? (!completionRes && isResponsing) : false}
isLoading={isCallBatchAPI ? (!completionRes && isResponding) : false}
taskId={isCallBatchAPI ? ((taskId as number) < 10 ? `0${taskId}` : `${taskId}`) : undefined}
controlClearMoreLikeThis={controlClearMoreLikeThis}
isShowTextToSpeech={isShowTextToSpeech}
......@@ -244,7 +244,7 @@ const Result: FC<IResultProps> = ({
return (
<div className={cn(isNoData && !isCallBatchAPI && 'h-full')}>
{!isCallBatchAPI && (
(isResponsing && !completionRes)
(isResponding && !completionRes)
? (
<div className='flex h-full w-full justify-center items-center'>
<Loading type='area' />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment