Convert OStatus tag to ActivityPub id on in_reply_to resolution (#4756)
This commit is contained in:
		
							parent
							
								
									af2d22f88c
								
							
						
					
					
						commit
						504737e860
					
				@ -56,6 +56,16 @@ class OStatus::Activity::Base
 | 
			
		||||
    Status.find_by(uri: uri)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def find_activitypub_status(uri, href)
 | 
			
		||||
    tag_matches = /tag:([^,:]+)[^:]*:objectId=([\d]+)/.match(uri)
 | 
			
		||||
    href_matches = %r{/users/([^/]+)}.match(href)
 | 
			
		||||
 | 
			
		||||
    unless tag_matches.nil? || href_matches.nil?
 | 
			
		||||
      uri = "https://#{tag_matches[1]}/users/#{href_matches[1]}/statuses/#{tag_matches[2]}"
 | 
			
		||||
      Status.find_by(uri: uri)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def redis
 | 
			
		||||
    Redis.current
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,7 @@ class OStatus::Activity::Creation < OStatus::Activity::Base
 | 
			
		||||
        language: content_language,
 | 
			
		||||
        visibility: visibility_scope,
 | 
			
		||||
        conversation: find_or_create_conversation,
 | 
			
		||||
        thread: thread? ? find_status(thread.first) : nil
 | 
			
		||||
        thread: thread? ? find_status(thread.first) || find_activitypub_status(thread.first, thread.second) : nil
 | 
			
		||||
      )
 | 
			
		||||
 | 
			
		||||
      save_mentions(status)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user