untangled

NEW CHANNEL: #fulcro
2016-11-24T03:44:49.004881Z

@wilkerlucio: yes we've seen that behavior before, we ended up manually writing components that composed queries as many levels deep as we needed to simulate recursion. That solved our performance issue. We were never able to identify the source of the bug though

wilkerlucio 2016-11-24T03:48:13.004882Z

@ethangracer thanks for letting me know that I'm not the only one affected, I was talking to Antonio, we are thinking it might be related to path optimization, given that each recursive component affected will trigger an individual re-read of the app state, and it has to build each one from the root... it makes sense, and also the number of slow queries on my console matches with the number of recursive components being re-render, still need to confirm but seems to be the problem root

2016-11-24T03:49:35.004885Z

that would definitely make sense

2016-11-24T03:50:03.004886Z

I remember doing a performance profile in chrome and it took 7 or 8 seconds for the whole re-render cycle to run

2016-11-24T03:50:16.004887Z

because of all of the metadata tracking / calls to parseMeta (or something similar)

wilkerlucio 2016-11-24T03:51:39.004889Z

yeah, I have a gut feeling that there is a way to optimize the recursive reading, since in a case like this all of the chain is always going to be re-read, it seems wasteful to compute one by one, maybe there is a way to make that more efficient

wilkerlucio 2016-11-24T03:52:23.004890Z

my case is not so dramatic, it still takes less than a second, but this is happening on each user input change, making it noticeable

wilkerlucio 2016-11-24T03:53:07.004891Z

I'm thinking that my easy way out would just be to isolate the input to avoid the recursion render at this point, but a general solution would be nice

mitchelkuijpers 2016-11-24T18:07:25.004901Z

Is anyone here able to run the untangled-devguide?

mitchelkuijpers 2016-11-24T18:07:53.004903Z

A college of mine is trying it out but cannot get it to run

tony.kay 2016-11-24T18:08:04.004904Z

hm

tony.kay 2016-11-24T18:08:13.004905Z

I did a recent update…let me look. develop or master?

tony.kay 2016-11-24T18:08:57.004906Z

@mitchelkuijpers

mitchelkuijpers 2016-11-24T18:09:05.004907Z

master

mitchelkuijpers 2016-11-24T18:09:08.004908Z

develop seems the same?

tony.kay 2016-11-24T18:09:16.004909Z

hm…yes, seems broken…give me a sec

mitchelkuijpers 2016-11-24T18:09:57.004910Z

I am kinda clueless with figwheel 😅 But I do get some nice error messages 😄

tony.kay 2016-11-24T18:11:36.004911Z

that’s funky

tony.kay 2016-11-24T18:11:41.004912Z

it might be a lein version

tony.kay 2016-11-24T18:12:56.004914Z

I’ll send a patch in a second…testing a change

tony.kay 2016-11-24T18:14:00.004915Z

done

tony.kay 2016-11-24T18:14:04.004916Z

pull and it should work

mitchelkuijpers 2016-11-24T18:14:07.004917Z

You rock man

tony.kay 2016-11-24T18:14:09.004918Z

I had added modules for playing with i18n

muurtegel 2016-11-24T18:14:34.004919Z

Thanks! 🙌

tony.kay 2016-11-24T18:14:36.004920Z

and something about the combo isn’t working now. I can swear it was working fine before, but perhaps it is a figwheel incompatibility

tony.kay 2016-11-24T18:14:43.004921Z

@muurtegel sure

tony.kay 2016-11-24T18:37:23.004922Z

Just added a mutation return value recipe to the cookbook.

mitchelkuijpers 2016-11-24T18:39:53.004925Z

Nice, this was a very usefull addition for us

mitchelkuijpers 2016-11-24T18:39:59.004926Z

it is already running in production ^^

tony.kay 2016-11-24T18:40:23.004927Z

@mitchelkuijpers the recent patch got you over the workaround, right?

tony.kay 2016-11-24T18:40:29.004928Z

e.g. double swap

mitchelkuijpers 2016-11-24T18:40:31.004929Z

We needed it to put a resolved id in localstorage after a mutate

mitchelkuijpers 2016-11-24T18:40:35.004930Z

Yes this fixed it

tony.kay 2016-11-24T18:41:06.004931Z

ah, yeah, I could see that

mitchelkuijpers 2016-11-24T18:41:24.004932Z

That was the only case why we needed it never used it before

tony.kay 2016-11-24T18:41:47.004933Z

glad you pointed out a good use-case. I hadn’t really thought of a good one yet

mitchelkuijpers 2016-11-24T18:42:34.004934Z

We have a recently-used list in localstorage and we put the resolved id after a create of something in localstorage