qwen-code/docs/design/web-shell
pomelo 8bd79c9192
feat(web-shell): drop the mobile composer's history arrow buttons (#14220)
* feat(web-shell): drop the mobile composer's history arrow buttons

The touch composer's editing row spent its two leading slots on up/down
buttons that walk the prompt history one entry at a time — a low-frequency
action on the screen where focus matters most. History recall on touch now
goes exclusively through the history search panel, which lists and filters
past inputs and is already touch-ready; the labelled history button (hosts
without the Add entry) and the Add drawer's history entry both remain.

navigatePrevHistory/navigateNextHistory lose their only callers with the
buttons. Desktop arrow keys never used them — the CodeMirror ArrowUp/
ArrowDown keymap handlers implement desktop recall inline — so the two
callbacks and their touch-textarea branches are removed outright rather
than left as dead exports.

* fix(web-shell): keep touch history recall from hiding slash commands and clobbering drafts

Review on #14220 found two regressions from removing the mobile history
arrows: the touch history panel filtered out slash-prefixed entries (the
filter assumes the desktop slash menu re-offers them, which the textarea
backend lacks), and a panel recall no longer armed the history-browse
flag the deleted arrow walk used to set, so a session or workspace
switch migrated the recalled text over the stored draft.

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

* fix(web-shell): re-arm draft persistence for programmatic writes after history recall

Address round-3 review on the mobile composer history fix:

