You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Currently, socket.io can't be used in Chrome extension background script, since modern Manifest V3 extensions are using service worker as a background script (which doesn't have XMLHttpRequest, only fetch).
Example error:
reason
'xhr poll error'
description
TypeError: xhr.open is not a function
at Request.create (polling.js:250:1)
at new Request (polling.js:237:1)
at Polling.request (polling.js:190:1)
at Polling.doPoll (polling.js:215:1)
at Polling.poll (polling.js:96:1)
at Polling.doOpen (polling.js:56:1)
at Polling.open (transport.js:46:1)
at Socket.open (socket.js:170:1)
at new Socket (socket.js:111:1)
at Manager.open (manager.js:108:1)
Describe the solution you'd like
Replacing XMLHttpRequest with modern fetch.
Describe alternatives you've considered
I think using transports: ['websocket'], would help, but that way I can't use extraHeaders which I use for authorization.
Additional context
"socket.io-client": "^4.7.5",
The text was updated successfully, but these errors were encountered:
Usage:
```js
import { Socket, transports, Fetch } from "engine.io-client";
transports.polling = Fetch;
const socket = new Socket("https://example.com");
```
Note: tree-shaking unused transports is not currently supported and
will be added later.
Related:
- socketio/socket.io#4980
- #716
Is your feature request related to a problem? Please describe.
Currently, socket.io can't be used in Chrome extension background script, since modern Manifest V3 extensions are using service worker as a background script (which doesn't have
XMLHttpRequest
, onlyfetch
).Example error:
Describe the solution you'd like
Replacing
XMLHttpRequest
with modernfetch
.Describe alternatives you've considered
I think using
transports: ['websocket'],
would help, but that way I can't useextraHeaders
which I use for authorization.Additional context
The text was updated successfully, but these errors were encountered: