mfikes / shrimp

Example project using Goby
Eclipse Public License 1.0
51 stars 7 forks source link

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

Closed daveliepmann closed 9 years ago

daveliepmann commented 9 years ago

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?

mfikes commented 9 years ago

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.

daveliepmann commented 9 years ago

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.

mfikes commented 9 years ago

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.

daveliepmann commented 9 years ago

Runs like a champ now. Thanks, Mike!

daveliepmann commented 9 years ago

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.

mfikes commented 9 years ago

@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.