mfikes / shrimp

Example project using Goby

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

(simple-brepl) => "No such namespace: shrimp.init"

daveliepmann opened this issue · comments

I cloned the repository, ran lein cljsbuild once dev in the ClojureScript directory, opened XCode, opened the workspace, ran the project in the simulator, and ran lein repl in the ClojureScript directory. But when executing (simple-brepl) in the REPL, I get the following error:

ExceptionInfo No such namespace: shrimp.init at line 1 >/Users/daveliepmann/src/shrimp/ClojureScript/src/shrimp/core.cljs clojure.core/ex-info (core.clj:4403)

Executing (in-ns 'shrimp.detail-view-controller) in the REPL after stopping and restarting the app in the simulator results in:

IOException No client connected to Websocket weasel.repl.server/send! (server.clj:25)

Is there a configuration step I'm missing?

Hi @daveliepmann. I've informally had reports of this. It is definitely not something you are doing wrong. I think it is a subtle (but rare?) issue related to multiple build paths and how the REPL initializes. One reporter said things worked upon trying the sequence again. It is definitely a bug; just don't know where yet.

That's a relief! I'll play around with it some more. I'm very excited to get my hands into this; Goby looks fun.

I was able to reproduce this with a fresh .m2 and clone. The root cause is an older Weasel issue for which there is a workaround. Will push that fix.

Runs like a champ now. Thanks, Mike!

Correction: it ran like a champ but seems to have some trouble reconnecting on subsequent tries. However, it seems like a websocket issue in simple-brepl or weasel, not shrimp-specific.

@daveliepmann I've never investigated whether Weasel supports reconnecting. For now (simple-brepl) needs to be started first (it starts the Weasel listening), and then when Shrimp is launched, it simply connects.

It is possible to stop and start the app and then continue to use the REPL. But if the REPL is ever cycled, the app also needs to be subsequently cycled.