diff options
-rw-r--r-- | Gemfile.lock | 6 | ||||
-rw-r--r-- | app/lib/tag_manager.rb | 6 | ||||
-rw-r--r-- | app/services/translate_status_service.rb | 4 |
3 files changed, 12 insertions, 4 deletions
diff --git a/Gemfile.lock b/Gemfile.lock index 2a67abf27..7d3e21867 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -895,3 +895,9 @@ DEPENDENCIES webpacker (~> 5.4) webpush! xorcist (~> 1.1) + +RUBY VERSION + ruby 3.0.5p211 + +BUNDLED WITH + 2.4.1 diff --git a/app/lib/tag_manager.rb b/app/lib/tag_manager.rb index 7fbf4437d..b43a8776e 100644 --- a/app/lib/tag_manager.rb +++ b/app/lib/tag_manager.rb @@ -7,18 +7,18 @@ class TagManager include RoutingHelper def web_domain?(domain) - domain.nil? || domain.gsub(/[\/]/, '').casecmp(Rails.configuration.x.web_domain).zero? + domain.nil? || domain.delete_suffix('/').casecmp(Rails.configuration.x.web_domain).zero? end def local_domain?(domain) - domain.nil? || domain.gsub(/[\/]/, '').casecmp(Rails.configuration.x.local_domain).zero? + domain.nil? || domain.delete_suffix('/').casecmp(Rails.configuration.x.local_domain).zero? end def normalize_domain(domain) return if domain.nil? uri = Addressable::URI.new - uri.host = domain.gsub(/[\/]/, '') + uri.host = domain.delete_suffix('/') uri.normalized_host end diff --git a/app/services/translate_status_service.rb b/app/services/translate_status_service.rb index 796f13a0d..ce81eaa63 100644 --- a/app/services/translate_status_service.rb +++ b/app/services/translate_status_service.rb @@ -12,7 +12,9 @@ class TranslateStatusService < BaseService raise Mastodon::NotPermittedError unless permitted? - Rails.cache.fetch("translations/#{@status.language}/#{@target_language}/#{content_hash}", expires_in: CACHE_TTL) { translation_backend.translate(@content, @status.language, @target_language) } + Rails.cache.fetch("translations/#{@status.language}/#{@target_language}/#{content_hash}", expires_in: CACHE_TTL) do + Sanitize.fragment(translation_backend.translate(@content, @status.language, @target_language), Sanitize::Config::MASTODON_STRICT) + end end private |