mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-08-24 08:05:39 +00:00
* fix(cli): report a conversation directory deleted mid-inspection as already gone A child deleted between the lstat and the realpath, or a root that vanished mid-inspection, was rewritten as 'identity_changed' and then surfaced as 'Live conversation directory must be an owned direct child' — a plain Error with no .code pointing at permissions and symlinks when the directory was simply deleted. Restore the ENOENT-race -> false contract of discardEmptyConversationDirectory (QwenLM/qwen-code#9489, item 4). Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(cli): keep conversation metadata reads race-free and parent ids storage-aligned Item 2 of QwenLM/qwen-code#9489: readExistingMetadata read the location, read the metadata, then re-read the location and returned undefined on mismatch, so an archive landing between the probes made lock-free resolvers report a healthy session as session_not_found. Creation metadata is immutable, so one tolerant read per state (active first, then archived) decides deterministically; the location probes are gone and a path-safety charset gate keeps the joined transcript path a single segment. Item 3: the parent-lineage gate required strict RFC-4122 v1-v5 ids while the store resolves far looser names, so persisted parents written by older builds (nil, v6/v7, agent-suffixed ids) turned loadable children into SessionNotFoundError, and the -agent- allowance could never resolve. Drop the shape gate and let storage resolution decide, keeping only the self-reference rejection. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(core): let loads resolve both-states sessions and drop the pre-lock restore scans Items 1 and 5 of QwenLM/qwen-code#9489. Item 1: a session persisted in both active and archived states — left behind by a crash inside archiveSessions — hard-failed ACP session/load and session/resume with session_conflict while plain CLI --resume kept loading the active copy. findSessionIdIgnoringCase now resolves the requested spelling first (and a single both-states candidate) instead of throwing, and assertSessionLoadable treats 'conflict' as loadable from the active copy. Mutating surfaces keep refusing: unarchive still conflicts via assertSessionArchived, and multi-runtime ownership arbitration stays strict so a conflicted internal copy cannot claim a session an ordinary workspace serves. Item 5: both restore handlers ran findSessionIdIgnoringCase twice per request — once as a pre-lock guard whose result REST discarded and the ACP twin kept as a stale storageSessionId fallback consumed exactly in the TOCTOU where the in-lock resolve returned undefined. The pre-lock guards are gone (the in-lock resolve is authoritative and both handlers now agree), the exact-spelling fast path removes directory scans from the common case entirely, and the remaining scan uses async readdir so a large chats tree no longer blocks the daemon event loop. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(cli): preserve canonical restore conflicts Canonicalize live task keys before resident bridge operations, and keep known case-conflict responses when the optional storage recheck fails. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): handle case-variant session follow-ups Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): preserve mixed-case live task identity Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): resolve canonical persisted session ids Batch case-insensitive transcript lookups for multi-thread waits and preserve organization metadata when live and persisted session IDs differ only by case. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): preserve canonical session restore state Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): complete canonical session reads Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): address canonical review findings Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): preserve aliased session organization Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): close canonical session review gaps Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): close canonical task ownership gaps Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): keep case twins distinct across session pages Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): isolate alias verification failures Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * test(integration): align both-states transcript expectation Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(cli): preserve mixed-case session ownership Arbitrate noncanonical live task IDs across workspace runtimes and retain the newest legacy organization alias only for uniquely persisted sessions. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(cli): preserve live task ownership during refresh Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(serve): handle session alias races Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * codex: address PR review feedback (#9513) Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * test(e2e): normalize generated session ids Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(cli): narrow PR 9513 to restore regressions Drop the review-driven mixed-case expansion and retain only the five regressions tracked by #9489. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(cli): complete active transcript conflict recovery Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * test(cli): align session conflict assertions Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * test(cli): align transcript conflict e2e Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * codex: address PR review feedback (#9513) Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> --------- Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> |
||
|---|---|---|
| .. | ||
| 2026-05-18-qwen-memory-benchmark-report.md | ||
| 2026-05-19-oom-reproduction-report.md | ||
| 2026-05-19-qwen-runtime-diagnostics-benchmark-report.md | ||
| 2026-05-21-qwen-0.15.11-default-heap-oom-stress-report.md | ||
| worktree-phase-c.md | ||
| worktree-phase-d.md | ||
| worktree.md | ||