<ui-save-bar> doesn't work in s-app-window: please support it

Environment: embedded app, React, App Bridge from https://cdn.shopify.com/shopifycloud/app-bridge.js (read 2026-11-08), Polaris web components (@shopify/polaris-types 2.0.0), Chrome on macOS.

Problem: <ui-save-bar> and shopify.saveBar do nothing inside an s-app-window.

  1. <ui-save-bar id="x"> in the route the window loads, plus shopify.saveBar.show('x'): no bar is drawn. The <button> children render as plain inline buttons in the page.
  2. <ui-save-bar> as a child of <s-app-window>: the window never opens, and children isn’t in SAppWindowAttributes.

Expected: the admin draws the save bar, as it does for the same markup in the main app frame.

Cause, from the script (minified identifiers, so approximate)

  • The real ui-save-bar is only defined when window.name.startsWith("app-iframe") || scope === "main". Otherwise a stub with empty show, hide and toggle is defined. The window’s frame name is frame://<app>/modal/<uuid>/src, so it gets the stub.
  • The s-app-window schema is children: isAppWindow ? [] : [titleBar, ui-save-bar, anyElement], so the app-window variant allows no children.

Related threads: 24511, 34386, 37957.

Request

  1. Please fix this: make <ui-save-bar> and shopify.saveBar work inside s-app-window, including loading and disabled on Save and a confirm prompt when the window is closed with unsaved changes. Editor-style apps are the main use of app windows, and the title-bar buttons are the only alternative today.
  2. Until then, document that it isn’t supported, and have the stub warn in the console and hide its children instead of rendering them inline.