New error page graphic. Other error page improvements (#5099)

- 500.html generated with admin-set default locale if set
- Error page `<title>` includes Mastodon site title
- 500 title changed to "This page is not
  correct" (ref: <https://www.youtube.com/watch?v=2VCAP_seh1A>)
- 500 content appended with "on our end" to make clear it's
  not user's fault
This commit is contained in:
Eugen Rochko 2017-09-25 23:05:54 +02:00 committed by GitHub
parent 259181c41a
commit 3b60832214
7 changed files with 13 additions and 11 deletions

View File

@ -70,9 +70,8 @@ body {
.dialog img { .dialog img {
display: block; display: block;
margin: 20px auto; margin: 0 auto;
margin-top: 50px; max-width: 470px;
max-width: 600px;
width: 100%; width: 100%;
height: auto; height: auto;
} }

View File

@ -1,5 +1,5 @@
- content_for :page_title do - content_for :page_title do
= t('errors.500') = t('errors.500.title')
- content_for :content do - content_for :content do
= t('errors.500') = t('errors.500.content')

View File

@ -3,12 +3,12 @@
%head %head
%meta{ content: 'text/html; charset=UTF-8', 'http-equiv' => 'Content-Type' }/ %meta{ content: 'text/html; charset=UTF-8', 'http-equiv' => 'Content-Type' }/
%meta{ charset: 'utf-8' }/ %meta{ charset: 'utf-8' }/
%title= yield :page_title %title= safe_join([yield(:page_title), title], ' - ')
%meta{ content: 'width=device-width,initial-scale=1', name: 'viewport' }/ %meta{ content: 'width=device-width,initial-scale=1', name: 'viewport' }/
= stylesheet_pack_tag 'common', media: 'all' = stylesheet_pack_tag 'common', media: 'all'
= stylesheet_pack_tag Setting.default_settings['theme'], media: 'all' = stylesheet_pack_tag Setting.default_settings['theme'], media: 'all'
%body.error %body.error
.dialog .dialog
%img{ alt: 'Mastodon', src: '/oops.png' }/ %img{ alt: title, src: '/oops.gif' }/
%div %div
%h1= yield :content %h1= yield :content

View File

@ -310,7 +310,9 @@ en:
content: Security verification failed. Are you blocking cookies? content: Security verification failed. Are you blocking cookies?
title: Security verification failed title: Security verification failed
'429': Throttled '429': Throttled
'500': We're sorry, but something went wrong. '500':
content: We're sorry, but something went wrong on our end.
title: This page is not correct
noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">native apps</a> for Mastodon for your platform. noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">native apps</a> for Mastodon for your platform.
exports: exports:
blocks: You block blocks: You block

View File

@ -3,15 +3,16 @@
namespace :assets do namespace :assets do
desc 'Generate 500.html' desc 'Generate 500.html'
task :generate_500 do task :generate_500 do
I18n.with_locale(ENV['DEFAULT_LOCALE'] || I18n.default_locale) do
html = ApplicationController.render('errors/500', layout: 'error') html = ApplicationController.render('errors/500', layout: 'error')
File.write(Rails.root.join('public', '500.html'), html) File.write(Rails.root.join('public', '500.html'), html)
end end
end
end end
if Rake::Task.task_defined?('assets:precompile') if Rake::Task.task_defined?('assets:precompile')
Rake::Task['assets:precompile'].enhance do Rake::Task['assets:precompile'].enhance do
Webpacker::Manifest.load Webpacker::Manifest.load
Rake::Task['assets:generate_500'].invoke Rake::Task['assets:generate_500'].invoke
end end
end end

BIN
public/oops.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB