commit: d37a56c07cdc475f9a0f5a87d65d1e258c48644b
parent: 2cea4592a3fe0164d3a4dd2ff1a2ddf5afee1c31
Author: ThibG <thib@sitedethib.com>
Date: Sun, 29 Oct 2017 16:24:16 +0100
Update remote ActivityPub users when fetching their toots (#5545)
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/app/services/activitypub/fetch_remote_status_service.rb b/app/services/activitypub/fetch_remote_status_service.rb
@@ -16,7 +16,7 @@ class ActivityPub::FetchRemoteStatusService < BaseService
return if actor_id.nil? || !trustworthy_attribution?(@json['id'], actor_id)
actor = ActivityPub::TagManager.instance.uri_to_resource(actor_id, Account)
- actor = ActivityPub::FetchRemoteAccountService.new.call(actor_id, id: true) if actor.nil?
+ actor = ActivityPub::FetchRemoteAccountService.new.call(actor_id, id: true) if actor.nil? || needs_update(actor)
return if actor.suspended?
@@ -44,4 +44,8 @@ class ActivityPub::FetchRemoteStatusService < BaseService
def expected_type?
%w(Note Article).include? @json['type']
end
+
+ def needs_update(actor)
+ actor.possibly_stale?
+ end
end