Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags...
authorIvan Tashkinov <ivantashkinov@gmail.com>
Wed, 3 Feb 2021 06:31:38 +0000 (09:31 +0300)
committerIvan Tashkinov <ivantashkinov@gmail.com>
Wed, 3 Feb 2021 06:31:38 +0000 (09:31 +0300)
# Conflicts:
# CHANGELOG.md
# lib/pleroma/web/activity_pub/activity_pub.ex

1  2 
CHANGELOG.md
lib/pleroma/web/activity_pub/activity_pub.ex
lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex

diff --cc CHANGELOG.md
index 47c5078b8f953c222621c41249c164334f2d6375,3f439d3a44db8bbc571f04f35b438c024277d0b7..f9a32f430d6faaaf489f4435d5c3c00f322f84c0
@@@ -21,7 -21,7 +21,8 @@@ The format is based on [Keep a Changelo
  - Admin API: Reports now ordered by newest
  - Deprecated `Pleroma.Uploaders.S3, :public_endpoint`. Now `Pleroma.Upload, :base_url` is the standard configuration key for all uploaders.
  - Improved Apache webserver support: updated sample configuration, MediaProxy cache invalidation verified with the included sample script
+ - Improve OAuth 2.0 provider support. A missing `fqn` field was added to the response, but does not expose the user's email address.
 +- Extracted object hashtags into separate table in order to improve hashtag timeline performance (via background migration in `Pleroma.Migrators.HashtagsTableMigrator`). 
  
  ### Added
  
index 6cf4093fbada8dd6a34a46df3f2510915138c840,98051032aca1b10cb23353be274017556eed7449..573b4243c4d516e458dfe491847b4fab56e8cf0e
@@@ -1187,50 -1104,41 +1193,51 @@@ defmodule Pleroma.Web.ActivityPub.Activ
        skip_thread_containment: Config.get([:instance, :skip_thread_containment])
      }
  
 -    Activity
 -    |> maybe_preload_objects(opts)
 -    |> maybe_preload_bookmarks(opts)
 -    |> maybe_preload_report_notes(opts)
 -    |> maybe_set_thread_muted_field(opts)
 -    |> maybe_order(opts)
 -    |> restrict_recipients(recipients, opts[:user])
 -    |> restrict_replies(opts)
 -    |> restrict_tag(opts)
 -    |> restrict_tag_reject(opts)
 -    |> restrict_tag_all(opts)
 -    |> restrict_since(opts)
 -    |> restrict_local(opts)
 -    |> restrict_remote(opts)
 -    |> restrict_actor(opts)
 -    |> restrict_type(opts)
 -    |> restrict_state(opts)
 -    |> restrict_favorited_by(opts)
 -    |> restrict_blocked(restrict_blocked_opts)
 -    |> restrict_muted(restrict_muted_opts)
 -    |> restrict_filtered(opts)
 -    |> restrict_media(opts)
 -    |> restrict_visibility(opts)
 -    |> restrict_thread_visibility(opts, config)
 -    |> restrict_reblogs(opts)
 -    |> restrict_pinned(opts)
 -    |> restrict_muted_reblogs(restrict_muted_reblogs_opts)
 -    |> restrict_instance(opts)
 -    |> restrict_announce_object_actor(opts)
 -    |> restrict_filtered(opts)
 -    |> Activity.restrict_deactivated_users()
 -    |> exclude_poll_votes(opts)
 -    |> exclude_chat_messages(opts)
 -    |> exclude_invisible_actors(opts)
 -    |> exclude_visibility(opts)
 +    query =
 +      Activity
 +      |> maybe_preload_objects(opts)
 +      |> maybe_preload_bookmarks(opts)
 +      |> maybe_preload_report_notes(opts)
 +      |> maybe_set_thread_muted_field(opts)
 +      |> maybe_order(opts)
 +      |> restrict_recipients(recipients, opts[:user])
 +      |> restrict_replies(opts)
 +      |> restrict_since(opts)
 +      |> restrict_local(opts)
++      |> restrict_remote(opts)
 +      |> restrict_actor(opts)
 +      |> restrict_type(opts)
 +      |> restrict_state(opts)
 +      |> restrict_favorited_by(opts)
 +      |> restrict_blocked(restrict_blocked_opts)
 +      |> restrict_muted(restrict_muted_opts)
 +      |> restrict_filtered(opts)
 +      |> restrict_media(opts)
 +      |> restrict_visibility(opts)
 +      |> restrict_thread_visibility(opts, config)
 +      |> restrict_reblogs(opts)
 +      |> restrict_pinned(opts)
 +      |> restrict_muted_reblogs(restrict_muted_reblogs_opts)
 +      |> restrict_instance(opts)
 +      |> restrict_announce_object_actor(opts)
 +      |> restrict_filtered(opts)
 +      |> Activity.restrict_deactivated_users()
 +      |> exclude_poll_votes(opts)
 +      |> exclude_chat_messages(opts)
 +      |> exclude_invisible_actors(opts)
 +      |> exclude_visibility(opts)
 +
 +    if Config.improved_hashtag_timeline() do
 +      query
 +      |> restrict_hashtag_any(opts)
 +      |> restrict_hashtag_all(opts)
 +      |> restrict_hashtag_reject_any(opts)
 +    else
 +      query
 +      |> restrict_embedded_tag_any(opts)
 +      |> restrict_embedded_tag_all(opts)
 +      |> restrict_embedded_tag_reject_any(opts)
 +    end
    end
  
    def fetch_activities(recipients, opts \\ %{}, pagination \\ :keyset) do