mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-08-11 01:36:35 +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> |
||
|---|---|---|
| .. | ||
| ansi.test.ts | ||
| ansi.ts | ||
| askUserPermission.test.ts | ||
| askUserPermission.ts | ||
| commandDisplay.ts | ||
| composerInputState.test.ts | ||
| composerInputState.ts | ||
| composerModels.ts | ||
| composerTag.test.ts | ||
| composerTag.ts | ||
| composerTasks.test.ts | ||
| composerTasks.ts | ||
| copyCommand.test.ts | ||
| copyCommand.ts | ||
| cssUrlVar.test.ts | ||
| cssUrlVar.ts | ||
| dialogLabels.ts | ||
| dom.ts | ||
| errorDetail.ts | ||
| escapeIntent.test.ts | ||
| escapeIntent.ts | ||
| formatRelativeTime.ts | ||
| formatRuntime.ts | ||
| formatTokenCount.ts | ||
| goalCondition.test.ts | ||
| goalCondition.ts | ||
| localCommandQueue.test.ts | ||
| localCommandQueue.ts | ||
| modelDisplay.ts | ||
| modelEncoding.test.ts | ||
| modelEncoding.ts | ||
| modelSwitchMessages.test.ts | ||
| modelSwitchMessages.ts | ||
| monitorTasks.test.ts | ||
| monitorTasks.ts | ||
| queueDrain.test.ts | ||
| queueDrain.ts | ||
| sentinelMessage.ts | ||
| sessionErrors.test.ts | ||
| sessionErrors.ts | ||
| sessionPath.test.ts | ||
| sessionPath.ts | ||
| sessionPreparation.test.ts | ||
| sessionPreparation.ts | ||
| slash-command-action.ts | ||
| slashSectionPlan.test.ts | ||
| slashSectionPlan.ts | ||
| splitUrl.test.ts | ||
| splitUrl.ts | ||
| systemInfo.ts | ||
| timeAgo.test.ts | ||
| timeAgo.ts | ||
| todos.test.ts | ||
| todos.ts | ||
| workspace.test.ts | ||
| workspace.ts | ||
| workspaceColor.test.ts | ||
| workspaceColor.ts | ||