fix(web): narrow request lifecycle fences

This commit is contained in:
Hypatia May
2026-07-29 17:46:25 +08:00
parent 55b47657e5
commit fdccc58cef
10 changed files with 89 additions and 22 deletions
@@ -231,7 +231,8 @@ export function ChatView({
const runningCalls = useSession(s => s.runningCalls)
const codeDispatches = useSession(s => s.codeDispatches)
const openState = useSession(s => s.openState)
const openErrorMessage = useSession(s => s.openError === null ? null : `${s.openError.message}(${s.openError.code})`)
const openError = useSession(s => s.openError)
const openErrorMessage = openError === null ? null : `${openError.message}(${openError.code})`
const hasMore = useSession(s => s.hasMore)
const loadingOlder = useSession(s => s.loadingOlder)
const selectedCallId = useStore(s => s.selection?.callId)
@@ -355,7 +356,12 @@ export function ChatView({
<div ref={listRef} className={css.scroll} onScroll={onScroll}>
<div className={css.column}>
{openState === 'loading' && <div className={css.hint}>载入历史…</div>}
{openState === 'error' && <div className={css.openError}>历史加载失败:{openErrorMessage}</div>}
{openState === 'error' && openError?.code === 'cancelled' && (
<div className={css.hint}>连接已中断,等待重连…</div>
)}
{openState === 'error' && openError?.code !== 'cancelled' && (
<div className={css.openError}>历史加载失败:{openErrorMessage}</div>
)}
{hasMore && (
<div className={css.older}>
<button type="button" disabled={loadingOlder} onClick={loadOlderAnchored}>