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
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 😄
yes sir
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 🙂
lol
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.
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