mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-08-10 01:05:24 +00:00
* feat(web-shell): gate session workflow behind experimental setting * feat(web-shell): bind plan approval to todo revision * fix(cli): clear stale workflow revision on plan entry * test(web-shell): pin revised workflow snapshot * fix(cli): clear stale plan revisions on restore * fix(cli): keep replayed history from rebinding plan revisions History replay re-sends stale plan updates through Session.sendUpdate, re-stamping activeTodoPlanRevision from finished plan cycles. Clear the revision after every replay path (cold replayHistory and live non-bulk loadSession) so a replayed snapshot can never bind a later exit_plan_mode approval; reloaded sessions fall back to text-only approval until the next live todo_write re-establishes the binding. Also drop the bulk-load restore that could never be read before a plan-mode transition cleared it, and pin the workflow gates and mode-entry clears with negative tests. * test(web-shell): pin older plan revision in ChatPane approval test (#8393) * test(cli): pin unbindable plan updates in approval revision test (#8393) Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(cli): clear Todo plan revision on history restore (#8393) restoreHistory was the one history-resetting path that kept activeTodoPlanRevision, so a restored snapshot could let a stale revision bind the next exit_plan_mode approval. Clear it like the sibling reset paths, pin the behavior with a test, and pin the live-load clear ordering after the replayed updates. * fix(cli): restore Todo stop guard clear on plan re-select (#8393) The previous-mode guard added for the revision binding also skipped the Todo Stop Guard trust clear on a redundant plan re-select; scope the guard to the revision reset so every transition into plan clears the stop guard as before. The replay-time revision clears now run in finally blocks so a transport failure part-way through a replay cannot leave a replayed binding on the live session, and the web-shell exit-plan approval rule is unified in one predicate. Revision tests assert through the observable qwenTodoApproval approval metadata instead of the private field. --------- Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> Co-authored-by: qwen-code-dev-bot <qwen-code-dev@service.alibaba.com> |
||
|---|---|---|
| .. | ||
| __fixtures__ | ||
| ArtifactPanel.module.css | ||
| ArtifactPanel.test.tsx | ||
| ArtifactPanel.tsx | ||
| artifactUtils.test.ts | ||
| artifactUtils.ts | ||
| CodeReviewArtifactDetail.module.css | ||
| CodeReviewArtifactDetail.test.tsx | ||
| CodeReviewArtifactDetail.tsx | ||
| codeReviewContract.test.ts | ||
| LineStats.tsx | ||
| SideTaskPanel.test.tsx | ||
| SideTaskPanel.tsx | ||
| SubagentDetail.integration.test.tsx | ||
| SubagentDetail.module.css | ||
| SubagentDetail.test.tsx | ||
| SubagentDetail.tsx | ||
| TurnOutputs.dom.test.tsx | ||
| TurnOutputs.module.css | ||
| TurnOutputs.test.ts | ||
| TurnOutputs.tsx | ||
| turnOutputSelectors.test.ts | ||
| turnOutputSelectors.ts | ||