mastodon/app/services
Eugen Rochko da8fe8079e
Re-add follow recommendations API (#7918)
* Re-add follow recommendations API

    GET /api/v1/suggestions

Removed in 8efa081f21 due to Neo4J
dependency. The algorithm uses triadic closures, takes into account
suspensions, blocks, mutes, domain blocks, excludes locked and moved
accounts, and prefers more recently updated accounts.

* Track interactions with people you don't follow

Replying to, favouriting and reblogging someone you're not following
will make them show up in follow recommendations. The interactions
have different weights:

- Replying is 1
- Favouriting is 10 (decidedly positive interaction, but private)
- Reblogging is 20

Following them, muting or blocking will remove them from the list,
obviously.

* Remove triadic closures, ensure potential friendships are trimmed
2018-07-03 01:47:56 +02:00
..
activitypub Raise Mastodon::RaceConditionError if Redis lock failed (#7511) 2018-05-16 12:29:45 +02:00
concerns Rename ResolveRemoteAccountService to ResolveAccountService (#6327) 2018-01-22 14:25:09 +01:00
pubsubhubbub Fix #2672 - Connect signed PuSH subscription requests to instance domain (#4205) 2017-07-14 23:01:20 +02:00
account_search_service.rb Prevent suspended accounts from appearing in AccountSearchService (#7246) 2018-04-23 21:27:18 +02:00
after_block_domain_from_account_service.rb Fix domain hiding logic (#7765) 2018-06-09 22:46:54 +02:00
after_block_service.rb Optimize MuteService and AfterBlockService (#2836) 2017-05-06 16:31:07 +02:00
authorize_follow_service.rb Using double splat operator (#5859) 2017-12-06 11:41:57 +01:00
backup_service.rb Add entropy to download filenames (#6811) 2018-03-17 17:39:28 +01:00
base_service.rb Remove unused AtomBuilderHelper (#1364) 2017-04-11 19:31:22 +02:00
batched_remove_status_service.rb Improve counter caches on Status and Account (#7644) 2018-05-30 02:50:23 +02:00
block_domain_service.rb After blocking domain with reject_media, invalidate cache (#6679) 2018-03-08 06:59:42 +01:00
block_service.rb Add handling of Linked Data Signatures in payloads (#4687) 2017-08-26 13:47:38 +02:00
bootstrap_timeline_service.rb Add autofollow option to invites (#7805) 2018-06-15 18:00:23 +02:00
fan_out_on_write_service.rb Reduce wasted work in RemoveStatusService due to inactive followers (#7672) 2018-05-29 22:55:33 +02:00
favourite_service.rb Re-add follow recommendations API (#7918) 2018-07-03 01:47:56 +02:00
fetch_atom_service.rb Support Actors/Statuses with multiple types (#7305) 2018-05-02 12:40:24 +02:00
fetch_link_card_service.rb Skip processing when HEAD method returns 501 (#7730) 2018-06-04 13:42:53 +02:00
fetch_oembed_service.rb Slightly reduce RAM usage (#7301) 2018-05-02 18:58:48 +02:00
fetch_remote_account_service.rb Validate id of ActivityPub representations (#5114) 2017-10-04 01:13:48 +02:00
fetch_remote_status_service.rb Change conditional to avoid nil into string error in sidekiq (#5987) 2017-12-12 15:11:13 +01:00
follow_service.rb Rename ResolveRemoteAccountService to ResolveAccountService (#6327) 2018-01-22 14:25:09 +01:00
mute_service.rb Keep notification when muting_notifications is true (#7311) 2018-05-02 16:14:51 +02:00
notify_service.rb Add REST API for Web Push Notifications subscriptions (#7445) 2018-05-11 11:49:12 +02:00
post_status_service.rb Re-add follow recommendations API (#7918) 2018-07-03 01:47:56 +02:00
precompute_feed_service.rb Fix home regeneration (#6251) 2018-01-17 23:56:03 +01:00
process_feed_service.rb Using double splat operator (#5859) 2017-12-06 11:41:57 +01:00
process_hashtags_service.rb Exclude unlisted, private and direct toots from affecting trends (#7686) 2018-05-31 16:47:28 +02:00
process_interaction_service.rb Introduce OStatus::TagManager (#5008) 2017-09-19 18:08:08 +02:00
process_mentions_service.rb Improve PostStatusService performance (#7317) 2018-05-02 22:10:57 +02:00
reblog_service.rb Re-add follow recommendations API (#7918) 2018-07-03 01:47:56 +02:00
reject_follow_service.rb Add handling of Linked Data Signatures in payloads (#4687) 2017-08-26 13:47:38 +02:00
remove_status_service.rb Reduce wasted work in RemoveStatusService due to inactive followers (#7672) 2018-05-29 22:55:33 +02:00
report_service.rb Federated reports (#6570) 2018-02-28 06:54:55 +01:00
resolve_account_service.rb Raise Mastodon::RaceConditionError if Redis lock failed (#7511) 2018-05-16 12:29:45 +02:00
resolve_url_service.rb Support Actors/Statuses with multiple types (#7305) 2018-05-02 12:40:24 +02:00
search_service.rb Remove extra spaces from search API queries and public account headers (fixes #7129) (#7152) 2018-04-16 17:19:04 +02:00
send_interaction_service.rb Close http connection in perform method of Request class (#6889) 2018-03-24 12:49:54 +01:00
subscribe_service.rb Close http connection in perform method of Request class (#6889) 2018-03-24 12:49:54 +01:00
suspend_account_service.rb Improve counter caches on Status and Account (#7644) 2018-05-30 02:50:23 +02:00
unblock_domain_service.rb Allow domain blocks that only reject media without silencing or suspending (#4325) 2017-07-24 14:26:55 +02:00
unblock_service.rb Add handling of Linked Data Signatures in payloads (#4687) 2017-08-26 13:47:38 +02:00
unfavourite_service.rb Add handling of Linked Data Signatures in payloads (#4687) 2017-08-26 13:47:38 +02:00
unfollow_service.rb Make "unfollow" undo pending outgoing follow request too (#4781) 2017-09-02 20:44:41 +02:00
unmute_service.rb Fix #231 - Muting 2017-03-02 18:49:32 +01:00
unsubscribe_service.rb Close http connection in perform method of Request class (#6889) 2018-03-24 12:49:54 +01:00
update_account_service.rb authorize-follow-requests-after-unlocking (#4658) 2017-08-26 12:40:03 +02:00
update_remote_profile_service.rb Fix custom emoji handling in UpdateRemoteProfileService (OStatus) (#7501) 2018-05-15 16:03:34 +02:00
verify_salmon_service.rb Introduce OStatus::TagManager (#5008) 2017-09-19 18:08:08 +02:00