[CRITICAL - URGENT] Degraded performance in React UI Extensions in Customer Accounts Banner component

The Problem

When rendering the Banner component from @shopify/ui-extensions-react/customer-account in a Customer Account UI Extension, the browser becomes extremely laggy and often freezes for several seconds to even minutes before the view finally appears. Removing the Banner immediately resolves the performance issue.

This behavior occurs only with the Banner component, and only in Google Chrome or other Chromium browsers like Edge.


Code to Reproduce

import { Banner, reactExtension } from "@shopify/ui-extensions-react/customer-account";

export default reactExtension("customer-account.order-index.block.render", () => <Extension />);

function Extension() {
  return <Banner>I'm broken in Chrome and break everything in the screen</Banner>;
}

I created a full repo for reproduction as well here:


Expected Behavior

  • Rendering a single Banner should be lightweight and responsive.
  • No significant main-thread stalls or long layout recalculations.
  • The UI should remain smooth and interactive after the Banner mounts.

Actual Behavior

  • In Chromium browsers, rendering even a single Banner causes heavy lag or complete freezing for several seconds.

Investigation

  • Issue is isolated to the Banner component and only reproducible in Chrome.
  • Happens regardless of:
    • status (info, warning, critical, success)
    • Presence of title, onDismiss, or actions
    • Static or dynamic content

Tested in the following browsers:

  • Chrome - Version 142.0.7444.135 (Official Build) (64-bit) - Windows 11
    v26.0.1
  • Chrome - Version 144.0.7500.5 (Official Build) dev (64-bit) Windows 11
  • Chrome - Version 141.0.7390.123 (Official Build) (arm64) - Mac m4 Max
  • Edge - Version 142.0.3595.53 (Official build) (64-bit) - Windows 11

Impact

This bug makes the Banner component effectively unusable in Customer Account extensions when running in Chromium browsers. The performance freeze severely degrades the user experience and can appear as a full browser lock-up, forcing developers to remove or replace it entirely.


Request

Please investigate the Banner and other components that might be suffering form the same issue of rendering behavior in Chromium for Customer Account UI Extensions.
It likely triggers a render-measure loop or excessive style recalculation specific to Chrome’s layout engine.

1 Like

Same here! Chrome freezes completely when using the Banner component. Definitely needs an urgent fix :face_with_diagonal_mouth:

1 Like

Hi folks, we are trying to reproduce. What is the api_version in your extension TOML?

Hi @avocadomayo !

Thanks for taking a look, here it is:

Hey @muchisx would you be willing to add the extension back into your Customer Accounts page so we can take a look at it? Is it working okay for you in the Checkout Editor?

Hi @thomas-m ! Thank you for taking a look.

I’m now running the dev server and serving it here:

https://shopify.com/70281888033/account/extensions-development?origin=https%3A%2F%2Ffacilities-hook-favors-rice.trycloudflare.com%2Fextensions&extensionId=dev-9ebaa5f0-a0d8-25bf-6290-c55f579e4dfac7c7fcd2&source=CUSTOMER_ACCOUNT_EXTENSION&appId=gid%3A%2F%2Fshopify%2FApp%2F294406225921&target=customer-account.order-index.block.render

We aren’t seeing the same behaviour. The banner is rendering as expected. Are there any errors in your browser’s developer console or the app’s dev server?

@thomas-m

No errors in the console

No logs in the app’s dev server

I tried extensively also with the performance pane but the issues doesn’t seem to be logged other than “System” - Maybe something to do with the Web Workers used for rendering remote-ui?

We were able to reproduce the issue. We are taking a look now.

1 Like

Hi @thomas-m @avocadomayo

Just checking if there can be an estimated time for the fix to be shipped so we can inform our users

@muchisx it should be fixed now :slight_smile:

1 Like

Thank you ! I appreciate your work solving this very much!! @thomas-m @avocadomayo