Add an improved HTTP 500 error page.

Review Request #8872 — Created April 3, 2017 and submitted — Latest diff uploaded


Review Board


For almost all of Review Board's history, we've been shipping the same
HTTP 500 error page. This page was notable for mentioning a very
specific bug we probably fixed by 1.0. We've never given the page much
attention since.

This change redoes the page, presenting a more visually playful version
of the "Review Board is taking a nap." It mentions a couple possible
causes for the downtime (temporary outage, bug), and gives the user some
basic instructions.

The new page uses an image, and since the page is served up directly by
Apache, we can't use the Django staticfiles library to locate these
images. We also can't assume Review Board is hosted at the root of the
web server. To address this, we now generate the error documents page
in rb-site, using the templating support we have in there, to ensure
we're pointing at a reasonable path for the static image files.

The new page is also mobile-friendly.

Built a site and upgraded a site, and saw that the new errordocs
directory was there with the correct content.

Tested that HTTP 500 page on desktop and mobile.