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/services
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 [WiP] Whenever a remote keypair changes, unfollow them and re-subscribe to … (#4907) 7 years ago
concerns Correct OStatus inflection (Ostatus -> OStatus) (#4255) 7 years ago
pubsubhubbub Fix #2672 - Connect signed PuSH subscription requests to instance domain (#4205) 7 years ago
account_search_service.rb Fix an error when a user tries to search nonexistent remote user (regression from #4275) (#4400) 7 years ago
after_block_service.rb Optimize MuteService and AfterBlockService (#2836) 8 years ago
authorize_follow_service.rb Add handling of Linked Data Signatures in payloads (#4687) 7 years ago
base_service.rb
batched_remove_status_service.rb Serialize ActivityPub alternate link into OStatus deletes, handle it (#4730) 7 years ago
block_domain_from_account_service.rb Add buttons to block and unblock domain (#3127) 8 years ago
block_domain_service.rb Do not try to re-subscribe to unsubscribed accounts (#4653) 7 years ago
block_service.rb Add handling of Linked Data Signatures in payloads (#4687) 7 years ago
bootstrap_timeline_service.rb Default follows for new users (#4871) 7 years ago
fan_out_on_write_service.rb Refactor JSON templates to be generated with ActiveModelSerializers instead of Rabl (#4090) 7 years ago
favourite_service.rb Add handling of Linked Data Signatures in payloads (#4687) 7 years ago
fetch_atom_service.rb Fix accessing to XML attribute in FetchAtomService (#4668) 7 years ago
fetch_link_card_service.rb Make PreviewCard records reuseable between statuses (#4642) 7 years ago
fetch_remote_account_service.rb Add support for searching AP users (#4599) 7 years ago
fetch_remote_resource_service.rb Add support for searching AP users (#4599) 7 years ago
fetch_remote_status_service.rb Add support for searching AP users (#4599) 7 years ago
follow_service.rb Default follows for new users (#4871) 7 years ago
mute_service.rb Optimize MuteService and AfterBlockService (#2836) 8 years ago
notify_service.rb Fix #4172 - Mutes now block notifications (#4300) 7 years ago
post_status_service.rb Fix #4850 - When visibility missing from API call to toot, fallback to user preference (#4861) 7 years ago
precompute_feed_service.rb Fix PrecomputeFeedService for filtered statuses (#4148) 7 years ago
process_feed_service.rb Fix logging in ProcessFeedService (#4270) 7 years ago
process_hashtags_service.rb Unify the method of extracting tags (#3138) 8 years ago
process_interaction_service.rb Make "unfollow" undo pending outgoing follow request too (#4781) 7 years ago
process_mentions_service.rb Fix mentions in direct statuses not being delivered via AP (#4806) 7 years ago
reblog_service.rb Avoid sending some ActivityPub payloads if the receiver will get them through distribution (#4739) 7 years ago
reject_follow_service.rb Add handling of Linked Data Signatures in payloads (#4687) 7 years ago
remove_status_service.rb Serialize ActivityPub alternate link into OStatus deletes, handle it (#4730) 7 years ago
resolve_remote_account_service.rb [WiP] Whenever a remote keypair changes, unfollow them and re-subscribe to … (#4907) 7 years ago
search_service.rb Add specs (and refactor) of FetchRemoteResourceService and SearchService (#2812) 8 years ago
send_interaction_service.rb Fix webfinger retries (#4275) 7 years ago
subscribe_service.rb Guarantee Subscription service first account has proper URL details (#4732) 7 years ago
suspend_account_service.rb Fix account delete form not accepting password, update suspended (#3745) 7 years ago
unblock_domain_service.rb Allow domain blocks that only reject media without silencing or suspending (#4325) 7 years ago
unblock_service.rb Add handling of Linked Data Signatures in payloads (#4687) 7 years ago
unfavourite_service.rb Add handling of Linked Data Signatures in payloads (#4687) 7 years ago
unfollow_service.rb Make "unfollow" undo pending outgoing follow request too (#4781) 7 years ago
unmute_service.rb
unsubscribe_service.rb Fix errors preventing UnsubscribeService from working (#4866) 7 years ago
update_account_service.rb authorize-follow-requests-after-unlocking (#4658) 7 years ago
update_remote_profile_service.rb Account deletion (#3728) 7 years ago
verify_salmon_service.rb