Logging errors to rollbar from service worker script in chrome extension with manifest v3 does not work
tan-linx opened this issue · comments
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?
I'm having similar problems:
- the snippet included in the example doesn't work because it uses
window
like you've mentioned - the rollbar package from npm doesn't work either because the transport logic throws
Error: No way to send a request
.
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
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.
Line 3452 in c2c5310
Thank you for these reports. We're working on this and aiming to have a release by Nov 30.
@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.
This has been released now in v2.26.0.