I loved that after seeing the comparisons, you can notice that the article was writing in Signifier. Did not love the CPU usage of the page (at lease for me, it rocketed up. macOS, Safari)
For those interested in the underlying cause, it seems to have been a bug in Safari. The following CSS triggered infinite repaints:
transition: all;
The solution was to simply be more specific: transition: background-color; // Give react a chance to render before starting to poll
// This gives us more chance of the opacity transition being visible
// Should also fix rendering glitches in firefox where native image placeholder shows briefly
setTimeout(pollForComplete, 300);
},Anyway using delays hoping that things are in place in 300ms is asking for trouble, I thought reacts whole thing was to put everything in a component lifecycle callback so everything happens in the order it needs to