description: "Browser UI renderer: React slot bindings, ctx.uiRenderer, and the assembled application root for the dsh web client."
English | 中文
dsh-client-ui-renderer mounts the assembled dsh web client GUI: after the complete client plugin roster settles, the boot kernel calls ctx.uiRenderer.mount(container), which hydrates the framework-free boot page and switches to the full React application before the next paint. Business plugins stay plain React components that receive session and workspace data through typed props and never wire subscriptions themselves — the renderer binds the runtime's bare observable sources into selector hooks at the slot outlets. The web shell and the boot kernel are its only direct consumers, so a composition needs it exactly when it wants a React-rendered GUI.
This package is infrastructure: the web shell and the boot kernel are its only direct consumers. A composition needs it whenever it wants a React-rendered GUI — dsh-client-web loads the roster, waits for every entry to activate, then calls ctx.uiRenderer.mount(container).
mount(container) installs the slot renderer, hydrates the existing boot DOM when present, renders the assembled application into the container before the next paint, and returns a disposer that unmounts the React root. The renderer performs the sole context-level renderSlot('root') call; the registered root occupant owns product layout and document metadata.
A business plugin registers a component through the slot system; the renderer binds the runtime's session and workspace observable sources into selector hooks at the outlet. The plugin receives the standard session props (session id, conversation snapshot hooks) through its composed props — it never imports the renderer or touches React internals.
These pages cover the surrounding machinery and the composition model.
mount.None, as the package is a browser-side render assembly that registers nothing model-facing.
None; this package neither assembles nor sends a provider request.
These limits define when the application frame appears and how far per-region readiness goes; they are current package constraints.