Fork me on GitHub
#untangled
<
2017-07-11
>
mitchelkuijpers08:07:54

I fixed my issue by adding a refresh on :sale-router in the load an now everything works. Not really happy about the fix because I don't understand what went wrong

mitchelkuijpers09:07:35

Nope that was not the resolution

claudiu10:07:07

@mitchelkuijpers any chance for a minimal replication on untangled-template fork, or is it to much to setup ?

mitchelkuijpers10:07:55

Now I am on it, seems to have something todo with a union query (of untangled-router) and 2 union branches which reference the same key

mitchelkuijpers10:07:10

@claudiu will try to reproduce I want to understand the issue

claudiu10:07:31

yep. that way is easy for us to just git clone and play around.

mitchelkuijpers10:07:00

I have fixed it though (luckily)

mitchelkuijpers10:07:13

Ill try to reproduce on top of untangled template

claudiu10:07:02

@mitchelkuijpers awesome 🙂 can you say what the fix was ?

claudiu10:07:48

or was the refresh on :sale-router the fix

mitchelkuijpers11:07:51

I had a union query and both branches had :current-sale which was pointing to a ident

mitchelkuijpers11:07:20

I changed one to another key so they are different and that fixed it

claudiu14:07:06

anyone from http://adstage.io here ? curious if all the admin app is written in untangled 🙂

claudiu15:07:02

@tony.kay Do you by any chance have an untangled data flow diagram similar to the ones that appear in google when searching for redux or re-frame ?

therabidbanana15:07:51

@claudiu - yes, the AdStage admin app was built in untangled, though it hasn't seen much love since we introduced a way to log in directly from our main admin product (Rails + ActiveAdmin)

claudiu15:07:02

@therabidbanana is the functionality presented in vistia live adstage demo. The untangled part or rails + active admin ?

therabidbanana15:07:22

Not sure what you're referencing - the medium blog?

therabidbanana15:07:51

Heh, I've never even seen this before - looks like after around 23 minutes is the report product, written in untangled. If there was an admin panel in this video (on phone, hard to search) - it was very likely ActiveAdmin

claudiu16:07:21

Really nice product. Seem pretty complex :)

therabidbanana17:07:24

Yeah, there's definitely a lot of surface area to it.

tony.kay15:07:46

@urbank no, I think you’re still misunderstanding me. I am at a real computer today. I’ll write an example.

tony.kay15:07:39

@claudiu No, I don’t have a data flow diagram. There really isn’t much of one: app state goes to UI, mutations update app state. Remotes (as abstract queries and mutations) go to server. Response goes to app state.

claudiu15:07:25

tony.kay: think I will need to write one. Had a tech discussion with our main javascript guy and the proposed solution for dataflow is 2 times more complex than this flux one https://uploads.toptal.io/blog/image/601/toptal-blog-image-1412170548235.png

tony.kay15:07:07

which is 2x more complex than Untangled/Om Next…good point

claudiu15:07:03

yep. It's just crazy 😞 he has a plan for: custom middleware over another middleware. Most be going crazy since I seem to be the only one in the team that has a problem with this :))

tony.kay15:07:05

ah middleware…it helps in that scenario so it must be the tool for every job. I love it when you have a hammer 😉

tony.kay15:07:48

mutation NAIL! communication NAIL! UI updates NAIL! Testing NAIL!

tony.kay15:07:04

um guys, I think we could use a screw over here…NAIL!

claudiu15:07:11

well :)) personally I have a big problem with the fact that for a simple form, to view every layer I need to open about 10 files :))

tony.kay15:07:34

but..but…nail?

claudiu15:07:42

the argument is that it gives you a lot of flexibility 😞 looking at http://adstage.io our product isn't really that complex to begin with :))

claudiu15:07:30

keeps bugging me 🙂 the new website with that width.

claudiu15:07:49

You said something about redesign with some designers.

tony.kay15:07:08

