Summary
Honor two view→host requests that are currently silently dropped:
ui/notifications/size-changed — resize the host frame to the view's reported content height. The host supplies a host-controlled outer container (containerRef + ResizeObserver) whose size is driven by host layout, while the inner frame height follows the view's report — so the two signals don't couple into a feedback loop.
ui/request-display-mode — wire display-mode requests through the existing maximize control; the host filters against HOST_AVAILABLE_DISPLAY_MODES and returns the applied mode per spec (declining unsupported modes like pip).
Reference implementation (PR #1510)
Re-implement informed by these changes at 33fac3f:
Depends on
- hostContext delivery +
host-context-changed (containerDimensions/displayMode are hostContext fields; same files)
Wave 2 lane — sequential with the other AppRenderer/AppsScreen issues.
Notes
- AppsScreen layout changes must follow the Mantine rules:
.withProps() subcomponent constants, theme variants over CSS classes, no inline styles, no raw color literals.
- The
mcp_app_demo preset exercises size-changed end-to-end.
- Coverage gate ≥90 on all four dimensions.
Part of the PR #1510 decomposition (see tracking issue).
Summary
Honor two view→host requests that are currently silently dropped:
ui/notifications/size-changed— resize the host frame to the view's reported content height. The host supplies a host-controlled outer container (containerRef+ResizeObserver) whose size is driven by host layout, while the inner frame height follows the view's report — so the two signals don't couple into a feedback loop.ui/request-display-mode— wire display-mode requests through the existing maximize control; the host filters againstHOST_AVAILABLE_DISPLAY_MODESand returns the applied mode per spec (declining unsupported modes likepip).Reference implementation (PR #1510)
Re-implement informed by these changes at
33fac3f:containerRef/onSizeChange/displayMode/onRequestDisplayModeprops,ResizeObservereffect,onrequestdisplaymodebridge handlerHOST_AVAILABLE_DISPLAY_MODESappHeightstate,handleSizeChange(),displayModederived from the maximize toggle,handleRequestDisplayMode()Depends on
host-context-changed(containerDimensions/displayMode are hostContext fields; same files)Wave 2 lane — sequential with the other AppRenderer/AppsScreen issues.
Notes
.withProps()subcomponent constants, theme variants over CSS classes, no inline styles, no raw color literals.mcp_app_demopreset exercises size-changed end-to-end.Part of the PR #1510 decomposition (see tracking issue).