aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-05-16 13:22:26 -0500
committerAlex Gleason <alex@alexgleason.me>2021-05-16 13:22:26 -0500
commit7ac4da8dd4471455c7d243983d0e1ca6fa32a14e (patch)
treee0bf3be13a4e23ae5e16d08d08287b26fea3e0b3 /lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex
parent230ad82dadf013cb56909d1e8df2a2d652c47068 (diff)
parent745375bdcf2679ff803dd4ebc4a8313a7b5fb157 (diff)
downloadpleroma-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.ex43
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