Files
yiliang114andQwen-Coder dbaf42fb18 fix(web-shell): complete managed host-shell alignment for placeholders, creation screen, and gates
Address the remaining review round on the managed host-shell customization:

- placeholder: the aligned managed composer now resolves exactly like the
  ordinary composer — `composerPlaceholders?.[state]` first, then the
  localized `editor.placeholder` / `editor.processing` default — so a host
  override map reaches it and a running turn no longer falls back to the
  managed queue hint. The host override map is threaded through
  WebShellCustomization so both composers read one source.
- welcome surfaces: the empty-transcript welcome props now carry the real
  workspace cwd and approval mode instead of literals, `renderWelcomeFooter`
  renders beside the header like App does, and both `renderWelcomeHeader` and
  `alignManagedChatWithHost` reach the workspace-binding creation screen, so
  the first managed surface matches the session view of the same host.
- classification: App and WorkspaceSessionProvider share the
  `hasManagedLocalTarget` helper; App passes its standalone-shell context so
  a route-less host no longer classifies differently on the two sides.
- tests: strengthen the hint-suppression cases with fixtures that actually
  render the hints, pin the two uncovered daemon-gate exemptions
  (workspace error / capabilities loading) under `managed=1`, pin the
  route-less local-target classification end to end, and pin the
  `navigationTarget: null` contract for sidebar:false hosts.

Verified: ManagedSessionsPage 184, WorkspaceSessionProvider(+loading) 54,
App.test 1464 — all green.

Co-authored-by: Qwen-Coder <[email protected]>
2026-11-08 00:02:19 +08:00
..