Fix issue with unresolvable usernames
This commit is contained in:
		
							parent
							
								
									882c94a6bf
								
							
						
					
					
						commit
						039e6f951c
					
				
					 2 changed files with 10 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -38,8 +38,11 @@ module ApplicationHelper
 | 
			
		|||
 | 
			
		||||
  def linkify(status)
 | 
			
		||||
    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)
 | 
			
		||||
      "#{m.split('@').first}<a href=\"#{url_for_target(account)}\" class=\"mention\">@<span>#{account.acct}</span></a>"
 | 
			
		||||
      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>"
 | 
			
		||||
      else
 | 
			
		||||
        m
 | 
			
		||||
      end
 | 
			
		||||
    end.html_safe
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,6 +44,11 @@ RSpec.describe ApplicationHelper, type: :helper do
 | 
			
		|||
      status.mentions.create(account: alice)
 | 
			
		||||
      expect(helper.linkify(status)).to match('<a href="http://test.host/users/alice" class="mention">@<span>alice</span></a>')
 | 
			
		||||
    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
 | 
			
		||||
 | 
			
		||||
  describe '#account_from_mentions' do
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue