forked from cybrespace/mastodon
		
	Instantly upgrade account to ActivityPub if we receive ActivityPub payload (#4766)
This commit is contained in:
		
							parent
							
								
									5d170587e3
								
							
						
					
					
						commit
						a187dcefa1
					
				
					 2 changed files with 17 additions and 2 deletions
				
			
		| 
						 | 
					@ -26,8 +26,12 @@ class ActivityPub::InboxesController < Api::BaseController
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def upgrade_account
 | 
					  def upgrade_account
 | 
				
			||||||
    return unless signed_request_account.subscribed?
 | 
					    if signed_request_account.ostatus?
 | 
				
			||||||
    Pubsubhubbub::UnsubscribeWorker.perform_async(signed_request_account.id)
 | 
					      signed_request_account.update(last_webfingered_at: nil)
 | 
				
			||||||
 | 
					      ResolveRemoteAccountWorker.perform_async(signed_request_account.acct)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Pubsubhubbub::UnsubscribeWorker.perform_async(signed_request_account.id) if signed_request_account.subscribed?
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def process_payload
 | 
					  def process_payload
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										11
									
								
								app/workers/resolve_remote_account_worker.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								app/workers/resolve_remote_account_worker.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					# frozen_string_literal: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class ResolveRemoteAccountWorker
 | 
				
			||||||
 | 
					  include Sidekiq::Worker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  sidekiq_options queue: 'pull', unique: :until_executed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def perform(uri)
 | 
				
			||||||
 | 
					    ResolveRemoteAccountService.new.call(uri)
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue