Fork me on GitHub
#fulcro
<
2018-10-01
>
magra17:10:47

I updated a the dependencies of an app from fulcro 2.5.4 to 2.6.5. When I open the app now in chromium on first load server transactions run fine and the db gets filled but the ui does not update. When I click to another route and back it renders fine. In Firefox everything works fine. I tested a few versions, as of 2.6 chromium starts missing rerendering, 2.5.4 works fine. Has anybody seen something like that before? Is there something I have to pay special attention to?

tony.kay17:10:46

The rendering algorithm changed in 2.6, but should work fundamentally the same. It is possible that your application was doing something that technically was not supported, and now that's being enforced, or it could be that you found an actual bug. I'd be interested in hearing more about your app

tony.kay17:10:30

For example a load should technically have a :refresh option to indicate what should be refreshed, but the old rendering algorithm may have rendered it anyhow.

magra17:10:49

Should this be in addition to the :target option?

magra17:10:06

It might be due to df/load-action calls. But they do have {:marker false :target [:item-list :top :item-list/items]} set.

tony.kay17:10:20

Technically, refresh is required. Fulcro only auto refreshes things that are loaded by ident or with a component reference.

tony.kay17:10:01

I think in older versions loads did trigger a root refresh.

magra17:10:03

Yes, it's the ones that do not load by ident but by keywords.

magra17:10:53

Odd that it does not affect firefox.

tony.kay21:10:23

Probably a timing thing. Could be the networking hits before the first animation frame or something.

currentoor19:10:30

Even after going from 2.6.4 to 2.6.5, I noticed no changes in my build size, in fact the two file have identical hash values. I’ve got about 40 components in my build. Shouldn’t @thheller’s recent PR cause some change?

currentoor19:10:56

Or do I have to opt-in somehow?

thheller19:10:37

no it should definitely change the hash and size. although gzip deals with this pretty darn well so in the shadow-cljs UI the main module went down in size 6kb but only 200bytes after gzip (other modules changed more though)

currentoor19:10:52

yeah that’s why i’m confused, also i compared them without gzip