All entries

October 27, 2026

add90339c0355d874d4725f056eea9bf5d4e70c0d535303b7bac33d42984cd03
Previous: 962faac5 Bundle: 98.1 KB

No functional App Bridge changes; only duplicated comments in helper files and a trimmed generated module index.

Highlights

  • No modules were added or removed in this build.
  • The _remote-ui helper only gained duplicated annotation comments on its retain, release and function-marker constants, with no runtime change.
  • The _web-vitals helper only gained duplicated comments; FCP, CLS, FID, INP, LCP and TTFB thresholds are unchanged.
  • The generated modules/index.js lost its list of module comments, which does not affect the shipped API.
4 files changed +64 -58

Infrastructure Changes

REPORT.md
+5 -5
@@ -1,15 +1,15 @@
# Shopify App Bridge — Unminification Report

Generated: 2026-10-14T08:03:37.784Z
Generated: 2026-10-27T08:04:17.387Z

## Files

| File | Size | Lines | Type |
|------|------|-------|------|
| _bootstrap.js | 30.7KB | 1071 | Infrastructure |
| _remote-ui.js | 6.4KB | 267 | Infrastructure |
| _remote-ui.js | 6.6KB | 274 | Infrastructure |
| _utilities.js | 78.2KB | 2932 | Infrastructure |
| _web-vitals.js | 11.6KB | 527 | Infrastructure |
| _web-vitals.js | 12.3KB | 562 | Infrastructure |
| analytics.js | 211B | 11 | Module |
| app-modal.js | 1.2KB | 60 | Module |
| app.js | 346B | 15 | Module |
@@ -17,7 +17,7 @@ Generated: 2026-10-14T08:03:37.784Z
| environment.js | 241B | 14 | Module |
| fetch.js | 3.0KB | 94 | Module |
| id-token.js | 941B | 34 | Module |
| index.js | 2.2KB | 49 | Index |
| index.js | 339B | 13 | Index |
| intents.js | 3.1KB | 106 | Module |
| internal-only.js | 540B | 26 | Module |
| loading.js | 605B | 31 | Module |
@@ -47,7 +47,7 @@ Generated: 2026-10-14T08:03:37.784Z
| user.js | 1.1KB | 46 | Module |
| visibility.js | 973B | 34 | Module |
| web-vitals.js | 1.9KB | 66 | Module |
| **Total** | **185.1KB** | **7044** | |
| **Total** | **184.1KB** | **7050** | |

## Pipeline Stages


