mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-11-07 06:19:43 -10:00
* fix(web-shell): preserve reference tags across reloads * fix(acp): validate daemon input annotations at record, replay, and render Address review findings on the user-message tag replay PR: - Skip non-object annotation elements when recording (new readDaemonInputAnnotations reader), replaying (per-element filter), and rendering (null guard in splitComposerTagContentByAnnotations), so one malformed element can no longer poison a persisted session on every reload. - Cap caller-supplied annotations at MAX_DAEMON_INPUT_ANNOTATIONS = 256, matching the sibling attachment-references bound. - Export DAEMON_INPUT_ANNOTATIONS_META_KEY from bridgeTypes and route the recorder, replay, and live-echo read sites through it so the wire/persist key cannot drift silently. - Restore the deferred /advisor branch's no-payload test pin and split its annotation assertions into a dedicated case. - Document the annotations payload trigger in hooks.md and the intentional queued-strip/composer styling scope in both design docs. * test(cli): make post-index-change hook cases deterministic across filesystem ticks (#12404) The ungated-status control assumed `git status` always rewrites the index on a dirty tree, firing the tree-shipped post-index-change hook. The rewrite only happens when an entry is racily clean, which held only because beforeEach's add and commit usually land in one filesystem tick; a loaded runner straddles the tick, status writes nothing, and the control fails. Force raciness by re-adding README.md with a future-dated mtime (resetting the canary the re-add's own index write fires), and share the fixture with the guarded case so its negative assertion is exercised against a hook that would genuinely fire ungated. --------- Co-authored-by: 钉萁 <[email protected]> Co-authored-by: qwen-code-dev-bot <[email protected]>