Unverified Commit 87af414a authored by Joel's avatar Joel Committed by GitHub

feat: stop response enchancement (#352)

parent 72555d5d
......@@ -75,6 +75,8 @@ const Debug: FC<IDebug> = ({
const [abortController, setAbortController] = useState<AbortController | null>(null)
const [isShowFormattingChangeConfirm, setIsShowFormattingChangeConfirm] = useState(false)
const [isShowSuggestion, setIsShowSuggestion] = useState(false)
const [messageTaskId, setMessageTaskId] = useState('')
const [hasStopResponded, setHasStopResponded, getHasStopResponded] = useGetState(false)
useEffect(() => {
if (formattingChanged && chatList.some(item => !item.isAnswer))
......@@ -83,7 +85,7 @@ const Debug: FC<IDebug> = ({
setFormattingChanged(false)
}, [formattingChanged])
const clearConversation = () => {
const clearConversation = async () => {
setConversationId(null)
abortController?.abort()
setResponsingFalse()
......@@ -136,7 +138,6 @@ const Debug: FC<IDebug> = ({
const doShowSuggestion = isShowSuggestion && !isResponsing
const [suggestQuestions, setSuggestQuestions] = useState<string[]>([])
const [messageTaskId, setMessageTaskId] = useState('')
const onSend = async (message: string) => {
if (isResponsing) {
notify({ type: 'info', message: t('appDebug.errorMessage.waitForResponse') })
......@@ -203,6 +204,7 @@ const Debug: FC<IDebug> = ({
let _newConversationId: null | string = null
setHasStopResponded(false)
setResponsingTrue()
setIsShowSuggestion(false)
sendChatMessage(appId, data, {
......@@ -255,7 +257,7 @@ const Debug: FC<IDebug> = ({
}
}))
}
if (suggestedQuestionsAfterAnswerConfig.enabled) {
if (suggestedQuestionsAfterAnswerConfig.enabled && !getHasStopResponded()) {
const { data }: any = await fetchSuggestedQuestions(appId, responseItem.id)
setSuggestQuestions(data)
setIsShowSuggestion(true)
......@@ -379,8 +381,8 @@ const Debug: FC<IDebug> = ({
isResponsing={isResponsing}
canStopResponsing={!!messageTaskId}
abortResponsing={async () => {
abortController?.abort()
await stopChatMessageResponding(appId, messageTaskId)
setHasStopResponded(true)
setResponsingFalse()
}}
isShowSuggestion={doShowSuggestion}
......@@ -399,6 +401,7 @@ const Debug: FC<IDebug> = ({
className="mt-2"
content={completionRes}
isLoading={!completionRes && isResponsing}
isInstalledApp={false}
/>
)}
</div>
......
......@@ -191,7 +191,7 @@ const Main: FC<IMainProps> = ({
}, [chatList, currConversationId])
// user can not edit inputs if user had send message
const canEditInpus = !chatList.some(item => item.isAnswer === false) && isNewConversation
const createNewChat = () => {
const createNewChat = async () => {
// if new chat is already exist, do not create new chat
abortController?.abort()
setResponsingFalse()
......@@ -333,6 +333,8 @@ const Main: FC<IMainProps> = ({
const doShowSuggestion = isShowSuggestion && !isResponsing
const [suggestQuestions, setSuggestQuestions] = useState<string[]>([])
const [messageTaskId, setMessageTaskId] = useState('')
const [hasStopResponded, setHasStopResponded, getHasStopResponded] = useGetState(false)
const handleSend = async (message: string) => {
if (isResponsing) {
notify({ type: 'info', message: t('appDebug.errorMessage.waitForResponse') })
......@@ -371,6 +373,7 @@ const Main: FC<IMainProps> = ({
let tempNewConversationId = ''
setHasStopResponded(false)
setResponsingTrue()
setIsShowSuggestion(false)
sendChatMessage(data, {
......@@ -411,7 +414,7 @@ const Main: FC<IMainProps> = ({
resetNewConversationInputs()
setChatNotStarted()
setCurrConversationId(tempNewConversationId, appId, true)
if (suggestedQuestionsAfterAnswerConfig?.enabled) {
if (suggestedQuestionsAfterAnswerConfig?.enabled && !getHasStopResponded()) {
const { data }: any = await fetchSuggestedQuestions(responseItem.id, isInstalledApp, installedAppInfo?.id)
setSuggestQuestions(data)
setIsShowSuggestion(true)
......@@ -536,8 +539,8 @@ const Main: FC<IMainProps> = ({
isResponsing={isResponsing}
canStopResponsing={!!messageTaskId}
abortResponsing={async () => {
abortController?.abort()
await stopChatMessageResponding(appId, messageTaskId, isInstalledApp, installedAppInfo?.id)
setHasStopResponded(true)
setResponsingFalse()
}}
checkCanSend={checkCanSend}
......
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