qwen-code/packages/web-shell/client
samuelhsin 26600896d5
feat(web-shell): add split pane header action slot with overflow (#7808)
* feat(web-shell): add split pane header action slot with overflow

Let hosts render per-session actions in each split pane header, collapsing them into a … menu when the pane is too narrow.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs(web-shell): add pane header actions PR screenshots

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web-shell): tighten pane header overflow measurement

Drop the per-render children effect dependency that rebuilt ResizeObserver during streaming, and reserve workspace-tag width when computing available header space.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web-shell): address pane header overflow review blockers

Mount host actions in only one tree, and wrap overflow entries as DropdownMenuItems so Radix selection and keyboard navigation work.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web-shell): keep pane header actions alive across overflow

Flatten Fragment host actions before building the overflow menu, and keep the same host instances mounted when collapsing so stateful actions are not reset.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web-shell): address pane header overflow review suggestions (#7808)

* fix(web-shell): proxy overflow clicks via action slots

Wrap host pane actions in stable slots so the overflow menu can activate interactive descendants without requiring opaque custom components to forward internal data attributes.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web-shell): address overflow menu review suggestions (#7808)

* fix(web-shell): harden pane header overflow actions (#7808)

Restore the 8px gap between the built-in maximize/close controls, ignore
aria-hidden glyphs when labelling overflow items, omit non-interactive
children from the overflow menu, and document the popover constraint on
renderHeaderActions. Refreshes the design doc to match the mount-once
implementation.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: qwen-code-ci-bot <qwen-code-ci-bot@users.noreply.github.com>
Co-authored-by: Qwen Code Bot <qwen-code-bot@users.noreply.github.com>
Co-authored-by: qwen-code-dev-bot <qwen-code-dev@service.alibaba.com>
Co-authored-by: Qwen Code Autofix <qwen-code-autofix@users.noreply.github.com>
2026-07-29 13:06:48 +00:00
..
adapters fix(web-shell): render task notifications as system messages (#7822) 2026-07-27 09:15:18 +00:00
assets/icons feat(web-shell): add MCP mentions and iconized @ references (#6279) 2026-07-04 02:13:42 +00:00
completions fix(web-shell): reduce composer input latency (#8015) 2026-07-29 08:06:53 +00:00
components feat(web-shell): add split pane header action slot with overflow (#7808) 2026-07-29 13:06:48 +00:00
config fix(web-shell): preserve token and base path in session URLs (#7926) 2026-07-29 06:12:37 +00:00
constants feat(web-shell): add monitor task details (#7817) 2026-07-27 12:30:17 +00:00
e2e fix(web-shell): polish Channel pairing requests (#7997) 2026-07-29 06:36:10 +00:00
extensions fix(web-shell): reduce composer input latency (#8015) 2026-07-29 08:06:53 +00:00
hooks fix(web-shell): reduce composer input latency (#8015) 2026-07-29 08:06:53 +00:00
lib feat(web-shell): add shadcn UI foundation (#6760) 2026-07-12 13:51:52 +00:00
styles feat(web-shell): add selective shadow DOM isolation (#7551) 2026-07-23 02:54:12 +00:00
test feat(cli): improve subagent observability — untruncated live commands, transcript path, approval context (#6580) 2026-07-11 11:21:23 +00:00
utils fix(web-shell): preserve token and base path in session URLs (#7926) 2026-07-29 06:12:37 +00:00
voice feat(web-shell): honor voice hold mode (#7839) 2026-07-28 13:32:02 +00:00
App.module.css feat(web-shell): refine advanced table controls (#7999) 2026-07-29 07:37:30 +00:00
App.test.tsx feat(web-shell): add split pane header action slot with overflow (#7808) 2026-07-29 13:06:48 +00:00
App.tsx feat(web-shell): add split pane header action slot with overflow (#7808) 2026-07-29 13:06:48 +00:00
build-artifact.test.ts feat(web-shell): add selective shadow DOM isolation (#7551) 2026-07-23 02:54:12 +00:00
customization.tsx feat(web-shell): render streaming charts with markdown-chart (#7916) 2026-07-29 06:04:56 +00:00
i18n.tsx feat(web-shell): add split pane header action slot with overflow (#7808) 2026-07-29 13:06:48 +00:00
index-html.test.ts fix(web-shell): prevent React measure detail OOM (#7596) 2026-07-23 11:35:42 +00:00
index.html fix(web-shell): prevent React measure detail OOM (#7596) 2026-07-23 11:35:42 +00:00
index.test.tsx fix(web-shell): initialize workspace selector from ID (#7518) 2026-07-23 11:29:40 +00:00
index.tsx feat(web-shell): add split pane header action slot with overflow (#7808) 2026-07-29 13:06:48 +00:00
interactionBlockContext.ts feat(web-shell): add cell value dialog on double-click in markdown tables (#6530) 2026-07-11 15:21:34 +00:00
main.tsx feat(web-shell): refine advanced table controls (#7999) 2026-07-29 07:37:30 +00:00
midTurnDedup.test.ts feat(daemon): deliver web-shell mid-turn messages into the running turn (#5175) 2026-06-16 16:16:47 +08:00
midTurnDedup.ts feat(daemon): deliver web-shell mid-turn messages into the running turn (#5175) 2026-06-16 16:16:47 +08:00
monitorDetailsContext.tsx feat(web-shell): add monitor task details (#7817) 2026-07-27 12:30:17 +00:00
portalRoot.ts feat(web-shell): add shadcn UI foundation (#6760) 2026-07-12 13:51:52 +00:00
shadowDom.test.ts feat(web-shell): add Channel management page (#7793) 2026-07-27 17:58:11 +00:00
shadowDom.ts feat(web-shell): add Channel management page (#7793) 2026-07-27 17:58:11 +00:00
subagentDetailsContext.tsx feat(web-shell): show subagent sessions in detail panel (#7380) 2026-07-22 02:31:08 +00:00
themeContext.ts feat(web-shell): daemon web-shell improvements — token usage, settings, retry, streaming metrics, hidden commands (#5066) 2026-06-13 02:58:08 +00:00
transcriptRenderMode.ts feat(webshell): replay ChatRecord history in readonly WebShell (#6999) 2026-07-19 00:09:44 +00:00
vite-config.test.ts feat(web-shell): Scope voice to composer workspace (#7754) 2026-07-27 15:47:45 +00:00
vite-env.d.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00