Skip to content

Firefox is triggering NS_ERROR_NOT_INITIALIZED causing intercom to stop working between page turbo page loads #349

@edwinthinks

Description

@edwinthinks

Hey there!

My team has been running into some problems with the gem that appears to only affect Firefox users. This appears to be related to turbo as I can "fix" the issue by disabling turbo which causes pages to fully reload on page visits.

Version info

  • intercom-rails version: 0.4.2
  • Rails version: 6.0 (we are using turbo/hotwire)

Expected behavior

Firefox users can continue to chat with support via the intercom beacon between page visits. No NS_ERROR_NOT_INITIALIZED are triggered

Actual behavior

Firefox users open chat and when they navigate to another page the widget stays open but is unresponsive.

The error shared in logs occurs multiple times flooding our error monitoring tool with 10+ errors.

Steps to reproduce

(I'am not 100% sure how to reproduce, apologies!)

  1. Visit website using Firefox
  2. Click on any turbo link

Logs

NS_ERROR_NOT_INITIALIZED: [frame.526e8892.js:2](https://js.intercomcdn.com/frame.526e8892.js)
[Honeybadger] could not send error report: no API key has been configured 
Object { toString: toString(), name: "NS_ERROR_NOT_INITIALIZED", message: "NS_ERROR_NOT_INITIALIZED: ", result: 3253927937, filename: "https://js.intercomcdn.com/frame.526e8892.js", lineNumber: 2, columnNumber: 0, data: null, stack: "88266/u/<@https://js.intercomcdn.com/frame.526e8892.js:2:87046\nx@https://js.intercomcdn.com/vendor.6ec585f6.js:2:368826\n./node_modules/@honeybadger-io/js/dist/browser/honeybadger.js/</</Honeybadger.prototype.__wrap/func.___hb@http://localhost:5000/packs/js/application_v5-4af461bc52820fcae97a.js:13526:29\nEventListener.handleEvent*./node_modules/@honeybadger-io/js/dist/browser/honeybadger.js/</</default_1/load/</</<@http://localhost:5000/packs/js/application_v5-4af461bc52820fcae97a.js:12789:33\ng@https://js.intercomcdn.com/frame.526e8892.js:2:792495\n66318/m/<@https://js.intercomcdn.com/app~tooltips.68819611.js:2:228024\nm@https://js.intercomcdn.com/app~tooltips.68819611.js:2:227994\nd@https://js.intercomcdn.com/app~tooltips.68819611.js:2:227642\nvalue@https://js.intercomcdn.com/app~tooltips.68819611.js:2:230603\nhu@https://js.intercomcdn.com/vendor.6ec585f6.js:2:462932\njs@https://js.intercomcdn.com/vendor.6ec585f6.js:2:480660\n60053/t.unstable_runWithPriority@https://js.intercomcdn.com/vendor.6ec585f6.js:2:583706\nXo@https://js.intercomcdn.com/vendor.6ec585f6.js:2:424617\nRs@https://js.intercomcdn.com/vendor.6ec585f6.js:2:477321\ngs@https://js.intercomcdn.com/vendor.6ec585f6.js:2:473466\nps@https://js.intercomcdn.com/vendor.6ec585f6.js:2:470010\ntc@https://js.intercomcdn.com/vendor.6ec585f6.js:2:491274\n64448/uc/<@https://js.intercomcdn.com/vendor.6ec585f6.js:2:492485\n_s@https://js.intercomcdn.com/vendor.6ec585f6.js:2:473616\nuc@https://js.intercomcdn.com/vendor.6ec585f6.js:2:492470\n64448/t.render@https://js.intercomcdn.com/vendor.6ec585f6.js:2:495470\nuk@https://js.intercomcdn.com/app.0036ccfb.js:2:730601\n63147/t/</t/<@https://js.intercomcdn.com/frame.526e8892.js:2:1089511\nf@https://js.intercomcdn.com/frame.526e8892.js:2:1082141\n63147/$l/I/<@https://js.intercomcdn.com/frame.526e8892.js:2:1083489\n63147/$l/O/</<@https://js.intercomcdn.com/frame.526e8892.js:2:1082570\nYl@https://js.intercomcdn.com/frame.526e8892.js:2:1088059\na@https://js.intercomcdn.com/frame.526e8892.js:2:1088265\npromise callback*Yl@https://js.intercomcdn.com/frame.526e8892.js:2:1088130\na@https://js.intercomcdn.com/frame.526e8892.js:2:1088265\n63147/Jl/</<@https://js.intercomcdn.com/frame.526e8892.js:2:1088325\n63147/Jl/<@https://js.intercomcdn.com/frame.526e8892.js:2:1088203\npromise callback*63147/t/<@https://js.intercomcdn.com/frame.526e8892.js:2:1089256\nf@https://js.intercomcdn.com/frame.526e8892.js:2:1082141\n63147/$l/I/<@https://js.intercomcdn.com/frame.526e8892.js:2:1083489\n63147/$l/O/</<@https://js.intercomcdn.com/frame.526e8892.js:2:1082570\nYl@https://js.intercomcdn.com/frame.526e8892.js:2:1088059\na@https://js.intercomcdn.com/frame.526e8892.js:2:1088265\npromise callback*Yl@https://js.intercomcdn.com/frame.526e8892.js:2:1088130\na@https://js.intercomcdn.com/frame.526e8892.js:2:1088265\n63147/Jl/</<@https://js.intercomcdn.com/frame.526e8892.js:2:1088325\n63147/Jl/<@https://js.intercomcdn.com/frame.526e8892.js:2:1088203\n63147/ef@https://js.intercomcdn.com/frame.526e8892.js:2:1089716\nvalue@https://js.intercomcdn.com/frame.526e8892.js:2:1092926\ne@https://js.intercomcdn.com/frame.526e8892.js:2:1100517\nboot@https://js.intercomcdn.com/frame.526e8892.js:2:1100617\n63147/Sf/<@https://js.intercomcdn.com/frame.526e8892.js:2:1104333\n63147@https://js.intercomcdn.com/frame.526e8892.js:2:1110104\ns@https://js.intercomcdn.com/frame.526e8892.js:2:1271266\n52522@https://js.intercomcdn.com/frame.526e8892.js:2:775759\ns@https://js.intercomcdn.com/frame.526e8892.js:2:1271266\nc<@https://js.intercomcdn.com/frame.526e8892.js:2:1277284\ns.O@https://js

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions