You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastodon/app/workers
ThibG f29918e707 [WiP] Whenever a remote keypair changes, unfollow them and re-subscribe to … (#4907)
* Whenever a remote keypair changes, unfollow them and re-subscribe to them

In Mastodon (it could be different for other OStatus or AP-enabled software),
a keypair change is indicative of whole user (or instance) data loss. In this
situation, the “new” user might be different, and almost certainly has an empty
followers list. In this case, Mastodon instances will disagree on follower
lists, leading to unreliable delivery and “shadow followers”, that is users
believed by a remote instance to be followers, without the affected user
knowing.

Drawbacks of this change are:
1. If an user legitimately changes public key for some reason without losing
   data (not possible in Mastodon at the moment), they will have their remote
   followers unsubscribed/re-subscribed needlessly.
2. Depending of the number of remote followers, this may generate quite some
   traffic.
3. If the user change is an attempt at usurpation, the remote followers will
   unknowingly follow the usurper. Note that this is *not* a change of
   behavior, Mastodon already behaves like that, although delivery might be
   unreliable, and the usurper would not have known the former user's
   followers.

* Rename ResubscribeWorker to RefollowWorker

* Process followers in batches
7 years ago
..
activitypub Forward ActivityPub creates that reply to local statuses (#4709) 7 years ago
admin Account deletion (#3728) 7 years ago
pubsubhubbub Switch to static URIs, new URI format in both protocols for new statuses (#4815) 7 years ago
scheduler Periodically remove expired PuSH subscribers (#4654) 7 years ago
after_remote_follow_request_worker.rb After remote follow worker specs (#3098) 8 years ago
after_remote_follow_worker.rb After remote follow worker specs (#3098) 8 years ago
authorize_follow_worker.rb authorize-follow-requests-after-unlocking (#4658) 7 years ago
block_worker.rb Make blocks create entries and unfollows instantly, but do the clean up 8 years ago
bootstrap_timeline_worker.rb Default follows for new users (#4871) 7 years ago
digest_mailer_worker.rb Spec coverage and refactor of digest mailer worker (#2961) 8 years ago
distribution_worker.rb Fix Scheduler::SubscriptionsScheduler (#2834) 8 years ago
domain_block_worker.rb Make default admin UI page reports. Add admin UI for creating a domain block 8 years ago
feed_insert_worker.rb Spec feed insert worker (#2965) 8 years ago
import_worker.rb Fix webfinger retries (#4275) 7 years ago
link_crawl_worker.rb Separate background jobs into different queues. ATTENTION: new queue "pull" 8 years ago
merge_worker.rb Separate background jobs into different queues. ATTENTION: new queue "pull" 8 years ago
notification_worker.rb Separate background jobs into different queues. ATTENTION: new queue "pull" 8 years ago
processing_worker.rb Move OStatus processing back into default queue 8 years ago
push_update_worker.rb Refactor JSON templates to be generated with ActiveModelSerializers instead of Rabl (#4090) 7 years ago
refollow_worker.rb [WiP] Whenever a remote keypair changes, unfollow them and re-subscribe to … (#4907) 7 years ago
regeneration_worker.rb Add spec coverage for regeneration worker (#3143) 8 years ago
remote_profile_update_worker.rb Fix #1141, fix #1126 - Avatar/profile info fetching (#1215) 8 years ago
removal_worker.rb Adding some rescues to workers, e.g. don't fail removal job when status can't be found in the first place (already removed) 8 years ago
resolve_remote_account_worker.rb Instantly upgrade account to ActivityPub if we receive ActivityPub payload (#4766) 7 years ago
salmon_worker.rb Split SalmonWorker into smaller parts, move profile updating into another job 8 years ago
soft_block_domain_followers_worker.rb change sidekiq queueing to bulk push (#3536) 7 years ago
soft_block_worker.rb Followers-only post federation (#2111) 8 years ago
thread_resolve_worker.rb Separate background jobs into different queues. ATTENTION: new queue "pull" 8 years ago
unfavourite_worker.rb Improve background jobs params and error handling 8 years ago
unmerge_worker.rb Separate background jobs into different queues. ATTENTION: new queue "pull" 8 years ago
web_push_notification_worker.rb Fix guard clause in WebPushNotificationWorker (#4421) 7 years ago