Make Evergreen resilient in the face of Chrome's prefetching and prerendering
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Discussion on the Evergreen mailing list [1] suggests that the Chrome prerendering feature [2] can result in users getting blank/white screens when loading the staff interface, especially (?) or only if (?) Hatch is installed.
As noted by John Amundson, when that happens, the following console message is observed when the page hangs:
sending to Hatch:
{"key":
This has been observed in (at least) Evergreen 3.7, 3.9, and 3.11.
As noted by Garry Collum and confirmed by others, turning off Chrome prerendering by turning off the "Preload pages" setting has brought relief.
However, it would be worthwhile to track this down further so that Evergreen (+ Hatch) can function regardless of the state of the prerendering setting and to identify what can (or cannot) be prerendered safely [3]. Like it or not, documenting instructions to turn off what, from the point of view of most users, is an obscure setting, will not be an adequate user experience in the long run.
[1] http://
[2] https:/
[3] https:/
Thus far, it looks like one way to cut the Gordian knot would be to have the server respond to all requests (to just the staff interface?) that include "prerender" in the Sec-Purpose header with an error code. Not, of course, what Google prefers - but needs must.
There's an argument to be made that prerendering could be helpful to speed up loading the Evergreen staff interface, but I have a feeling that it may take a fair amount of effort to have that work smoothly in all configurations.