- A touch history recall armed the history-browse flag, but only a soft-
  keyboard keystroke cleared it, so prompts composed through programmatic
  surfaces (voice, skill/command inserts, composerInput seeds, a rejected
  shell submit's restore) were never persisted as drafts and were lost
  silently. Clear the flag on each touch-backend write path; the rejected
  restore also schedules the save explicitly since the restore itself
  skipped scheduling while armed.
- Hoist the history-browse marker above the backend branch in
  restoreSelectedHistoryMatch so a panel recall on the CodeMirror backend
  no longer overwrites the previous session's stored draft on switch,
  matching the touch and desktop arrow entrances.
- Pin the desktop side of the history-search slash filter and rework the
  re-arm assertion so it discriminates (the prior placement ran after two
  session switches, which had already reset the flag).
- Narrow the editing-row acceptance bullet in both design docs to the
  controls the e2e actually measures and drop the comment's deferral to
  unit tests, which cannot measure layout.

Each new guard is pinned by a focused test verified red under mutation.

---------

Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com>
Co-authored-by: qwen-code-dev-bot <qwen-code-dev@service.alibaba.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-10-16 01:17:35 +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
assistant-response-session-branching.md fix(session): preserve source titles when branching (#9764) 2026-08-25 06:47:34 +00:00
chat-transcript-contract-prevalidation.md chore(ci): remove retired WebUI dependency guard (#11095) 2026-09-05 11:29:54 +00:00
mobile-composer-actions.md feat(web-shell): drop the mobile composer's history arrow buttons (#14220) 2026-10-16 01:17:35 +00:00
mobile-composer-actions.zh-CN.md feat(web-shell): drop the mobile composer's history arrow buttons (#14220) 2026-10-16 01:17:35 +00:00
session-active-work-live-state.md fix(web-shell): show session active work (#11267) 2026-09-08 11:54:21 +00:00
user-message-tag-replay.md fix(web-shell): preserve reference tags across reloads (#12404) 2026-09-22 06:05:57 +00:00
user-message-tag-replay.zh-CN.md fix(web-shell): preserve reference tags across reloads (#12404) 2026-09-22 06:05:57 +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-agent-tasks-change.md feat(web-shell): expose agent task changes (#9637) 2026-08-24 03:54:49 +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-assistant-feedback.md feat(web-shell): add per-turn satisfied / not satisfied marks (#12174) 2026-09-18 10:12:27 +00:00
web-shell-assistant-feedback.zh-CN.md feat(web-shell): add per-turn satisfied / not satisfied marks (#12174) 2026-09-18 10:12:27 +00:00
web-shell-assistant-turn-settlement.md feat(web-shell): expose assistant turn settlement lifecycle (#11251) 2026-09-19 09:52:25 +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-branch-session-optional-worktree.md feat(web-shell): support optional worktrees for branch sessions (#11816) 2026-09-27 06:11:55 +00:00
web-shell-browser-notification-branding.md feat(web-shell): add action reminders and in-panel notification access (#13832) 2026-10-12 10:51:11 +00:00
web-shell-browser-notification-branding.zh-CN.md feat(web-shell): add action reminders and in-panel notification access (#13832) 2026-10-12 10:51:11 +00:00
web-shell-browser-notification-details.md feat(web-shell): add action reminders and in-panel notification access (#13832) 2026-10-12 10:51:11 +00:00
web-shell-browser-notification-details.zh-CN.md feat(web-shell): add action reminders and in-panel notification access (#13832) 2026-10-12 10:51:11 +00:00
web-shell-browser-turn-notifications.md feat(web-shell): add action reminders and in-panel notification access (#13832) 2026-10-12 10:51:11 +00:00
web-shell-browser-turn-notifications.zh-CN.md feat(web-shell): add action reminders and in-panel notification access (#13832) 2026-10-12 10:51:11 +00:00
web-shell-composer-add-menu.md feat(web-shell): simplify mobile composer actions (#12252) 2026-09-20 05:42:25 +00:00
web-shell-composer-add-menu.zh-CN.md feat(web-shell): simplify mobile composer actions (#12252) 2026-09-20 05:42:25 +00:00
web-shell-composer-context-chip-placement.md feat(web-shell): show a reduced header on the new-task page (#14159) 2026-10-15 07:25:44 +00:00
web-shell-composer-context-chip-placement.zh-CN.md feat(web-shell): show a reduced header on the new-task page (#14159) 2026-10-15 07:25:44 +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-global-turn-navigation-phase2.md feat(web-shell): add continuous history and compact turn navigation (#11208) 2026-09-07 15:52:37 +00:00
web-shell-global-turn-navigation-phase2b.md feat(web-shell): add continuous history and compact turn navigation (#11208) 2026-09-07 15:52:37 +00:00
web-shell-global-turn-navigation-phase3.md feat(web-shell): add continuous history and compact turn navigation (#11208) 2026-09-07 15:52:37 +00:00
web-shell-global-turn-navigation.md feat(web-shell): add continuous history and compact turn navigation (#11208) 2026-09-07 15:52:37 +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-image-drag-and-drop.md fix(web-shell): restore mobile history navigation (#12362) 2026-09-21 02:46:42 +00:00
web-shell-live-preview.md feat(web-shell): open link artifacts in a new page (#12317) 2026-09-20 09:08:52 +00:00
web-shell-live-preview.zh-CN.md feat(web-shell): open link artifacts in a new page (#12317) 2026-09-20 09:08:52 +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-paste-as-attachment.md feat(web-shell): fold oversized pastes into an attachment card (#12084) 2026-09-17 11:03:27 +00:00
web-shell-paste-as-attachment.zh-CN.md feat(web-shell): fold oversized pastes into an attachment card (#12084) 2026-09-17 11:03:27 +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-preview-snapshots.md fix(acp-bridge): keep local published file artifacts ephemeral (#12395) 2026-10-08 15:09:51 +00:00
web-shell-preview-snapshots.zh-CN.md fix(acp-bridge): keep local published file artifacts ephemeral (#12395) 2026-10-08 15:09:51 +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-catalog-store.md feat(web-shell): Share session catalog scheduling (#8891) 2026-08-11 09:13:14 +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 fix(web-shell): show Qwen Live tasks in session sidebar (#11830) 2026-09-15 11:46:55 +00:00
web-shell-session-source-filter.zh-CN.md fix(web-shell): show Qwen Live tasks in session sidebar (#11830) 2026-09-15 11:46:55 +00:00
web-shell-skill-manager-page.md fix(serve): treat Skill toggles as settings writes (#10077) 2026-08-28 07:08:47 +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-turn-calls-panel.md feat(web-shell): inspect session tool calls by prompt (#12466) 2026-09-24 08:19:53 +00:00
web-shell-turn-calls-panel.zh-CN.md feat(web-shell): inspect session tool calls by prompt (#12466) 2026-09-24 08:19:53 +00:00
web-shell-turn-navigation-scroll-follow.md feat(web-shell): follow the reading position in the global turn navigation (#11801) 2026-09-15 07:32:13 +00:00
web-shell-turn-navigation-scroll-follow.zh-CN.md feat(web-shell): follow the reading position in the global turn navigation (#11801) 2026-09-15 07:32:13 +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
web-shell-workspace-overview.md feat(web-shell): restore the workspace Git picker in the sidebar hover details (#11818) 2026-09-14 07:14:00 +00:00
webshell-composer-placeholders.md feat(web-shell): decouple composer from catch-up and rebuild SSE on disconnected submit (#9323) 2026-08-17 06:39:23 +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
worktree-client-compatibility.md feat(web-shell): support optional worktrees for branch sessions (#11816) 2026-09-27 06:11:55 +00:00
worktree-client-compatibility.zh-CN.md feat(web-shell): support optional worktrees for branch sessions (#11816) 2026-09-27 06:11:55 +00:00