Fork me on GitHub
#announcements
<
2020-08-03
>
djblue00:08:25

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.

seancorfield01:08:01

@U1G869VNV 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?

seancorfield01:08:45

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=
user=>

djblue01:08:37

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

seancorfield01:08:57

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...?

seancorfield01:08:41

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

seancorfield01:08:03

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

seancorfield01:08:06

Why try to use Chrome at all? Why not just use (clojure.java.browse/browse-url "")

seancorfield01:08:27

That should open the default browser on every platform.

djblue01:08:45

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

seancorfield01:08:13

Not every has Chrome installed πŸ™‚

Ryan Zwiefelhofer01:08:16

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

djblue01:08:49

I think that would probably be best

seancorfield01:08:51

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

seancorfield02:08:49

Cool. That works on Powershell. Thanks.

djblue02:08:59

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

seancorfield02:08:22

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

seancorfield02:08:50

That would tap> a record instance

seancorfield02:08:07

After that, portal no longer responds to tap> with any values.

seancorfield02:08:04

Background: I have Atom/Chlorine set up to tap> 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...

djblue02:08:14

It's probably related to my usage of transit

djblue02:08:39

Any errors?

seancorfield02:08:13

No. Just seems to lock up.

seancorfield02:08:49

(in that it never displays any more values)

djblue02:08:49

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

seancorfield02:08:44

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

seancorfield02:08:04

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

djblue02:08:19

Did you tap> any infinite seqs?

djblue02:08:47

That would definitely break portal currently πŸ˜…

seancorfield02:08:04

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

seancorfield02:08:39

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

djblue02:08:55

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

seancorfield02:08:59

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

seancorfield02:08:24

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

djblue02:08:00

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}]"}]

djblue02:08:07

It was related to transit

djblue02:08:15

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

djblue02:08:34

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

djblue04:08:17

Thanks again for trying out portal and finding these issues!

seancorfield04:08:55

Trying the latest version...

seancorfield04:08:19

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

djblue04:08:43

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

seancorfield04:08:11

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

djblue04:08:30

Sorry about that

seancorfield04:08:34

Yup. 0.2.1 works perfectly.

djblue04:08:54

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.

seancorfield04:08:44

Are there keyboard shortcuts for navigating back and forth?

djblue04:08:10

Not yet, on my todo list though

djblue04:08:19

let me know if you have any preferences

seancorfield04:08:54

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

henrik08:08:31

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.

kwrooijen10:08:19

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

djblue14:08:05

@U06B8J0AJ, 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.

djblue14:08:53

@UG9U7TPDZ 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.

djblue14:08:58

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

Luke Johnson15:08:48

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

slipset10:08:41

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

bozhidar14:08:13

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