announcements

Project/library announcements ONLY - use threaded replies for discussions. Do not cross post here from other channels. Consider #events or #news-and-articles for other announcements.
djblue 2020-08-03T00:30:25.329400Z

Just released 0.2.0 of portal, a data browser similar to REBL https://github.com/djblue/portal/releases/tag/0.2.0. http://djblue.github.io/portal/ for a live demo.

2πŸ’―3πŸ‘1πŸ‘€15πŸŽ‰
henrik 2020-08-03T08:36:31.347500Z

This looks really cool, thanks! As an additional data point, I have Chrome installed, but I don’t like to use it unless I absolutely have to. I use https://www.fluidapp.com/ to get rid of unnecessary UI in frequently used webapps.

kwrooijen 2020-08-03T10:10:19.349900Z

Very cool! I'm wondering if there are any plans to be able to edit fields and run callbacks on submit? I need something like this, but where I can edit the data as well. If this is to be purely for inspecting then I might fork this for my own usecase

djblue 2020-08-03T14:13:05.351600Z

@henrik, I think I'll update open to take some options. Currently I'm planning to add support for selecting a theme, but it could also take a disable chrome app flag or if people prefer to opt in instead, that could also work.

djblue 2020-08-03T14:16:53.351800Z

@kevin.van.rooijen editing is something I want as well, not sure how the ux would work. I was thinking of making atoms explicitly editable, I haven't thought too much about extensibility though.

djblue 2020-08-03T14:17:58.352Z

If you guys want to chat more, I would suggest joining the #portal channel

Luke Johnson 2020-08-03T15:01:48.354900Z

This is awesome! It perfect fits my use case. Thanks for showcasing it! πŸ˜‰

seancorfield 2020-08-03T01:21:01.330600Z

@djblue I just went to try this and discovered it doesn't work on Windows with Powershell (and then I looked at the source and it was obvious why). Maybe make that clear in the README to save other Windows folks some time?

seancorfield 2020-08-03T01:21:45.330800Z

This was the error, by the way:

Execution error (IllegalArgumentException) at clojure.java.shell/parse-args (shell.clj:47).
No value supplied for key: --app=<http://localhost:55899>
user=&gt;

djblue 2020-08-03T01:22:37.331Z

I can add windows support, should be pretty easy. Sorry about that.

seancorfield 2020-08-03T01:24:57.331200Z

FWIW, I get the exact same error on WSL on Windows. I thought that maybe starting it from Ubuntu would work since it tries to shell out to Chrome...?

1πŸ‘
seancorfield 2020-08-03T01:26:41.331400Z

