diff options
author | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2020-04-22 15:09:10 +0000 |
---|---|---|
committer | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2020-04-22 15:09:10 +0000 |
commit | 2e73c19edcea261953e2f47a337b77f810979e12 (patch) | |
tree | 3cde63fd73b0033b0152469e5d64dccacfe202e6 /lib | |
parent | 1cd38dfffa88384284a8ae0be39f52f25c544936 (diff) | |
parent | 923513b6417973f700a80ee969c6c92ed2c9faee (diff) | |
download | pleroma-2e73c19edcea261953e2f47a337b77f810979e12.tar.gz pleroma-2e73c19edcea261953e2f47a337b77f810979e12.zip |
Merge branch 'worker-messages' into 'develop'
Worker messages
Closes #1705
See merge request pleroma/pleroma!2410
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/federator/federator.ex | 13 | ||||
-rw-r--r-- | lib/pleroma/web/push/impl.ex | 3 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/pleroma/web/federator/federator.ex b/lib/pleroma/web/federator/federator.ex index fd904ef0a..f5803578d 100644 --- a/lib/pleroma/web/federator/federator.ex +++ b/lib/pleroma/web/federator/federator.ex @@ -72,19 +72,24 @@ defmodule Pleroma.Web.Federator do # actor shouldn't be acting on objects outside their own AP server. with {:ok, _user} <- ap_enabled_actor(params["actor"]), nil <- Activity.normalize(params["id"]), - :ok <- Containment.contain_origin_from_id(params["actor"], params), + {_, :ok} <- + {:correct_origin?, Containment.contain_origin_from_id(params["actor"], params)}, {:ok, activity} <- Transmogrifier.handle_incoming(params) do {:ok, activity} else + {:correct_origin?, _} -> + Logger.debug("Origin containment failure for #{params["id"]}") + {:error, :origin_containment_failed} + %Activity{} -> Logger.debug("Already had #{params["id"]}") - :error + {:error, :already_present} - _e -> + e -> # Just drop those for now Logger.debug("Unhandled activity") Logger.debug(Jason.encode!(params, pretty: true)) - :error + {:error, e} end end diff --git a/lib/pleroma/web/push/impl.ex b/lib/pleroma/web/push/impl.ex index f1740a6e0..a9f893f7b 100644 --- a/lib/pleroma/web/push/impl.ex +++ b/lib/pleroma/web/push/impl.ex @@ -55,11 +55,12 @@ defmodule Pleroma.Web.Push.Impl do |> Jason.encode!() |> push_message(build_sub(subscription), gcm_api_key, subscription) end + |> (&{:ok, &1}).() end def perform(_) do Logger.warn("Unknown notification type") - :error + {:error, :unknown_type} end @doc "Push message to web" |