projects
/
akkoma
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
44586f2
)
Show users their own posts in timeline.
author
lain
<lain@soykaf.club>
Sun, 18 Feb 2018 14:20:36 +0000
(15:20 +0100)
committer
lain
<lain@soykaf.club>
Sun, 18 Feb 2018 14:20:36 +0000
(15:20 +0100)
lib/pleroma/web/activity_pub/activity_pub.ex
patch
|
blob
|
history
lib/pleroma/web/common_api/utils.ex
patch
|
blob
|
history
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
patch
|
blob
|
history
lib/pleroma/web/twitter_api/twitter_api.ex
patch
|
blob
|
history
diff --git
a/lib/pleroma/web/activity_pub/activity_pub.ex
b/lib/pleroma/web/activity_pub/activity_pub.ex
index d171913f81e11ff440e3391af76fb6fd19ec33fd..406207f62826c574e40b03645d145a91719b5ffa 100644
(file)
--- a/
lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/
lib/pleroma/web/activity_pub/activity_pub.ex
@@
-151,11
+151,16
@@
defmodule Pleroma.Web.ActivityPub.ActivityPub do
end
defp restrict_tag(query, _), do: query
end
defp restrict_tag(query, _), do: query
- defp restrict_recipients(query, []), do: query
- defp restrict_recipients(query, recipients) do
+ defp restrict_recipients(query, []
, user
), do: query
+ defp restrict_recipients(query, recipients
, nil
) do
from activity in query,
where: fragment("? && ?", ^recipients, activity.recipients)
end
from activity in query,
where: fragment("? && ?", ^recipients, activity.recipients)
end
+ defp restrict_recipients(query, recipients, user) do
+ from activity in query,
+ where: fragment("? && ?", ^recipients, activity.recipients),
+ or_where: activity.actor == ^user.ap_id
+ end
defp restrict_local(query, %{"local_only" => true}) do
from activity in query, where: activity.local == true
defp restrict_local(query, %{"local_only" => true}) do
from activity in query, where: activity.local == true
@@
-216,7
+221,7
@@
defmodule Pleroma.Web.ActivityPub.ActivityPub do
order_by: [fragment("? desc nulls last", activity.id)]
base_query
order_by: [fragment("? desc nulls last", activity.id)]
base_query
- |> restrict_recipients(recipients)
+ |> restrict_recipients(recipients
, opts["user"]
)
|> restrict_tag(opts)
|> restrict_since(opts)
|> restrict_local(opts)
|> restrict_tag(opts)
|> restrict_since(opts)
|> restrict_local(opts)
diff --git
a/lib/pleroma/web/common_api/utils.ex
b/lib/pleroma/web/common_api/utils.ex
index ea95c134c8d47eca8bce41e5609a385ed6c8b690..75c63e5f418bc79ed8938e59d94cc0c3e08b9a1e 100644
(file)
--- a/
lib/pleroma/web/common_api/utils.ex
+++ b/
lib/pleroma/web/common_api/utils.ex
@@
-27,7
+27,7
@@
defmodule Pleroma.Web.CommonAPI.Utils do
def to_for_user_and_mentions(user, mentions, inReplyTo, "public") do
to = ["https://www.w3.org/ns/activitystreams#Public"]
def to_for_user_and_mentions(user, mentions, inReplyTo, "public") do
to = ["https://www.w3.org/ns/activitystreams#Public"]
- mentioned_users = Enum.map(mentions, fn ({_, %{ap_id: ap_id}}) -> ap_id end)
++ [user.ap_id]
+ mentioned_users = Enum.map(mentions, fn ({_, %{ap_id: ap_id}}) -> ap_id end)
cc = [user.follower_address | mentioned_users]
if inReplyTo do
{to, Enum.uniq([inReplyTo.data["actor"] | cc])}
cc = [user.follower_address | mentioned_users]
if inReplyTo do
{to, Enum.uniq([inReplyTo.data["actor"] | cc])}
@@
-47,7
+47,7
@@
defmodule Pleroma.Web.CommonAPI.Utils do
end
def to_for_user_and_mentions(user, mentions, inReplyTo, "direct") do
end
def to_for_user_and_mentions(user, mentions, inReplyTo, "direct") do
- mentioned_users = Enum.map(mentions, fn ({_, %{ap_id: ap_id}}) -> ap_id end)
++ [user.ap_id]
+ mentioned_users = Enum.map(mentions, fn ({_, %{ap_id: ap_id}}) -> ap_id end)
if inReplyTo do
{Enum.uniq([inReplyTo.data["actor"] | mentioned_users]), []}
else
if inReplyTo do
{Enum.uniq([inReplyTo.data["actor"] | mentioned_users]), []}
else
diff --git
a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
index e16a2a092aeea4a87242c6b1c7fc80c0c8ef7559..f52ac58de97971225ab259fde568c55821ccd410 100644
(file)
--- a/
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
+++ b/
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
@@
-150,6
+150,7
@@
defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
params = params
|> Map.put("type", ["Create", "Announce"])
|> Map.put("blocking_user", user)
params = params
|> Map.put("type", ["Create", "Announce"])
|> Map.put("blocking_user", user)
+ |> Map.put("user", user)
activities = ActivityPub.fetch_activities([user.ap_id | user.following], params)
|> Enum.reverse
activities = ActivityPub.fetch_activities([user.ap_id | user.following], params)
|> Enum.reverse
diff --git
a/lib/pleroma/web/twitter_api/twitter_api.ex
b/lib/pleroma/web/twitter_api/twitter_api.ex
index faecebde09170ede76e30e43166397ba09b28b29..57795edba66c7025108830d4cefd15bca945d0e4 100644
(file)
--- a/
lib/pleroma/web/twitter_api/twitter_api.ex
+++ b/
lib/pleroma/web/twitter_api/twitter_api.ex
@@
-13,7
+13,10
@@
defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
end
def fetch_friend_statuses(user, opts \\ %{}) do
end
def fetch_friend_statuses(user, opts \\ %{}) do
- opts = Map.put(opts, "blocking_user", user)
+ opts = opts
+ |> Map.put("blocking_user", user)
+ |> Map.put("user", user)
+
ActivityPub.fetch_activities([user.ap_id | user.following], opts)
|> activities_to_statuses(%{for: user})
end
ActivityPub.fetch_activities([user.ap_id | user.following], opts)
|> activities_to_statuses(%{for: user})
end