Theme app extension JS updated, but storefront UI only changed after reinstalling the app

I’m using a theme app extension that renders a widget on the storefront via extensions/<name>/blocks (no direct <script> injection in the theme).

Recently I changed the widget’s frontend logic to merge two API calls into one. I didn’t change any metafield structure or settings. My app has a shop‑level app-owned metafield defined in shopify.app.toml:

toml

[shop.metafields.app.settings]
type = "json"
name = "Widget Settings"

  [shop.metafields.app.settings.access]
  admin = "merchant_read_write"

After running shopify app deploy, the extension JS on Shopify’s CDN was clearly updated:

https://cdn.shopify.com/extensions/019e5df3-30******51b9154f0/myapp-stg-14/assets/app-widget.js

When I open this URL directly, I see the new code. However, on the live storefront the UI behavior stayed old (as if it was still using the previous flow).

The only thing that fixed it was:

  • Uninstalling the app

  • Reinstalling it on the same store

After reinstall, without any further code changes, the storefront started using the new merged API flow and the widget behaved as expected.

So in summary:

  • Theme app extension on storefront

  • CDN JS bundle definitely updated

  • Metafield settings unchanged and not breaking anything

  • UI still used old behavior until I reinstalled the app

  • After reinstall, the same code worked correctly

I’m trying to understand what in the Shopify app/extension lifecycle could cause this:

  • Is there any per‑shop or per‑installation configuration (theme app block config, app proxy, routing, cached extension version, etc.) that might keep an old code path or endpoint active until the app is reinstalled?

  • Are there known cases where a theme app extension’s storefront behavior only picks up new logic after reinstall, even when the CDN JS file is already updated?

Any insight into what exactly gets reset on reinstall (and how to avoid needing a reinstall for future logic changes) would be really helpful.