diff --git a/app/controllers/autocompletable/users_controller.rb b/app/controllers/autocompletable/users_controller.rb index 32aa8ee..0de562e 100644 --- a/app/controllers/autocompletable/users_controller.rb +++ b/app/controllers/autocompletable/users_controller.rb @@ -10,7 +10,11 @@ class Autocompletable::UsersController < ApplicationController private def find_autocompletable_users - query.present? ? users_scope.active.filtered_by(query) : users_scope.active + if query.present? + users_scope.active.filtered_by(query) + else + users_scope.active + end end # The rich text editor's mentions prompt filters with `filter`, the diff --git a/app/helpers/content_filters/remove_solo_unfurled_link_text.rb b/app/helpers/content_filters/remove_solo_unfurled_link_text.rb index 2e2d247..85568ab 100644 --- a/app/helpers/content_filters/remove_solo_unfurled_link_text.rb +++ b/app/helpers/content_filters/remove_solo_unfurled_link_text.rb @@ -4,12 +4,10 @@ class ContentFilters::RemoveSoloUnfurledLinkText < ActionText::Content::Filter end def apply - if fragment.find_all("div").any? - # Trix-era bodies: one
, the embed follows it
- fragment.replace("p") { |node| node.at_css("action-text-attachment") ? node : nil }
+ remove_link_paragraphs
end
end
@@ -41,4 +39,20 @@ class ContentFilters::RemoveSoloUnfurledLinkText < ActionText::Content::Filter
def twitter_url?(url)
url.present? && TWITTER_DOMAINS.any? { |domain| url.strip.include?(domain) }
end
+
+ def trix_body?
+ fragment.find_all("div").any?
+ end
+
+ def remove_link_text_from_wrapping_div
+ fragment.replace("div") { |node| node.tap { |n| n.inner_html = unfurled_links.first.to_s } }
+ end
+
+ def remove_link_paragraphs
+ fragment.replace("p") do |node|
+ if node.at_css("action-text-attachment")
+ node
+ end
+ end
+ end
end
diff --git a/app/javascript/controllers/unfurl_controller.js b/app/javascript/controllers/unfurl_controller.js
index 4fb675d..40d963b 100644
--- a/app/javascript/controllers/unfurl_controller.js
+++ b/app/javascript/controllers/unfurl_controller.js
@@ -8,7 +8,6 @@ const OPENGRAPH_EMBED_CONTENT_TYPE = "application/vnd.actiontext.opengraph-embed
const UNFURLED_TWITTER_AVATAR_CSS_CLASS = "cf-twitter-avatar"
const TWITTER_AVATAR_URL_PREFIX = "https://pbs.twimg.com/profile_images"
-// Unfurls URLs pasted into the rich text editor into OpenGraph preview attachments
export default class extends Controller {
#abortController
@@ -44,14 +43,14 @@ export default class extends Controller {
if (title && href) return { title, href, image, description }
}
} catch {
- // Ignore aborted or failed requests, like the previous implementation did
+ // Ignore aborted and failed requests
}
return null
}
#opengraphEmbedHTML({ title, href, image, description }) {
- return `
, Trix-era blocks used newlines