修复会话响应结束后未修改状态
This commit is contained in:
@@ -352,14 +352,11 @@ const ConversationTabView = memo(function ConversationTabView({
|
|||||||
acknowledgePersistedDetail(dbConversationId, detail)
|
acknowledgePersistedDetail(dbConversationId, detail)
|
||||||
}, [acknowledgePersistedDetail, connStatus, dbConversationId, detail])
|
}, [acknowledgePersistedDetail, connStatus, dbConversationId, detail])
|
||||||
|
|
||||||
const [prevConnStatus, setPrevConnStatus] = useState(connStatus)
|
const prevConnStatusRef = useRef(connStatus)
|
||||||
const promptingJustEnded =
|
|
||||||
prevConnStatus === "prompting" && connStatus !== "prompting"
|
|
||||||
if (prevConnStatus !== connStatus) {
|
|
||||||
setPrevConnStatus(connStatus)
|
|
||||||
}
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!promptingJustEnded) return
|
const wasPrompting = prevConnStatusRef.current === "prompting"
|
||||||
|
prevConnStatusRef.current = connStatus
|
||||||
|
if (!wasPrompting || connStatus === "prompting") return
|
||||||
|
|
||||||
setSyncState(effectiveConversationId, "reconciling")
|
setSyncState(effectiveConversationId, "reconciling")
|
||||||
const persistedId = dbConvIdRef.current
|
const persistedId = dbConvIdRef.current
|
||||||
@@ -381,7 +378,6 @@ const ConversationTabView = memo(function ConversationTabView({
|
|||||||
}, [
|
}, [
|
||||||
clearReconcileTimer,
|
clearReconcileTimer,
|
||||||
connStatus,
|
connStatus,
|
||||||
promptingJustEnded,
|
|
||||||
effectiveConversationId,
|
effectiveConversationId,
|
||||||
refreshConversations,
|
refreshConversations,
|
||||||
refreshFromDb,
|
refreshFromDb,
|
||||||
|
|||||||
Reference in New Issue
Block a user