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 d19ed18388 Get handle from atom feed's author/email field instead of guessing from URL (#1344)
The goal of this change is to enhance Mastodon's handling of remote domains
for which the APIs reside on a different host (see issue #1032).

Indeed, when a remote user unknown to Mastodon is mentionned, only its profile
URL (e.g. https://social.example.org/users/User) is known, and Mastodon has to
build a @username@domain handle for it. To do so, Mastodon fetches the user's
atom feed (e.g., https://social.example.org/users/User.atom) and uses its
content to get the username part of the handle, and the URL's host part to
build the domain (e.g., @User@social.example.org). This handle is then used
for a Webfinger request.

In the case where example.org serves the Webfinger info for @User@example.org
and all feeds and APIs are hosted at social.example.org, Mastodon will still
build @User@social.example.org and fail at resolving the account's details
through Webfinger.

This patch changes this behaviour by using the author's email address from
the atom feed to build the handle. In Mastodon-generated atom feeds, the
email address is always the handle it expects for federation.
8 years ago
..
concerns Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 8 years ago
pubsubhubbub Disable PuSH for blocked domains 8 years ago
account_search_service.rb New API method: /api/v1/search 8 years ago
after_block_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 8 years ago
authorize_follow_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 8 years ago
base_service.rb Fix rubocop issues, introduce usage of frozen literal to improve performance 8 years ago
block_domain_service.rb Make default admin UI page reports. Add admin UI for creating a domain block 8 years ago
block_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 8 years ago
fan_out_on_write_service.rb Fix wrong pubsub channel on public timelines 8 years ago
favourite_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 8 years ago
fetch_atom_service.rb Shorter timeout on FetchAtomService 8 years ago
fetch_link_card_service.rb Do not run FetchLinkCardService on local URLs, increase file size limit to 8MB, 8 years ago
fetch_remote_account_service.rb Get handle from atom feed's author/email field instead of guessing from URL (#1344) 8 years ago
fetch_remote_resource_service.rb Fix full-text search query quotation, improve tag search performance with an index, 8 years ago
fetch_remote_status_service.rb Fix full-text search query quotation, improve tag search performance with an index, 8 years ago
follow_remote_account_service.rb Merge pull request #1218 from R0ckweb/patch-2 8 years ago
follow_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 8 years ago
mute_service.rb Mute button progress so far. WIP, doesn't entirely work correctly. 8 years ago
notify_service.rb Fix notifications delivered to wrong pubsub channel, optimized RemoveStatusService, 8 years ago
post_status_service.rb Use I18n for media attachment validation errors 8 years ago
precompute_feed_service.rb Spawn FeedInsertWorker to deliver status into personal feed 8 years ago
process_feed_service.rb Fix #1141, fix #1126 - Avatar/profile info fetching (#1215) 8 years ago
process_hashtags_service.rb Instead of using spoiler boolean and spoiler_text, simply check for non-blank spoiler_text 8 years ago
process_interaction_service.rb Split SalmonWorker into smaller parts, move profile updating into another job 8 years ago
process_mentions_service.rb Fix casuality of processing remote mentions such that notifications 8 years ago
reblog_service.rb Add "direct" visibility level in the backend. Web UI is not yet 8 years ago
reject_follow_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 8 years ago
remove_status_service.rb Fix wrong pubsub channel on public timelines 8 years ago
search_service.rb Fix reworked search 8 years ago
send_interaction_service.rb Make follow requests federate 8 years ago
subscribe_service.rb Fix rubocop issues, introduce usage of frozen literal to improve performance 8 years ago
suspend_account_service.rb Domain blocks now have varying severity - auto-suspend vs auto-silence 8 years ago
unblock_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 8 years ago
unfavourite_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 8 years ago
unfollow_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 8 years ago
unmute_service.rb Fix #231 - Muting 8 years ago
unsubscribe_service.rb Fix #329 - avatar errors no longer prevent remote accounts from being saved 8 years ago
update_remote_profile_service.rb Fix #1141, fix #1126 - Avatar/profile info fetching (#1215) 8 years ago
warm_cache_service.rb Preheat status cache 8 years ago