(it looks very cool tho' -- so nice to see several open source REBL alternatives appearing -- it validates the approach is worth adopting more widely)

2πŸ’―
djblue 2020-08-03T01:28:03.331600Z

I think for now I will print the url if I can't find chrome

1
seancorfield 2020-08-03T01:30:03.331900Z

Happy to help debug it on Windows if you want...

1
djblue 2020-08-03T01:35:59.332300Z

https://github.com/djblue/portal/commit/8e3b17d534eb064386a67d2ba93d6ec779d8dc1a should fix it and can be pulled via git deps

seancorfield 2020-08-03T01:48:06.332700Z

Why try to use Chrome at all? Why not just use (clojure.java.browse/browse-url "<http://localhost:56232>")

2πŸ‘
seancorfield 2020-08-03T01:48:27.332900Z

That should open the default browser on every platform.

djblue 2020-08-03T01:53:45.333100Z

I didn't know about that. I wanted to use the --app mode for chrome.

seancorfield 2020-08-03T01:57:13.333300Z

Not every has Chrome installed πŸ™‚

2πŸ‘Œ
Ryan Zwiefelhofer 2020-08-03T01:58:16.333600Z

Could you fall back to browse-url if it can't find chrome?

djblue 2020-08-03T01:58:49.334Z

I think that would probably be best

seancorfield 2020-08-03T01:58:51.334200Z

Why use Chrome's app mode? What benefits does that have over just opening to the URL in the default browser?

seancorfield 2020-08-03T02:00:49.334600Z

Cool. That works on Powershell. Thanks.

2πŸ’―
djblue 2020-08-03T02:00:59.334800Z

It enables me to eliminates the extra ui provided by chrome which isn't needed. It's mostly an aesthetic thing.

seancorfield 2020-08-03T02:02:50.335100Z

Ah, OK.

seancorfield 2020-08-03T02:03:22.335400Z

So I use Component and I tapped (alter-var-root #'system component/start) and it seems to have crashed portal.

seancorfield 2020-08-03T02:03:50.335600Z

That would tap&gt; a record instance

seancorfield 2020-08-03T02:04:07.335800Z

After that, portal no longer responds to tap&gt; with any values.

seancorfield 2020-08-03T02:05:04.336Z

Background: I have Atom/Chlorine set up to tap&gt; every REPL evaluation -- it's how I use Reveal and I figured it would work with Portal as well... which it does for some simple values...

djblue 2020-08-03T02:05:14.336200Z

It's probably related to my usage of transit

djblue 2020-08-03T02:05:39.336400Z

Any errors?

seancorfield 2020-08-03T02:07:13.336600Z

No. Just seems to lock up.

seancorfield 2020-08-03T02:07:49.336800Z

(in that it never displays any more values)

djblue 2020-08-03T02:08:49.337Z

If you clear, does it get back to a usable state?

seancorfield 2020-08-03T02:11:44.337300Z

No. I ran (port/clear) (tap&gt; :test) and :test did not appear.

seancorfield 2020-08-03T02:13:04.337500Z

If I do (port/close) (port/open) the most recent tapped value shows up.

1
djblue 2020-08-03T02:14:19.337800Z

Did you tap&gt; any infinite seqs?

djblue 2020-08-03T02:14:47.338Z

That would definitely break portal currently πŸ˜…

seancorfield 2020-08-03T02:15:04.338200Z

It definitely seems to be when I tap&gt; a Var that contains a Component (a large one but no loops in it).

seancorfield 2020-08-03T02:16:39.338400Z

You should be able to repro it easily in this example app https://github.com/seancorfield/usermanager-example

djblue 2020-08-03T02:16:55.338700Z

I'll take a look, thanks for the example app!

seancorfield 2020-08-03T02:16:59.338900Z

There's a comment in the main.clj that defines the system component and then starts it.

seancorfield 2020-08-03T02:17:24.339100Z

Once you have system started, try to (tap&gt; system) and see what happens...

1πŸ’―
djblue 2020-08-03T02:20:00.339400Z

Error: No protocol method IWithMeta.-with-meta defined for type object: [TaggedValue: portal.transit/object, {:id #uuid "fa4bad2c-51fe-445b-97dd-31fce7326317", :type "clojure.core$promise$reify__8501", :string "#object[clojure.core$promise$reify__8501 0x2ce8cf77 {:status :pending, :val nil}]"}]

djblue 2020-08-03T02:20:07.339600Z

It was related to transit

djblue 2020-08-03T02:21:15.339800Z

It's because tagged values, which is what i turn everything that isn't normal clojure data into, doesn't support metadata.

djblue 2020-08-03T02:21:34.340Z

I'll see if I can fix it πŸ‘Œ

1
djblue 2020-08-03T04:28:29.341900Z

https://github.com/djblue/portal/releases/tag/0.2.1 should fix it

djblue 2020-08-03T04:31:17.342100Z

Thanks again for trying out portal and finding these issues!

seancorfield 2020-08-03T04:34:55.342300Z

Trying the latest version...

seancorfield 2020-08-03T04:39:19.342700Z

I did git pull and tried it again, and it still doesn't work -- exactly the same as before.

djblue 2020-08-03T04:41:43.342900Z

Are you still using it via git deps or the release version?

seancorfield 2020-08-03T04:42:11.343100Z

Ah, 0.2.1 isn't on the windows branch. My bad.

djblue 2020-08-03T04:42:30.343300Z

Sorry about that

seancorfield 2020-08-03T04:42:34.343500Z

Yup. 0.2.1 works perfectly.

seancorfield 2020-08-03T04:42:37.343700Z

Nice!

2πŸŽ‰
djblue 2020-08-03T04:43:54.343900Z

I'm going to delete the windows branch now then. Let me know if run into any other issues. Also, the ux is still WIP and I am very open to ideas.

seancorfield 2020-08-03T04:44:44.344200Z

Are there keyboard shortcuts for navigating back and forth?

djblue 2020-08-03T04:45:10.344400Z

Not yet, on my todo list though

djblue 2020-08-03T04:45:19.344600Z

let me know if you have any preferences

seancorfield 2020-08-03T04:48:54.345200Z

I'll update my atom-chlorine-setup repo tomorrow with details about Portal so folks can choose Portal, or Reveal, or REBL.

3πŸ’―
henrik 2020-08-03T08:36:31.347500Z

This looks really cool, thanks! As an additional data point, I have Chrome installed, but I don’t like to use it unless I absolutely have to. I use https://www.fluidapp.com/ to get rid of unnecessary UI in frequently used webapps.

slipset 2020-08-03T10:02:41.349500Z

Ardoq is happy to release verson 0.1.0 of azure-api which allows for simple usage of the Azure REST APIs in Clojure. https://github.com/ardoq/azure-api

8🀘
kwrooijen 2020-08-03T10:10:19.349900Z

Very cool! I'm wondering if there are any plans to be able to edit fields and run callbacks on submit? I need something like this, but where I can edit the data as well. If this is to be purely for inspecting then I might fork this for my own usecase

djblue 2020-08-03T14:13:05.351600Z

@henrik, I think I'll update open to take some options. Currently I'm planning to add support for selecting a theme, but it could also take a disable chrome app flag or if people prefer to opt in instead, that could also work.

djblue 2020-08-03T14:16:53.351800Z

@kevin.van.rooijen editing is something I want as well, not sure how the ux would work. I was thinking of making atoms explicitly editable, I haven't thought too much about extensibility though.

djblue 2020-08-03T14:17:58.352Z

If you guys want to chat more, I would suggest joining the #portal channel

bozhidar 2020-08-03T14:54:13.353600Z

CIDER 0.26 (Nesebar) and nREPL 0.8 are out! More details - https://github.com/clojure-emacs/cider/releases/tag/v0.26.0 and https://metaredux.com/posts/2020/06/15/nrepl-0-8-evolving-the-protocol.html Special thanks to Clojurists Together for their support and to all the contributors for their help! Cheers! :cider:

831πŸŽ‰
Luke Johnson 2020-08-03T15:01:48.354900Z

This is awesome! It perfect fits my use case. Thanks for showcasing it! πŸ˜‰

Nassin 2020-08-03T16:31:05.356600Z

is it so hard to describe that it's just a socket repl client? πŸ˜‚

vlaaad 2020-08-03T17:12:38.357100Z

Isn't it in the name? :thinking_face: