Fix issue with unresolvable usernames
This commit is contained in:
parent
882c94a6bf
commit
039e6f951c
|
@ -38,8 +38,11 @@ module ApplicationHelper
|
||||||
|
|
||||||
def linkify(status)
|
def linkify(status)
|
||||||
auto_link(HTMLEntities.new.encode(status.text), link: :urls, html: { rel: 'nofollow noopener' }).gsub(Account::MENTION_RE) do |m|
|
auto_link(HTMLEntities.new.encode(status.text), link: :urls, html: { rel: 'nofollow noopener' }).gsub(Account::MENTION_RE) do |m|
|
||||||
account = account_from_mentions(Account::MENTION_RE.match(m)[1], status.mentions)
|
if account = account_from_mentions(Account::MENTION_RE.match(m)[1], status.mentions)
|
||||||
"#{m.split('@').first}<a href=\"#{url_for_target(account)}\" class=\"mention\">@<span>#{account.acct}</span></a>"
|
"#{m.split('@').first}<a href=\"#{url_for_target(account)}\" class=\"mention\">@<span>#{account.acct}</span></a>"
|
||||||
|
else
|
||||||
|
m
|
||||||
|
end
|
||||||
end.html_safe
|
end.html_safe
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,11 @@ RSpec.describe ApplicationHelper, type: :helper do
|
||||||
status.mentions.create(account: alice)
|
status.mentions.create(account: alice)
|
||||||
expect(helper.linkify(status)).to match('<a href="http://test.host/users/alice" class="mention">@<span>alice</span></a>')
|
expect(helper.linkify(status)).to match('<a href="http://test.host/users/alice" class="mention">@<span>alice</span></a>')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'leaves mention of unresolvable user alone' do
|
||||||
|
status = Fabricate(:status, text: 'Hello @foo', account: bob)
|
||||||
|
expect(helper.linkify(status)).to match('Hello @foo')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#account_from_mentions' do
|
describe '#account_from_mentions' do
|
||||||
|
|
Loading…
Reference in a new issue