When browser LCP measures the wrong thing on a feed
Largest Contentful Paint was measuring the wrong thing on an image feed, so measure the right one.
On an image feed the largest contentful element at paint can be a header, a
placeholder, or a post nobody came to see, and the number moves for reasons
unrelated to whether the feed appeared. So the tool defines a narrower metric:
time to the first feed image, identified by CDN host and a width filter of at
least 500px, measured to full load rather than to paint. The load condition is
complete and naturalWidth > 0, because an <img> can exist, be sized, and
show nothing.
It polls the DOM rather than using PerformanceObserver. Less elegant, and
correct here: the observer reports paints, and the question is about one
specific element identified by attributes the observer does not hand you.
Mobile serves 540px images and desktop 1200px, so the two are reported
separately rather than averaged into something meaningless. --runs exists
because one measurement of a CDN-backed image is mostly noise.
The measured page came in at 4371ms against a Web Vitals poor threshold of 4000ms.