收紧 DirectProject 回合完成判定
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Successful in 6m53s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Successful in 6m43s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m58s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Successful in 5m18s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Successful in 5m47s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 2m14s
Project CI / Repository checks (pull_request) Successful in 3m38s
Project CI / Backend tests (pull_request) Successful in 9m6s
Project CI / Frontend tests (pull_request) Failing after 8m35s
Project CI / AI game creator shell web tests (pull_request) Successful in 4m25s
Project CI / Native shell tests (pull_request) Successful in 12m22s

仅由 turn.completed 结束订阅恢复的运行态

调整终止回归测试以覆盖真实生命周期事件
This commit is contained in:
2026-09-18 00:34:03 +08:00
parent 5a0a3362fb
commit 254f3fcc5d
2 changed files with 4 additions and 4 deletions
-4
View File
@@ -6697,12 +6697,8 @@ export function App({
}
} finally {
if (localProjectPathRef.current === directProjectPath) {
setDirectThreadChat((state) =>
state.turnRunning ? { ...state, turnRunning: false } : state,
);
setChatAgentBusy(false);
setDirectCodexTurnCancelling(false);
directTurnRunningRef.current = false;
chatAgentBusyRef.current = false;
// 本地 invoke 正常收尾仍可直接推进队列;恢复场景则由 turn.completed effect 推进。
dispatchNextQueuedChatTurn();
@@ -574,6 +574,10 @@ export function registerChatComposerControlTests() {
// app-server 的中断原因回到前端:不是失败,UI 必须回到可用态。
act(() => {
pending[0]?.reject(new Error('Codex app-server turn 已中断'));
harness.emitDirectThreadEvents({
type: 'turn.completed',
status: 'interrupted',
});
});
await waitFor(() => {
const send = within(surface).getByRole('button', { name: '发送' });