unrepl 2017-08-24

So the sideloader has landed in unrepl

connect to a repl server, upgrade to unrepl, copy the form under the :unrepl.jvm/start-side-loader key to another (plain) repl. Now in the unrepl repl, type foo.bar.Baz and you’ll see the second conection asking for the class. Type nil or a Base64 string

👯 1

Or try to require a ns: in unrepl I entered (require 'some.new.ns) and the side-loader transcript:

[:resource “some/new/ns__init.class”]
nil
[:resource “some/new/ns.clj”]
nil
[:resource “some/new/ns.cljc”]
nil
[:class “some.new.ns__init”]
nil

so the client would need to send the implementation of this new class/namespace right?

(instead of typing nil I mean)

yes, as a base64-encoded edn string

I know it is a silly question, but when I send a clj file that is requiring something I guess it is evaluated?

and unrepl sends the other [:resource ...] requests?

if so, pretty cool 😄

where is the mind-blown emoji

I settled on dancing

for no particular reason

cool stuff, really

ok, now that mux and sideloading are out of the way, I think we were discussing extensions 🙂

I guess now the fun begins

tangential question: assuming that we use zeroconf/bonjour etc. How do you deal with auth?

locally a secret could be written under ~/.unrepl/secret so that same user processes would connect without explicit auth

I like the .ssh approach, we should delegate to that and it should not be difficult in java, I can look into that

What do you mean?

@cgrand potentially stupid question (I don't know 0conf or bonjour): 1) What can they offer 2) How stable are they?

Wondering if they include feature discovery or anything like that potentially. Or any other additional features beyond repl discovery.

@dominicm don't panic, this idea hasn't been in the hammock long enough.

Not panicking. Getting excited, but also have an alarm going off because I think bounjour is infamous.

😅 1

very small alarm

Short of my stereo it usually works for me.

(Could be an adoption-related infamy, or the push that a certain unpopular developer made on the protocol)

Main goals: 1/ chasing random port numbesr for config is no fun 2/ working across multiple (virtual or not) machines