Fix account URI when updating ActivityPub account (#7488)
Updates account `uri` field on each call to `update_account` instead of
only once during `create_account` to mirror the same behavior in OStatus
`ResolveAccountService` class [0].
ActivityPub accounts are identified using `@username` and `@domain` pair
instead of URI since #6842.
This fixes #7479: a bug when the account identified by `@username` and
`@domain` changes its URI.
[0]:
03b69ebc45/app/services/resolve_account_service.rb (L121)
			
			
This commit is contained in:
		
							parent
							
								
									03b69ebc45
								
							
						
					
					
						commit
						7fe2993b87
					
				@ -44,7 +44,6 @@ class ActivityPub::ProcessAccountService < BaseService
 | 
				
			|||||||
    @account.protocol    = :activitypub
 | 
					    @account.protocol    = :activitypub
 | 
				
			||||||
    @account.username    = @username
 | 
					    @account.username    = @username
 | 
				
			||||||
    @account.domain      = @domain
 | 
					    @account.domain      = @domain
 | 
				
			||||||
    @account.uri         = @uri
 | 
					 | 
				
			||||||
    @account.suspended   = true if auto_suspend?
 | 
					    @account.suspended   = true if auto_suspend?
 | 
				
			||||||
    @account.silenced    = true if auto_silence?
 | 
					    @account.silenced    = true if auto_silence?
 | 
				
			||||||
    @account.private_key = nil
 | 
					    @account.private_key = nil
 | 
				
			||||||
@ -67,6 +66,7 @@ class ActivityPub::ProcessAccountService < BaseService
 | 
				
			|||||||
    @account.followers_url           = @json['followers'] || ''
 | 
					    @account.followers_url           = @json['followers'] || ''
 | 
				
			||||||
    @account.featured_collection_url = @json['featured'] || ''
 | 
					    @account.featured_collection_url = @json['featured'] || ''
 | 
				
			||||||
    @account.url                     = url || @uri
 | 
					    @account.url                     = url || @uri
 | 
				
			||||||
 | 
					    @account.uri                     = @uri
 | 
				
			||||||
    @account.display_name            = @json['name'] || ''
 | 
					    @account.display_name            = @json['name'] || ''
 | 
				
			||||||
    @account.note                    = @json['summary'] || ''
 | 
					    @account.note                    = @json['summary'] || ''
 | 
				
			||||||
    @account.locked                  = @json['manuallyApprovesFollowers'] || false
 | 
					    @account.locked                  = @json['manuallyApprovesFollowers'] || false
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user