rollbar / rollbar.js

Error tracking and logging from Javascript to Rollbar
https://docs.rollbar.com/docs/javascript
MIT License
571 stars 213 forks source link

Logging errors to rollbar from service worker script in chrome extension with manifest v3 does not work #1040

Closed tan-linx closed 1 year ago

tan-linx commented 2 years ago

Logging errors to rollbar from the service worker script within a chrome extension does not work. Does anyone have the same issues regarding building a chrome extension with manifest v3 and has found a solution?

We investigated this issue but didn't get further. In manifest v3, instead of background pages, service workers are used which don't have access to the DOM. But it seems like rollbar still depends on the window global #141. The UMD version of Rollbar didn't fix this issue. Therefore it might also be related to updated security configurations?

peter-unify commented 2 years ago

I'm having similar problems:

No way to send a request
    at a (transport.js:120:21)
    at s (transport.js:91:18)
    at i.post (transport.js:62:3)
    at s.postItem (api.js:52:18)
    at o._makeApiRequest (queue.js:159:14)
    at o.addItem (queue.js:99:10)
    at o.<anonymous> (notifier.js:81:16)
    at s (notifier.js:111:7)
    at Array.itemToPayload (transforms.js:18:3)
    at s (notifier.js:115:16) undefined
telemetry.js:518 
agendfuture commented 2 years ago

As I understand for now is that rollbarjs uses XMLHttpRequest method which is not allowed in service worker scripts as of chrome manifest version 3. It should use new fetch API.

https://github.com/rollbar/rollbar.js/blob/c2c5310df90cdefcb8cfe8142377a4ee3987796b/dist/rollbar.js#L3452

waltjones commented 1 year ago

Thank you for these reports. We're working on this and aiming to have a release by Nov 30.

jccr commented 1 year ago

@waltjones That's great to hear, also ran into this blocker with our MV3 chrome extension.

In the meantime, others may be able to workaround this by using apple502j/xhr-shim to "polyfill" XHR back into your service worker.

waltjones commented 1 year ago

This has been released now in v2.26.0.