From 7c609bdab9860d7830ba961fc4df9e11f494d571 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Thu, 23 May 2019 12:15:46 +0200 Subject: Allow rel=tag in status text Fixes tag links in local Markdown or HTML-authored statuses --- app/lib/sanitize_config.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/lib') diff --git a/app/lib/sanitize_config.rb b/app/lib/sanitize_config.rb index 23d0a418f..75c916485 100644 --- a/app/lib/sanitize_config.rb +++ b/app/lib/sanitize_config.rb @@ -31,7 +31,7 @@ class Sanitize add_attributes: { 'a' => { - 'rel' => 'nofollow noopener', + 'rel' => 'nofollow noopener tag', 'target' => '_blank', }, }, -- cgit From 9a5561a5b87e57fae0333a025b8ef42aaab6ce0f Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 23 May 2019 20:00:39 +0200 Subject: Fix possible race condition when processing statuses (#10815) --- app/lib/activitypub/activity/create.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'app/lib') diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 6b16c9986..2bc33c04b 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -267,7 +267,11 @@ class ActivityPub::Activity::Create < ActivityPub::Activity def conversation_from_uri(uri) return nil if uri.nil? return Conversation.find_by(id: OStatus::TagManager.instance.unique_tag_to_local_id(uri, 'Conversation')) if OStatus::TagManager.instance.local_id?(uri) - Conversation.find_by(uri: uri) || Conversation.create(uri: uri) + begin + Conversation.find_or_create_by!(uri: uri) + rescue ActiveRecord::RecordInvalid, ActiveRecord::RecordNotUnique + retry + end end def visibility_from_audience -- cgit From d6a7d62dc698d6ebaa3a40f44c20ef12f8474fd7 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Thu, 23 May 2019 18:53:24 +0200 Subject: Do not share a single Redcarpet::Markdown object across threads There are apparently thread-safety issues: https://github.com/vmg/redcarpet/pull/672 --- app/lib/formatter.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'app/lib') diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index a099ff728..8a2828bbf 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -137,8 +137,6 @@ class Formatter private def markdown_formatter - return @markdown_formatter if defined?(@markdown_formatter) - extensions = { autolink: true, no_intra_emphasis: true, @@ -163,7 +161,7 @@ class Formatter link_attributes: { target: '_blank', rel: 'nofollow noopener' }, }) - @markdown_formatter = Redcarpet::Markdown.new(renderer, extensions) + Redcarpet::Markdown.new(renderer, extensions) end def html_entities -- cgit