This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-02-25
Channels
- # aleph (1)
- # beginners (72)
- # boot (3)
- # cider (28)
- # cljs-dev (193)
- # cljsrn (11)
- # clojure (73)
- # clojure-brasil (3)
- # clojure-gamedev (2)
- # clojure-russia (6)
- # clojure-spec (30)
- # clojure-uk (26)
- # clojured (1)
- # clojurescript (32)
- # code-reviews (9)
- # core-async (4)
- # datascript (5)
- # datomic (9)
- # dirac (38)
- # fulcro (23)
- # garden (11)
- # leiningen (1)
- # luminus (11)
- # lumo (6)
- # off-topic (17)
- # quil (2)
- # re-frame (2)
- # reagent (3)
- # ring (3)
- # shadow-cljs (12)
- # spacemacs (4)
- # sql (2)
- # unrepl (85)
- # vim (3)
Currently it seems to expect (or recommend?) that the first connection is for user interaction.
The first connection would be actually immediately upgraded to a sideloader connection.
And then only the third connection would be the one for user interaction. (If I have that one at all....)
I would guess that it perfectly possible (the SPEC says "typically"), but I'd rather confirm this.
Yes because to start a side loader you need (least you change the spec) to have already upgraded one connection to unrepl
somehow Iâm not getting your concern. You create one unrepl? From this you get affordances to create another one and a sideloader. You create these twos and wait for them@to be ready before continuing. Then you arbitrarily assign one of the unrepl to thes user. The other is for the tool.
Yes because to start a side loader you need (least you change the spec) to have already upgraded one connection to unrepl
Unless I overlook something aux/user are not technically different. Itâs just a matter of ownership.
I somehow expect tools to treat aux connections as a growing pool. Need to send a command but all connections busy? Spawn a new one!
somehow Iâm not getting your concern. You create one unrepl? From this you get affordances to create another one and a sideloader. You create these twos and wait for them@to be ready before continuing. Then you arbitrarily assign one of the unrepl to thes user. The other is for the tool.
The sideloader also has to be created relatively early so that I can require the tooling stuff.
whether the first is tooling and the second is sideloader or vice versa is not really the problem. I have to set up both anyway.
I should (or better: you could, send more eyeballs to the code) double check thereâs nothing special about âstart-auxâ upgrades except they share the sideloader.
You might find this useful then https://itsfoss.com/how-to-exit-vim/
Yes hopefully we will develop a common vocabulary for common actions.
Previously each time the blob was sent it was creating new gensymmed namespaces. Now it always create the same namespaces unless they exist.
Namespaces are named after their content so different code -> different name. Thus thereâs no risk of clash.
Hmmm.... It seems I cannot require through the side loader. It is not asked for the .clj file. Although it's listening after a side-loader/hello.
works for me, eg for (require âfoo.bar)
~$ nc localhost 5555
user=> (unrepl.repl$aNSc1LtUH91sIAn6Wgp$CUFDTME/attach-sideloader! :session505)
[:unrepl.jvm.side-loader/hello]
[:resource "foo/bar__init.class"]
nil
[:resource "foo/bar.clj"]
nil
[:resource "foo/bar.cljc"]
nil
[:class "foo.bar__init"]
nil
It seems there is no request. Vim can dump the traffic. But there is nothing in the log. A try read also didn't get anything "stuck".
Used your stock blob. A buffer is not entirely ruled out. Just did some quick tests. I suspect some trouble on my side. That will be a pain to debug. sigh Will check deeper later today.
Result 2: you may start getting what I was getting at when I was talking about upgrading from unrepl
It asks first for the class. Then for the clj. Then again for the class and again for the clj.
not quite: 1/ do you have the class file? 2/ maybe the clj file? 3/ letâs be more general: the cljc file? 4/ just out of curiosity you wouldnât have the class bytes in memory?
No class. Clj only. No cljc. And it asks weirdly for the first time for the class as :resource not :class. Tried to post a picture.
@kotarak it wasnât obvious but >>> 1/ do you have the class file? 2/ maybe the clj file? 3/ letâs be more general: the cljc file? 4/ just out of curiosity you wouldnât have the class bytes in memory?
In the screenshot twice. The first for calls failed because base64. The second require w/ :reload caused the second four requests.
Iâm ok with revisiting the sideloading protocol to narrow it to have the same semantics as loading from several jars
Got it working. Problem was upgrade out of unrepl. Multi requests don't hurt. Further observation: base64 doesn't work from cli tool. More observation: Everything has to be newline terminated.
just thought I'd give an update regarding an issue I experienced in the past where Datomic transactions, if evaluated at repl, would cause Unrepl clients to crash. It turns out that the return value of Datomic transactions contain an object which effectively points to the db and when this object is dereferenced it will completely dump the entire database on screen. My current guess is that perhaps whatever elision
is being done on the transaction may somehow be dereferencing the db object and dumping out all the datoms