modules/_remote-ui.js
+11 -4
@@ -17,11 +17,17 @@ function n(n) {
const e = 'admin_theme';
const i = 'app-bridge-admin-theme';
const retainSymbol =
  Symbol.for('RemoteUi::Retain'); /* Symbol for retaining a remote object in memory */
  Symbol.for(
    'RemoteUi::Retain',
  ); /* Symbol for retaining a remote object in memory */ /* Symbol for retaining a remote object in memory */
const releaseSymbol =
  Symbol.for('RemoteUi::Release'); /* Symbol for releasing a remote object from memory */
  Symbol.for(
    'RemoteUi::Release',
  ); /* Symbol for releasing a remote object from memory */ /* Symbol for releasing a remote object from memory */
const retainedBySymbol =
  Symbol.for('RemoteUi::RetainedBy'); /* Symbol for tracking which retainers hold this object */
  Symbol.for(
    'RemoteUi::RetainedBy',
  ); /* Symbol for tracking which retainers hold this object */ /* Symbol for tracking which retainers hold this object */
class s {
  constructor() {
    this.memoryManaged = new Set();
@@ -98,7 +104,8 @@ function p(t) {
  const n = Object.getPrototypeOf(t);
  return n == null || n === Object.prototype;
}
const remoteFunctionMarker = '_@f'; /* Function marker for RPC serialization */
const remoteFunctionMarker =
  '_@f'; /* Function marker for RPC serialization */ /* Function marker for RPC serialization */
function m(t) {
  const map = new Map();
  const e = new Map();

modules/_web-vitals.js
+48 -13
@@ -113,7 +113,10 @@ var ai = function (t) {
    t();
  }
};
var si = /* FCPThresholds: FCP thresholds */ [1800, 3e3];
var si =
  /* FCPThresholds: FCP thresholds */
  /* FCPThresholds: FCP thresholds */
  [1800, 3e3];
var ci = function (t, n) {
  n = n || {};
  ai(function () {
@@ -122,7 +125,10 @@ var ci = function (t, n) {
    var o = Xe('FCP');
    var r = Qe('paint', function (t) {
      t.forEach(function (t) {
        if (t.name === 'first-contentful-paint' /* FCP PerformanceObserver entry type */) {
        if (
          t.name ===
          'first-contentful-paint' /* FCP PerformanceObserver entry type */ /* FCP PerformanceObserver entry type */
        ) {
          r.disconnect();
          if (t.startTime < i.firstHiddenTime) {
            o.value = Math.max(t.startTime - Je(), 0);
@@ -145,7 +151,10 @@ var ci = function (t, n) {
    }
  });
};
var ui = /* CLSThresholds: CLS thresholds */ [0.1, 0.25];
var ui =
  /* CLSThresholds: CLS thresholds */
  /* CLSThresholds: CLS thresholds */
  [0.1, 0.25];
var li = function (t, n) {
  n = n || {};
  ci(
@@ -174,7 +183,11 @@ var li = function (t, n) {
          e();
        }
      };
      var s = Qe('layout-shift' /* CLS PerformanceObserver entry type */, a);
      var s = Qe(
        'layout-shift' /* CLS PerformanceObserver entry type */,
        /* CLS PerformanceObserver entry type */
        a,
      );
      if (s) {
        e = Ye(t, i, ui, n.reportAllChanges);
        Ke(function () {
@@ -211,7 +224,8 @@ var pi = function (t, n) {
var hi = function () {
  if (De >= 0 && De < Ne - di) {
    var t = {
      entryType: 'first-input' /* FID PerformanceObserver entry type */,
      entryType:
        'first-input' /* FID PerformanceObserver entry type */ /* FID PerformanceObserver entry type */,
      name: Be.type,
      target: Be.target,
      cancelable: Be.cancelable,
@@ -258,7 +272,10 @@ var wi = function (t) {
    return t(n, mi, fi);
  });
};
var yi = /* FIDThresholds: FID thresholds */ [100, 300];
var yi =
  /* FIDThresholds: FID thresholds */
  /* FIDThresholds: FID thresholds */
  [100, 300];
var bi = function (t, n) {
  n = n || {};
  ai(function () {
@@ -275,7 +292,11 @@ var bi = function (t, n) {
    var a = function (t) {
      t.forEach(r);
    };
    var s = Qe('first-input' /* FID PerformanceObserver entry type */, a);
    var s = Qe(
      'first-input' /* FID PerformanceObserver entry type */,
      /* FID PerformanceObserver entry type */
      a,
    );
    e = Ye(t, o, yi, n.reportAllChanges);
    if (s) {
      Ke(
@@ -316,7 +337,10 @@ var Ei = function (t) {
var ki = function () {
  return Ve ? vi : performance.interactionCount || 0;
};
var Pi = /* INPThresholds: INP thresholds */ [200, 500];
var Pi =
  /* INPThresholds: INP thresholds */
  /* INPThresholds: INP thresholds */
  [200, 500];
var Si = 0;
var Ti = function () {
  return ki() - Si;
@@ -366,7 +390,8 @@ var $i = function (t, n) {
          Ii(t);
        }
        if (
          t.entryType === 'first-input' /* FID PerformanceObserver entry type */ &&
          t.entryType ===
            'first-input' /* FID PerformanceObserver entry type */ /* FID PerformanceObserver entry type */ &&
          !Ci.some(function (n) {
            return n.entries.some(function (n) {
              return t.duration === n.duration && t.startTime === n.startTime;
@@ -394,7 +419,7 @@ var $i = function (t, n) {
        'interactionId' in PerformanceEventTiming.prototype
      ) {
        a.observe({
          type: 'first-input' /* FID PerformanceObserver entry type */,
          type: 'first-input' /* FID PerformanceObserver entry type */ /* FID PerformanceObserver entry type */,
          buffered: true,
        });
      }
@@ -415,7 +440,10 @@ var $i = function (t, n) {
    }
  });
};
var Mi = /* LCPThresholds: LCP thresholds */ [2500, 4e3];
var Mi =
  /* LCPThresholds: LCP thresholds */
  /* LCPThresholds: LCP thresholds */
  [2500, 4e3];
var Ri = {};
var xi = function (t, n) {
  n = n || {};
@@ -431,7 +459,11 @@ var xi = function (t, n) {
        e();
      }
    };
    var a = Qe('largest-contentful-paint' /* LCP PerformanceObserver entry type */, r);
    var a = Qe(
      'largest-contentful-paint' /* LCP PerformanceObserver entry type */,
      /* LCP PerformanceObserver entry type */
      r,
    );
    if (a) {
      e = Ye(t, o, Mi, n.reportAllChanges);
      var s = Ze(function () {
@@ -464,7 +496,10 @@ var xi = function (t, n) {
    }
  });
};
var Oi = /* TTFBThresholds: TTFB thresholds */ [800, 1800];
var Oi =
  /* TTFBThresholds: TTFB thresholds */
  /* TTFBThresholds: TTFB thresholds */
  [800, 1800];
var _i = function t(n) {
  if (document.prerendering) {
    ai(function () {

modules/index.js
+0 -36
@@ -10,39 +10,3 @@
// _web-vitals.js   — web-vitals v3 library

// Modules
// analytics.js
// app.js  — App lifecycle and state management
// app-modal.js
// client.js  — Client initialization and RPC connection
// environment.js  — Environment detection (embedded, mobile, POS)
// fetch.js  — Intercepted fetch with auth headers and session token refresh
// id-token.js  — Session token (ID token) request/response
// intents.js  — Intent-based navigation and deep linking
// internal-only.js  — Internal/private API methods
// loading.js  — Loading indicator (start/stop)
// navigation.js  — Navigation interception (pushState, replaceState, link clicks, popstate)
// picker.js  — Generic picker interface
// polaris.js  — Polaris design system integration
// pos.js  — Point of Sale cart API (line items, discounts, customers)
// print.js  — Print functionality
// resource-picker.js  — Resource picker (products, collections, variants)
// reviews.js  — App reviews prompt
// s-app-nav.js  — Custom <s-app-nav> element for app navigation
// s-app-window.js  — Custom <s-app-window> element for app window management
// save-bar.js  — Save bar custom element with form tracking
// scanner.js  — Barcode/QR scanner (camera-based)
// scopes.js  — OAuth scope management
// share.js  — Share sheet (native sharing)
// shopifyQL.js  — ShopifyQL query interface
// shortcut.js  — Keyboard shortcut handling
// sidekick.js  — Sidekick AI assistant integration
// support.js  — Support request interface
// telemetry.js  — Telemetry and analytics reporting
// title-bar.js  — Title bar custom element with breadcrumbs and buttons
// toast.js  — Toast notification (show/clear/action)
// tools.js
// ui-modal.js  — Custom <ui-modal> element
// ui-nav-menu.js  — Custom <ui-nav-menu> element
// user.js  — User information and preferences
// visibility.js  — App visibility state tracking
// web-vitals.js  — Web Vitals metrics collection and reporting (uses web-vitals lib)