Fix Codex reasoning effort resume and updates

This commit is contained in:
weishu
2026-04-10 11:50:03 +08:00
parent 0e1b653d43
commit 79a13d26c6
34 changed files with 664 additions and 27 deletions
+26 -1
View File
@@ -63,7 +63,15 @@ export function SessionChat(props: {
const agentFlavor = props.session.metadata?.flavor ?? null
const controlledByUser = props.session.agentState?.controlledByUser === true
const codexCollaborationModeSupported = agentFlavor === 'codex' && !controlledByUser
const { abortSession, switchSession, setPermissionMode, setCollaborationMode, setModel, setEffort } = useSessionActions(
const {
abortSession,
switchSession,
setPermissionMode,
setCollaborationMode,
setModel,
setModelReasoningEffort,
setEffort
} = useSessionActions(
props.api,
props.session.id,
agentFlavor,
@@ -246,6 +254,17 @@ export function SessionChat(props: {
}
}, [setModel, props.onRefresh, haptic])
const handleModelReasoningEffortChange = useCallback(async (modelReasoningEffort: string | null) => {
try {
await setModelReasoningEffort(modelReasoningEffort)
haptic.notification('success')
props.onRefresh()
} catch (e) {
haptic.notification('error')
console.error('Failed to set model reasoning effort:', e)
}
}, [setModelReasoningEffort, props.onRefresh, haptic])
const handleEffortChange = useCallback(async (effort: string | null) => {
try {
await setEffort(effort)
@@ -373,6 +392,7 @@ export function SessionChat(props: {
permissionMode={props.session.permissionMode}
collaborationMode={codexCollaborationModeSupported ? props.session.collaborationMode : undefined}
model={props.session.model}
modelReasoningEffort={agentFlavor === 'codex' ? props.session.modelReasoningEffort : undefined}
effort={props.session.effort}
agentFlavor={agentFlavor}
active={props.session.active}
@@ -389,6 +409,11 @@ export function SessionChat(props: {
}
onPermissionModeChange={handlePermissionModeChange}
onModelChange={handleModelChange}
onModelReasoningEffortChange={
agentFlavor === 'codex' && props.session.active && !controlledByUser
? handleModelReasoningEffortChange
: undefined
}
onEffortChange={handleEffortChange}
onSwitchToRemote={handleSwitchToRemote}
onTerminal={props.session.active && terminalSupported ? handleViewTerminal : undefined}