projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Undoing: Move undoing announcements to the pipeline everywhere.
[akkoma]
/
lib
/
pleroma
/
user.ex
diff --git
a/lib/pleroma/user.ex
b/lib/pleroma/user.ex
index 99358ddafbc2444dc29c00cbed795c568648fa4e..aa675a521f68713449715248f4b7b3be145bbf86 100644
(file)
--- a/
lib/pleroma/user.ex
+++ b/
lib/pleroma/user.ex
@@
-29,7
+29,9
@@
defmodule Pleroma.User do
alias Pleroma.UserRelationship
alias Pleroma.Web
alias Pleroma.Web.ActivityPub.ActivityPub
alias Pleroma.UserRelationship
alias Pleroma.Web
alias Pleroma.Web.ActivityPub.ActivityPub
+ alias Pleroma.Web.ActivityPub.Builder
alias Pleroma.Web.ActivityPub.ObjectValidators.Types
alias Pleroma.Web.ActivityPub.ObjectValidators.Types
+ alias Pleroma.Web.ActivityPub.Pipeline
alias Pleroma.Web.ActivityPub.Utils
alias Pleroma.Web.CommonAPI
alias Pleroma.Web.CommonAPI.Utils, as: CommonUtils
alias Pleroma.Web.ActivityPub.Utils
alias Pleroma.Web.CommonAPI
alias Pleroma.Web.CommonAPI.Utils, as: CommonUtils
@@
-1552,20
+1554,14
@@
defmodule Pleroma.User do
|> ActivityPub.delete()
end
|> ActivityPub.delete()
end
- defp delete_activity(%{data: %{"type" => "Like"}} = activity) do
- object = Object.normalize(activity)
+ defp delete_activity(%{data: %{"type" => type}} = activity) when type in ["Like", "Announce"] do
+ actor =
+ activity.actor
+ |> get_cached_by_ap_id()
- activity.actor
- |> get_cached_by_ap_id()
- |> ActivityPub.unlike(object)
- end
-
- defp delete_activity(%{data: %{"type" => "Announce"}} = activity) do
- object = Object.normalize(activity)
+ {:ok, undo, _} = Builder.undo(actor, activity)
- activity.actor
- |> get_cached_by_ap_id()
- |> ActivityPub.unannounce(object)
+ Pipeline.common_pipeline(undo, local: true)
end
defp delete_activity(_activity), do: "Doing nothing"
end
defp delete_activity(_activity), do: "Doing nothing"