I once asked an engineer to write a 2 player console Blackjack that was testable. He wrote something that was super flexible, but didn’t really work and was 1000 lines long…when it can be done well with full tests in about 200. Yea! Flexible

claudiu15:07:20

If it's not on the todolist, I looked a bit and since it's a html/css repo. Should be able to update it and modify a bit

tony.kay15:07:21

Fetishizing complexity more like it.

tony.kay15:07:46

Mitchel said he was having his design guy make a new tempalte for me.

claudiu15:07:30

agh oky 🙂 so no point in me spending time to hack that one away 🙂

tony.kay15:07:28

I should make a BDSM-style “motivational poster” that shows developers fetishizing complexity somehow 😜

tony.kay15:07:44

we need more shock value on doing that stupid shit

tony.kay15:07:07

it is really an Om data flow, other that Untangled provides all the abstractions you need to properly trigger loads via explicit queries

tony.kay15:07:53

@mitchelkuijpers both branches? OH! That would mean that you ended up with table names that overlapped

tony.kay15:07:36

because you had two ident functions that were putting two things in the same place. I should update the docs and recommend namespacing all keywords….esp. :routera/screen1 instead of just :screen1.

tony.kay15:07:24

I keep writing things too quickly while forgetting to make the point that in larger apps it is a good idea to namespace things to avoid collisions.

tony.kay15:07:48

@claudiu You were mentioning you might want to work on the website. @mitchelkuijpers has a designer working on it, but if you wanted to quickly widen it as a temp measure that’s fine.

claudiu15:07:13

yep. Will give it a try. Those images have to be changed apart from that seems reasonable to modify.

claudiu15:07:34

the template is pretty nice 😄 just that width issue 😞

tony.kay15:07:48

I’ve not looked at it on a phone. Does it look ok? If so, it would be nice if it still shrinks for smaller screens?

claudiu16:07:12

Its ok on phone but different images

mitchelkuijpers16:07:09

@tony.kay I fixed it by adding a certain refresh key, it is still a weird issue. They did not have the same ident

mitchelkuijpers16:07:36

I tried to reproduce on untangled template but failed

tony.kay16:07:24

So, that was why I suspected path-opt. It sounded like a path-opt refresh was screwing up, but a root-level refresh was fine

tony.kay16:07:00

There was a version of Untangled where the path-opt option isn’t passed through properly…you looked at the reconciler to make sure it is actually off?

tony.kay16:07:54

Also, if you use the same keyword for the two screens, you will have to end up with them in the same top-level table. That is how idents work. So, getting a conflict on ID (e.g. perhaps two are coming back with IDs of nil for some reason…load marker?) then you’d see weirdness because they’d both be in the same table entry.

tony.kay16:07:09

Though I don’t see why you’d load an entire screen’s state from a server instead of just the persistent bits.

mitchelkuijpers17:07:19

Yeah I also thought of path opt but it is definitely off

tony.kay16:07:12

added an example of where the link query problem can happen

urbank16:07:47

@tony.kay Heh, ok. I'll try to contribute next time 😛

tony.kay17:07:04

It’s all good. I appreciate the effort, and I’m sure you learned something.

tony.kay16:07:24

So, that was why I suspected path-opt. It sounded like a path-opt refresh was screwing up, but a root-level refresh was fine

tony.kay16:07:00

There was a version of Untangled where the path-opt option isn’t passed through properly…you looked at the reconciler to make sure it is actually off?

tony.kay16:07:54

Also, if you use the same keyword for the two screens, you will have to end up with them in the same top-level table. That is how idents work. So, getting a conflict on ID (e.g. perhaps two are coming back with IDs of nil for some reason…load marker?) then you’d see weirdness because they’d both be in the same table entry.

tony.kay17:07:09

I’ve brought untangled-datomic into the new github namespace. Not sure how many ppl use it, but it seems like a worthwhile thing to keep in the ecosystem.