From fed7380e9f6811ac069b1891546581aa4bccb122 Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Sat, 28 May 2022 21:32:08 +0900 Subject: Prevent use locale with empty string (#18543) Somehow user's locale could be an empty string, And empty string itself are treated as true value. --- app/workers/move_worker.rb | 4 ++-- app/workers/web/push_notification_worker.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'app/workers') diff --git a/app/workers/move_worker.rb b/app/workers/move_worker.rb index 4a900e3b8..c3167f9ca 100644 --- a/app/workers/move_worker.rb +++ b/app/workers/move_worker.rb @@ -47,7 +47,7 @@ class MoveWorker def copy_account_notes! AccountNote.where(target_account: @source_account).find_each do |note| - text = I18n.with_locale(note.account.user&.locale || I18n.default_locale) do + text = I18n.with_locale(note.account.user&.locale.presence || I18n.default_locale) do I18n.t('move_handler.copy_account_note_text', acct: @source_account.acct) end @@ -90,7 +90,7 @@ class MoveWorker def add_account_note_if_needed!(account, id) unless AccountNote.where(account: account, target_account: @target_account).exists? - text = I18n.with_locale(account.user&.locale || I18n.default_locale) do + text = I18n.with_locale(account.user&.locale.presence || I18n.default_locale) do I18n.t(id, acct: @source_account.acct) end AccountNote.create!(account: account, target_account: @target_account, comment: text) diff --git a/app/workers/web/push_notification_worker.rb b/app/workers/web/push_notification_worker.rb index 57f5b5c22..1ed5bb9e0 100644 --- a/app/workers/web/push_notification_worker.rb +++ b/app/workers/web/push_notification_worker.rb @@ -51,7 +51,7 @@ class Web::PushNotificationWorker private def push_notification_json - json = I18n.with_locale(@subscription.locale || I18n.default_locale) do + json = I18n.with_locale(@subscription.locale.presence || I18n.default_locale) do ActiveModelSerializers::SerializableResource.new( @notification, serializer: Web::NotificationSerializer, -- cgit