qwen-code/docs
Shaojin Wen 650e085fec
fix(core): bound backward transcript pages in long single-turn sessions (#8553)
* fix(core): bound backward transcript pages in long single-turn sessions

* fix(core): keep byte budget when backward turn alignment fails

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

* fix(core): keep tool call/result pairs intact on backward pages

* refactor(core): share replay turn-start predicate with ACP history selection

* fix(core): bound backward pair extension for long tool_result runs

* fix(core): bound backward pair extension by the page byte budget

* fix(core): cap backward page expansion at a shared byte ceiling

Turn-alignment expansion was record-bounded only, so a byte-heavy turn
whose start sat within the expansion window could absorb records past
the workspace route's response cap and dead-end backward pagination at
that anchor on every retry. Gate both turn-alignment and pair extension
at a shared hard page ceiling (SESSION_TRANSCRIPT_MAX_EXPANDED_PAGE_BYTES);
the route derives its serialized-response cap as twice that value so the
caps cannot drift.

Also accept the expansion floor only when it is a real turn boundary, so
pages inside a long turn stay `limit` records instead of `2 * limit`,
and exclude interleaved realtime conversation records from the
pair-boundary predicate so the pair walk passes through them to the
owning call. Extension skips are logged with a reason, and backward
chaining under maxBytes is covered by tests.

* fix(core): bound backward pagination expansion and mid-turn turn starts

* fix(core): pair tool calls with results across backward pagination and bulk replay

Exempt the force-joined owner from the pair-extension byte budget so an
oversized tool-call record no longer splits its pair by construction, and
mirror the same pair-extension guard onto the ACP bulk-replay selector.
Deduplicate the bounded boundary walk into a shared findBoundaryAtOrBefore,
harden the ceiling-clamp byte-budget tests, pin mid-turn notification
classification, and refresh the stale bulk-load contract sentence.

---------

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Co-authored-by: qwen-code-dev-bot <qwen-code-dev@service.alibaba.com>
Co-authored-by: Qwen Autofix <autofix@qwen-code.dev>
2026-08-07 04:21:45 +00:00
..
assets feat: support workspace display names (#7179) 2026-07-20 15:16:44 +00:00
design fix(core): bound backward transcript pages in long single-turn sessions (#8553) 2026-08-07 04:21:45 +00:00
developers feat(daemon): Add SSE stream and client observability (#8572) 2026-08-06 16:44:15 +00:00
e2e-tests feat(worktree): Phase D — startup --worktree flag + symlinkDirectories + PR refs (#4381) 2026-05-27 17:04:51 +08:00
images fix(web-shell): render built-in tag icons (#7024) 2026-07-17 15:33:34 +00:00
plans feat(browser-ext): add alpha readiness diagnostics (#6739) 2026-08-04 03:23:47 +00:00
superpowers feat(cli): reference prior sessions via @ and add completion tabs (#7302) 2026-07-24 06:11:48 +00:00
users feat(review): say so when the bundle is older than the review it runs (#8390) 2026-08-07 03:21:26 +00:00
verification/abort-controller-refactor fix(core): stop AbortSignal listener leak in long sessions (MaxListenersExceededWarning) (#4366) 2026-05-26 14:21:49 +08:00
_meta.ts feat: refactor docs 2025-12-05 10:51:57 +08:00
index.md fix: lint issues 2025-12-19 15:52:11 +08:00