qwen-code/docs/design/web-shell
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
..
web-shell-pane-header-actions docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
2026-07-16-web-shell-git-status-diff.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
2026-07-16-web-shell-transcript-batched-dispatch.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
2026-07-19-web-shell-git-log.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
2026-07-19-webshell-worktree-sessions.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-advanced-table-controls.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-artifact-download.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-bounded-transcript-and-subagent-details.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-composer-performance.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-composer-workspace-selector.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-context-panels.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-custom-slash-command-actions.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-file-previews.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-github-prs.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-history-boundary-pagination.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-history-pagination.md fix(core): bound backward transcript pages in long single-turn sessions (#8553) 2026-08-07 04:21:45 +00:00
web-shell-markdown-chart.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-monitor-details.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-non-primary-session-archive-hardening.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-pane-header-actions.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-plugin-shadow-surfaces.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-prompt-send-failure-retry.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-secondary-workspace-voice.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-selective-shadow-dom.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-session-created-callback.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-session-source-filter.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-skill-manager-page.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-specular-composer-animation.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-table-selection-statistics.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-voice-mode.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
web-shell-workspace-history-session-drafts.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
webshell-composer-placeholders.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
webshell-mention-icon-chips.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00
webshell-voice-button-visibility.md docs(web-shell): organize design documents by feature area (#8304) 2026-08-01 14:32:20 +00:00