summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>2024-04-17 07:37:41 +0200
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>2024-04-17 07:43:47 +0200
commita299ddb10e5b682194710d97eed541277c9d22b6 (patch)
treea49e7cbf5fc0e21d0519b80e2c5d211395885493
parentd80e0d6873a61159a68b337d7f42f46cbdad8e9d (diff)
downloadpleroma-a299ddb10e5b682194710d97eed541277c9d22b6.tar.gz
pleroma-a299ddb10e5b682194710d97eed541277c9d22b6.zip
ReceiverWorker: Make sure non-{:ok, _} is returned as {:error, …}
Otherwise an error like `{:signature, {:error, {:error, :not_found}}}` ends up considered a success.
-rw-r--r--changelog.d/receiverworker-error-handling.fix1
-rw-r--r--lib/pleroma/workers/receiver_worker.ex3
2 files changed, 3 insertions, 1 deletions
diff --git a/changelog.d/receiverworker-error-handling.fix b/changelog.d/receiverworker-error-handling.fix
new file mode 100644
index 000000000..f017a2bba
--- /dev/null
+++ b/changelog.d/receiverworker-error-handling.fix
@@ -0,0 +1 @@
+ReceiverWorker: Make sure non-{:ok, _} is returned as {:error, …} \ No newline at end of file
diff --git a/lib/pleroma/workers/receiver_worker.ex b/lib/pleroma/workers/receiver_worker.ex
index 1dddd8d2e..8b2052c23 100644
--- a/lib/pleroma/workers/receiver_worker.ex
+++ b/lib/pleroma/workers/receiver_worker.ex
@@ -52,7 +52,8 @@ defmodule Pleroma.Workers.ReceiverWorker do
{:error, {:reject, reason}} -> {:cancel, reason}
{:signature, false} -> {:cancel, :invalid_signature}
{:error, {:error, reason = "Object has been deleted"}} -> {:cancel, reason}
- e -> e
+ {:error, _} = e -> e
+ e -> {:error, e}
end
end
end