cursive

Issues at: https://git.io/cursive-issues
cjmurphy 2020-09-21T15:07:16.025400Z

Is "No nREPL ack received" still a problem. I have a Shadow nREPL server running and can connect to it using the command line. But starting the nREPL from Cursive I always get "No nREPL ack received".

misha 2020-09-22T07:22:55.034500Z

@cjmurphy in cursive run configuration, do you have nrepl port hardcoded, or "from nrepl file"? generally, shadow starts on new port every time:

misha 2020-09-22T07:26:13.034800Z

just now, restarted 2 times within a minute:

shadow-cljs - nREPL server started on port 55773
shadow-cljs - nREPL server started on port 55785

misha 2020-09-22T07:26:56.035Z

and when port is hardcoded:

Could not connect to localhost:50892: Connection refused (Connection refused)

misha 2020-09-22T07:28:57.035200Z

cjmurphy 2020-09-22T10:15:01.036200Z

I don't known where to find that screenshot.

misha 2020-09-22T15:07:36.036700Z

cjmurphy 2020-09-22T15:39:26.037100Z

The nREPL server is always started on:

:nrepl  {:port 9000}
, from the shadow-cljs.edn file. And the Run/Debug Configurations thing that I've named nREPL is very standard. It has 'nREPL' checked and 'Run with Deps' checked. Perhaps multiple projects that get killed (or not) and all use port 9000 doesn't help. I certainly think that I've done clean state experiments. Perhaps it would be better if my projects never set an :nrepl :port ??

cfleming 2020-09-22T22:23:17.037600Z

@cjmurphy Can you send a screenshot of your run config?

cfleming 2020-09-22T22:23:34.037800Z

I’ve received reports of that exception, but I’ve never managed to reproduce it.

cjmurphy 2020-09-22T23:21:49.000100Z

Sent you as a PM. There's nothing special about it and it is the same that others use.

cjmurphy 2020-09-23T00:04:33.000300Z

Connecting to Shadow's existing nREPL is a revelation to me. Does it really mean my REPL/JVM will never be hosed?? I'll never have to wait for it coming up again. I should have picked up on this a long time ago.

cjmurphy 2020-09-23T08:37:01.002800Z

For the UX one possibility would be to do away with local and remote all together. And have more explanation on the Run Configuration page, making it longer than a page. Also if you detect that there's an nrepl server running at 9000 and the REPL is not connecting to it then that's almost certainly a mis-configuration and the user should be alerted. It could be in red writing on that page.

cjmurphy 2020-09-23T08:39:58.003Z

Maybe make each possible situation that the user might want into a sentence and the user chooses one.

cjmurphy 2020-09-23T08:44:36.003300Z

So "Full stack with Shadow-cljs" option might have a status of 'waiting for nREPL server to start listening at port 9000'. There would be a place to enter the port number (9000 only being a default).

cjmurphy 2020-09-21T15:09:42.025500Z

cjmurphy 2020-09-21T15:12:08.025900Z

@pvillegas12

cjmurphy 2020-09-21T15:15:21.026100Z

The stack trace says the connection is being refused.

2020-09-21T15:57:39.032500Z

Does anyone have a fix for the following: I've set up a dev directory (with a user ns) in a deps.edn configured project. My REPL runs nicely with a :dev alias that I've added to include the dev directory in :extra-paths. It's all working great... except that the IDE has no idea about the dev directory, so editing code there is a real pita. I've tried Mark Directory As -> Sources Root and that absolutely solves the problem - but of course that gets periodically overridden (as it should) by the deps.edn configuration. Is there some way to make the IDE pick up an alias? I'm loathe to move the extra path out of the alias as we don't want that code in our finished artefacts.

2020-09-22T08:18:41.035600Z

@michael819 thanks - but I got that already

2020-09-22T08:19:37.035800Z

@cfleming that's it! perfect! best possible answer! In my defence I don't think that existed last time I read the docs.

2020-09-22T08:19:57.036Z

^FYI @t.denley

👍 1
Michael W 2020-09-21T16:02:34.032800Z

If you edit your repl configuration, there is an option under "How to run it" called "Run with Deps". you can put your dev alias(es) there once you select the option.

cfleming 2020-09-21T21:41:38.033Z

I can’t think of any reason why the connection should be refused from Cursive but not from the command line.