diff options
author | Alex Gleason <alex@alexgleason.me> | 2021-05-16 13:22:26 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2021-05-16 13:22:26 -0500 |
commit | 7ac4da8dd4471455c7d243983d0e1ca6fa32a14e (patch) | |
tree | e0bf3be13a4e23ae5e16d08d08287b26fea3e0b3 /lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex | |
parent | 230ad82dadf013cb56909d1e8df2a2d652c47068 (diff) | |
parent | 745375bdcf2679ff803dd4ebc4a8313a7b5fb157 (diff) | |
download | pleroma-7ac4da8dd4471455c7d243983d0e1ca6fa32a14e.tar.gz |
Merge remote-tracking branch 'pleroma/develop' into gitignore-runtime-exs
Diffstat (limited to 'lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex')
-rw-r--r-- | lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex | 43 |
1 files changed, 17 insertions, 26 deletions
diff --git a/lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex b/lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex index cef299aa4..c611958be 100644 --- a/lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex @@ -133,34 +133,25 @@ defmodule Pleroma.Web.MastodonAPI.TimelineController do end defp hashtag_fetching(params, user, local_only) do - tags = + # Note: not sanitizing tag options at this stage (may be mix-cased, have duplicates etc.) + tags_any = [params[:tag], params[:any]] |> List.flatten() - |> Enum.uniq() - |> Enum.reject(&is_nil/1) - |> Enum.map(&String.downcase/1) - - tag_all = - params - |> Map.get(:all, []) - |> Enum.map(&String.downcase/1) - - tag_reject = - params - |> Map.get(:none, []) - |> Enum.map(&String.downcase/1) - - _activities = - params - |> Map.put(:type, "Create") - |> Map.put(:local_only, local_only) - |> Map.put(:blocking_user, user) - |> Map.put(:muting_user, user) - |> Map.put(:user, user) - |> Map.put(:tag, tags) - |> Map.put(:tag_all, tag_all) - |> Map.put(:tag_reject, tag_reject) - |> ActivityPub.fetch_public_activities() + |> Enum.filter(& &1) + + tag_all = Map.get(params, :all, []) + tag_reject = Map.get(params, :none, []) + + params + |> Map.put(:type, "Create") + |> Map.put(:local_only, local_only) + |> Map.put(:blocking_user, user) + |> Map.put(:muting_user, user) + |> Map.put(:user, user) + |> Map.put(:tag, tags_any) + |> Map.put(:tag_all, tag_all) + |> Map.put(:tag_reject, tag_reject) + |> ActivityPub.fetch_public_activities() end # GET /api/v1/timelines/tag/:tag |