From 3f84816b24b232d8bfde71c4590d439a1f6fa50b Mon Sep 17 00:00:00 2001 From: Effy Elden Date: Sun, 15 Jan 2017 10:27:54 +1100 Subject: [PATCH 1/2] Add nice error page for CSRF errors/cookie issue, and fix error page handling altogether --- app/views/errors/404.html | 43 +++++++++++++++++++++++++++++++++++++++ app/views/errors/410.html | 43 +++++++++++++++++++++++++++++++++++++++ app/views/errors/422.html | 43 +++++++++++++++++++++++++++++++++++++++ app/views/errors/500.html | 43 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 172 insertions(+) create mode 100644 app/views/errors/404.html create mode 100644 app/views/errors/410.html create mode 100644 app/views/errors/422.html create mode 100644 app/views/errors/500.html diff --git a/app/views/errors/404.html b/app/views/errors/404.html new file mode 100644 index 0000000000..fc75c78be4 --- /dev/null +++ b/app/views/errors/404.html @@ -0,0 +1,43 @@ + + + + + The page you were looking for doesn't exist + + + + + + +
+ Mastodon + +
+

The page you were looking for doesn't exist

+
+
+ + diff --git a/app/views/errors/410.html b/app/views/errors/410.html new file mode 100644 index 0000000000..e07cbe8635 --- /dev/null +++ b/app/views/errors/410.html @@ -0,0 +1,43 @@ + + + + + The page you were looking for doesn't exist anymore + + + + + + +
+ Mastodon + +
+

The page you were looking for doesn't exist anymore

+
+
+ + diff --git a/app/views/errors/422.html b/app/views/errors/422.html new file mode 100644 index 0000000000..a214781bd3 --- /dev/null +++ b/app/views/errors/422.html @@ -0,0 +1,43 @@ + + + + + Security verification failed - are you blocking cookies? + + + + + + +
+ Mastodon + +
+

We're sorry, but we were unable to verify your request. Have you tried enabling cookies?

+
+
+ + diff --git a/app/views/errors/500.html b/app/views/errors/500.html new file mode 100644 index 0000000000..d085d490b0 --- /dev/null +++ b/app/views/errors/500.html @@ -0,0 +1,43 @@ + + + + + We're sorry, but something went wrong + + + + + + +
+ Mastodon + +
+

We're sorry, but something went wrong.

+
+
+ + From ed41f9f0b1d49e651c93cc9df90c21daca3f96a5 Mon Sep 17 00:00:00 2001 From: Effy Elden Date: Sun, 15 Jan 2017 10:30:23 +1100 Subject: [PATCH 2/2] Add nice error page for CSRF errors/cookie issue, and fix error page handling altogether --- app/controllers/application_controller.rb | 10 ++++++ public/404.html | 43 ----------------------- public/500.html | 43 ----------------------- 3 files changed, 10 insertions(+), 86 deletions(-) delete mode 100644 public/404.html delete mode 100644 public/500.html diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 0a6b50a297..e8cd48b6e8 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -11,6 +11,7 @@ class ApplicationController < ActionController::Base rescue_from ActionController::RoutingError, with: :not_found rescue_from ActiveRecord::RecordNotFound, with: :not_found + rescue_from ActionController::InvalidAuthenticityToken, with: :unprocessable_entity before_action :store_current_location, except: :raise_not_found, unless: :devise_controller? before_action :set_locale @@ -50,12 +51,21 @@ class ApplicationController < ActionController::Base def not_found respond_to do |format| format.any { head 404 } + format.html { render "errors/404" } end end def gone respond_to do |format| format.any { head 410 } + format.html { render "errors/410" } + end + end + + def unprocessable_entity + respond_to do |format| + format.any { head 422 } + format.html { render "errors/422" } end end diff --git a/public/404.html b/public/404.html deleted file mode 100644 index fc75c78be4..0000000000 --- a/public/404.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - The page you were looking for doesn't exist - - - - - - -
- Mastodon - -
-

The page you were looking for doesn't exist

-
-
- - diff --git a/public/500.html b/public/500.html deleted file mode 100644 index d085d490b0..0000000000 --- a/public/500.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - We're sorry, but something went wrong - - - - - - -
- Mastodon - -
-

We're sorry, but something went wrong.

-
-
- -