From 3b73861d05036acc96d52bf077ae5c5e601bad73 Mon Sep 17 00:00:00 2001 From: evazion Date: Fri, 7 Aug 2020 09:06:23 -0500 Subject: [PATCH] maintenance: fix undefined current user exception. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Possible fix for this exception that happens in production for unclear reasons: NoMethodError: undefined method `is_admin?' for nil:NilClass …oru/releases/20200805193154/app/policies/tag_policy.rb: 3:in `can_change_category?' …www/danbooru/releases/20200805193154/app/models/tag.rb: 216:in `find_or_create_by_name' …www/danbooru/releases/20200805193154/app/models/tag.rb: 193:in `block in create_for_list' …www/danbooru/releases/20200805193154/app/models/tag.rb: 193:in `map' …www/danbooru/releases/20200805193154/app/models/tag.rb: 193:in `create_for_list' …ww/danbooru/releases/20200805193154/app/models/post.rb: 463:in `normalize_tags' --- app/logical/danbooru_maintenance.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/logical/danbooru_maintenance.rb b/app/logical/danbooru_maintenance.rb index c969b040b..b87e05e10 100644 --- a/app/logical/danbooru_maintenance.rb +++ b/app/logical/danbooru_maintenance.rb @@ -35,8 +35,12 @@ module DanbooruMaintenance def safely(&block) ActiveRecord::Base.connection.execute("set statement_timeout = 0") - yield + + CurrentUser.scoped(User.system, "127.0.0.1") do + yield + end rescue StandardError => exception DanbooruLogger.log(exception) + raise exception if Rails.env.test? end end