centrifuge-js icon indicating copy to clipboard operation
centrifuge-js copied to clipboard

Can't find variable: TextDecoder in React Native

Open jasperjorna opened this issue 2 years ago • 2 comments

Hi,

I'm implementing centrifuge@^3.0.1 in a React Native (0.70, without Expo) project. The web sockets are working fine, but I would like to use the http_stream as fallback. Unfortunately it throws the following error when trying to use the http_stream transport mode. Is there some dependency missing?

ReferenceError: Can't find variable: TextDecoder
Error: ENOENT: no such file or directory, open 'FooProject/HttpStreamTransport@http:/localhost:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true'

jasperjorna avatar Sep 27 '22 11:09 jasperjorna

Hello, hmm - seems that TextDecoder is undefined in React Native (what I found - https://github.com/hapijs/joi/issues/2141). Probably you can just use any polyfill that defines TextDecoder on global level to fix this like shown here?

If it works, seems we should document it, or add an explicit option like we have for readableStream for example.

And it seems that in any case we need to avoid throwing an error in constructor of http stream transport.

FZambia avatar Sep 29 '22 08:09 FZambia

Hello , i have try http_stream with React native (iOS), it's a "no supported transport found" in this case. for webtransport too btw ^^'

itweb62 avatar Mar 12 '23 00:03 itweb62