Skip to content

Access to History broken with Shopify App Bridge #8916

@quard8

Description

@quard8

Is there an existing issue for this?

How do you use Sentry?

Sentry Saas (sentry.io)

Which SDK are you using?

@sentry/react

SDK Version

7.65.0

Framework Version

React 18.2.0

Link to Sentry event

https://storista.sentry.io/issues/4413486884/

SDK Setup

Sentry.init({
        dsn: _DSN_,
        debug: false,
        tracesSampleRate: 1.0,
        integrations: [
            new Sentry.Integrations.Breadcrumbs({
            }),
            new Sentry.BrowserTracing({
            }),
        ],
        autoSessionTracking: false,
    });

Steps to Reproduce

Shopify introduced new version of App Bridge which now loaded as bundled JS script from their CDN instead of npm package.

After updating to CDN version, I found that my app not working in Safari for Mac. I found only trace to window.history object and I believe both Sentry and Shopify wraps history object and they not compatible together.

Only message I see in console is

Unhandled Promise Rejection: TypeError: Attempted to assign to readonly property.

with link to tslib.

Right now I disabled access to history with options like this and everything is working.

Sentry.init({
        dsn: _DSN_,
        debug: false,
        tracesSampleRate: 1.0,
        integrations: [
            new Sentry.Integrations.Breadcrumbs({
                history: false,
            }),
            new Sentry.BrowserTracing({
                startTransactionOnLocationChange: false,
            }),
        ],
        autoSessionTracking: false,
    });

I also found that Amplitude JS has the same console message, but app is still working. I added link to the issue in "Link to Sentry event" field just in case.

I'm not sure how I can provide steps to reproduce, because it needs to create Shopify partner account. I can assist to test/debug or create sample app and give access to developer from Sentry.

Expected Result

History tracking is working

Actual Result

Getting console message Unhandled Promise Rejection: TypeError: Attempted to assign to readonly property. and app crashes (not working at all)

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Waiting for: Community

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions