about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Gemfile.lock6
-rw-r--r--app/lib/tag_manager.rb6
-rw-r--r--app/services/translate_status_service.rb4
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