diff --git a/app/helpers/formatting_helper.rb b/app/helpers/formatting_helper.rb index e827834975..1b364a000c 100644 --- a/app/helpers/formatting_helper.rb +++ b/app/helpers/formatting_helper.rb @@ -27,14 +27,7 @@ module FormattingHelper module_function :extract_status_plain_text def status_content_format(status) - MastodonOTELTracer.in_span('HtmlAwareFormatter rendering') do |span| - span.add_attributes( - 'app.formatter.content.type' => 'status', - 'app.formatter.content.origin' => status.local? ? 'local' : 'remote' - ) - - html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) - end + html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) end def rss_status_content_format(status) @@ -46,14 +39,7 @@ module FormattingHelper end def account_bio_format(account) - MastodonOTELTracer.in_span('HtmlAwareFormatter rendering') do |span| - span.add_attributes( - 'app.formatter.content.type' => 'account_bio', - 'app.formatter.content.origin' => account.local? ? 'local' : 'remote' - ) - - html_aware_format(account.note, account.local?) - end + html_aware_format(account.note, account.local?) end def account_field_value_format(field, with_rel_me: true) diff --git a/app/lib/text_formatter.rb b/app/lib/text_formatter.rb index c1b0a81652..a7620fb74d 100644 --- a/app/lib/text_formatter.rb +++ b/app/lib/text_formatter.rb @@ -33,24 +33,17 @@ class TextFormatter def to_s return ''.html_safe if text.blank? - html = nil - MastodonOTELTracer.in_span('TextFormatter#to_s extract_and_rewrite') do - html = rewrite do |entity| - if entity[:url] - link_to_url(entity) - elsif entity[:hashtag] - link_to_hashtag(entity) - elsif entity[:screen_name] - link_to_mention(entity) - end + html = rewrite do |entity| + if entity[:url] + link_to_url(entity) + elsif entity[:hashtag] + link_to_hashtag(entity) + elsif entity[:screen_name] + link_to_mention(entity) end end - if multiline? - MastodonOTELTracer.in_span('TextFormatter#to_s simple_format') do - html = simple_format(html, {}, sanitize: false).delete("\n") - end - end + html = simple_format(html, {}, sanitize: false).delete("\n") if multiline? html.html_safe # rubocop:disable Rails/OutputSafety end @@ -106,54 +99,48 @@ class TextFormatter end def link_to_url(entity) - MastodonOTELTracer.in_span('TextFormatter#link_to_url') do - TextFormatter.shortened_link(entity[:url], rel_me: with_rel_me?) - end + TextFormatter.shortened_link(entity[:url], rel_me: with_rel_me?) end def link_to_hashtag(entity) - MastodonOTELTracer.in_span('TextFormatter#link_to_hashtag') do - hashtag = entity[:hashtag] - url = tag_url(hashtag) + hashtag = entity[:hashtag] + url = tag_url(hashtag) - <<~HTML.squish - - HTML - end + <<~HTML.squish + + HTML end def link_to_mention(entity) - MastodonOTELTracer.in_span('TextFormatter#link_to_mention') do - username, domain = entity[:screen_name].split('@') - domain = nil if local_domain?(domain) - account = nil + username, domain = entity[:screen_name].split('@') + domain = nil if local_domain?(domain) + account = nil - if preloaded_accounts? - same_username_hits = 0 + if preloaded_accounts? + same_username_hits = 0 - preloaded_accounts.each do |other_account| - same_username = other_account.username.casecmp(username).zero? - same_domain = other_account.domain.nil? ? domain.nil? : other_account.domain.casecmp(domain)&.zero? + preloaded_accounts.each do |other_account| + same_username = other_account.username.casecmp(username).zero? + same_domain = other_account.domain.nil? ? domain.nil? : other_account.domain.casecmp(domain)&.zero? - if same_username && !same_domain - same_username_hits += 1 - elsif same_username && same_domain - account = other_account - end + if same_username && !same_domain + same_username_hits += 1 + elsif same_username && same_domain + account = other_account end - else - account = entity_cache.mention(username, domain) end - - return "@#{h(entity[:screen_name])}" if account.nil? - - url = ActivityPub::TagManager.instance.url_for(account) - display_username = same_username_hits&.positive? || with_domains? ? account.pretty_acct : account.username - - <<~HTML.squish - @#{h(display_username)} - HTML + else + account = entity_cache.mention(username, domain) end + + return "@#{h(entity[:screen_name])}" if account.nil? + + url = ActivityPub::TagManager.instance.url_for(account) + display_username = same_username_hits&.positive? || with_domains? ? account.pretty_acct : account.username + + <<~HTML.squish + @#{h(display_username)} + HTML end def entity_cache