debugger icon indicating copy to clipboard operation
debugger copied to clipboard

Connection timeout with react native

Open thitemple opened this issue 6 years ago • 5 comments

Description

I'm trying to use this with React Native and it's failing with connection timeout.

"TimeoutError: Event response for 'login' timed out
    at SCSocket._handleEventAckTimeout (blob:http://localhost:8081/26f10f58-4ab3-4aa1-8116-d08fdb9bae27:84260:19)
    at blob:http://localhost:8081/26f10f58-4ab3-4aa1-8116-d08fdb9bae27:84286:12
    at blob:http://localhost:8081/26f10f58-4ab3-4aa1-8116-d08fdb9bae27:23291:21
    at _callTimer (blob:http://localhost:8081/26f10f58-4ab3-4aa1-8116-d08fdb9bae27:23208:9)
    at Object.callTimers (blob:http://localhost:8081/26f10f58-4ab3-4aa1-8116-d08fdb9bae27:23415:9)
    at MessageQueue.__callFunction (blob:http://localhost:8081/26f10f58-4ab3-4aa1-8116-d08fdb9bae27:10183:44)
    at blob:http://localhost:8081/26f10f58-4ab3-4aa1-8116-d08fdb9bae27:9953:17
    at MessageQueue.__guardSafe (blob:http://localhost:8081/26f10f58-4ab3-4aa1-8116-d08fdb9bae27:10145:11)
    at MessageQueue.callFunctionReturnFlushedQueue (blob:http://localhost:8081/26f10f58-4ab3-4aa1-8116-d08fdb9bae27:9952:14)
    at http://localhost:8081/debugger-ui/debuggerWorker.js:72:58"

Repro code

Here's what I'm using to set it up:

Program.mkProgram App.init App.update App.view
|> Program.withSubscription subscribe
#if RELEASE
#else
|> Program.withDebuggerAt (Debugger.Remote("localhost", 8081))
|> Program.withConsoleTrace
|> Program.withHMR
#endif
|> Program.withReactNative "demoApp"
|> Program.run

Expected and actual results

Please provide the expected and actual results.

Related information

  • elmish version: 1.0.3
  • fable-compiler version: 1.3.17
  • fable-core version: 1.3.17
  • Operating system: Windows 10

thitemple avatar Jun 25 '18 22:06 thitemple

Hum... You are using react-native so the code is running on your mobile device/emulator.

IMHO localhost refer to the device and not your computer.

MangelMaxime avatar Jun 25 '18 23:06 MangelMaxime

I tried replacing localhost with my local IP and that didn't fix it.

thitemple avatar Jun 25 '18 23:06 thitemple

  • Are you running emulator (which one?) or is it Windows RN? iOS needs certain permissions, I haven't tried running Windows RN with debugger, it may need network access permissions as well. Android emulator needs port forwarding. See the server instructions bellow.

  • Are you running a local server?

  • Do you have a monitor/UI up and running (options are listed on the server README)?

et1975 avatar Jun 26 '18 13:06 et1975

I'm running on my actual device (Android) connected via USB I'm not running local server, or at least I don't think I am. I'm implementing my tests on top of the Nightwatch repo

thitemple avatar Jun 26 '18 13:06 thitemple

I'm not running local server

The debugger client elmish runs needs to connect to something that will index and store the state. In case of SPA (React) it is as easy as installing the browser plugin, in case of Native, we need to talk over the network to a server. That server will keep the history and actions, but has no UI. For the UI you need a "monitor" that would connect to the same server and let you browse the data and go back and forth in history.

et1975 avatar Jun 26 '18 14:06 et1975