Page MenuHomePhabricator

Images on the front page need special handling to make sure they can render.
Closed, DeclinedPublic

Description

I recently opened T302357. It was closed as a duplicate of T200866. Since that later ticket is 3-1/2 years old, I assume not much is happening to fix the problem. The close/dup statement said, "If you think MediaViewer should handle the error condition differently, you can file a task for that." Here it is. For an image featured on the front page, we need to do something special. Having the front-page featured image fail to render is sub-optimal.

For particularly high-visibility images (i.e. on the front page), could we pre-render (manually, if need be) the image in all available sizes and cache them somewhere as static images? Could we have a way to specify in the image tag that a particular image is exempt from the normal rendering timeouts. Or at least is given a longer timeout?

Event Timeline

@RoySmith: What is the description of the underlying problem? Using the bug report and feature requests templates is welcome.

The underlying problem is described in T302357. The short version is that apparently some large and/or complicated SVG images time out during rendering. In the particular case reported in T302357, this was a featured image on the enwiki front page, so this failure occurred frequently, which apparently triggered some failure throttling code, preventing additional attempts to re-render, exacerbating the problem.

Images on the front page of enwiki are highly visible. It seems reasonable that extra efforts should be made to ensure that all images on the front page render correctly. My knowledge of the internal image processing systems is limited, so I'm unable to offer any specific suggestions on how this can be achieved.

Aklapper triaged this task as Lowest priority.Mar 22 2022, 2:18 PM

The way forward here is fixing T200866 blocked on T193352 blocked on T216815. Exempting from normal rendering timeouts is not a way forward (because performance issues).

Proposing to decline this task instead of adding and maintaining more workarounds.