projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge search endpoint into /users
[akkoma]
/
lib
/
pleroma
/
web
/
federator
/
federator.ex
diff --git
a/lib/pleroma/web/federator/federator.ex
b/lib/pleroma/web/federator/federator.ex
index 4d03b462285bdde3c63b8757bae398f903c47039..fbfe97dbc7a79640071cfd2de5e6496b6fe4c762 100644
(file)
--- a/
lib/pleroma/web/federator/federator.ex
+++ b/
lib/pleroma/web/federator/federator.ex
@@
-3,16
+3,20
@@
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.Federator do
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.Federator do
- alias Pleroma.User
alias Pleroma.Activity
alias Pleroma.Activity
- alias Pleroma.Jobs
- alias Pleroma.Web.{WebFinger, Websub}
- alias Pleroma.Web.Federator.RetryQueue
+ alias Pleroma.User
+ alias Pleroma.Web.WebFinger
+ alias Pleroma.Web.Websub
+ alias Pleroma.Web.Salmon
alias Pleroma.Web.ActivityPub.ActivityPub
alias Pleroma.Web.ActivityPub.ActivityPub
+ alias Pleroma.Web.ActivityPub.Visibility
alias Pleroma.Web.ActivityPub.Relay
alias Pleroma.Web.ActivityPub.Transmogrifier
alias Pleroma.Web.ActivityPub.Utils
alias Pleroma.Web.ActivityPub.Relay
alias Pleroma.Web.ActivityPub.Transmogrifier
alias Pleroma.Web.ActivityPub.Utils
+ alias Pleroma.Web.Federator.RetryQueue
alias Pleroma.Web.OStatus
alias Pleroma.Web.OStatus
+ alias Pleroma.Jobs
+
require Logger
@websub Application.get_env(:pleroma, :websub)
require Logger
@websub Application.get_env(:pleroma, :websub)
@@
-35,27
+39,31
@@
defmodule Pleroma.Web.Federator do
end
def publish(activity, priority \\ 1) do
end
def publish(activity, priority \\ 1) do
- Jobs.enqueue(:federator_out, __MODULE__, [:publish, activity], priority)
+ Jobs.enqueue(:federator_out
going
, __MODULE__, [:publish, activity], priority)
end
def publish_single_ap(params) do
end
def publish_single_ap(params) do
- Jobs.enqueue(:federator_out, __MODULE__, [:publish_single_ap, params])
+ Jobs.enqueue(:federator_out
going
, __MODULE__, [:publish_single_ap, params])
end
def publish_single_websub(websub) do
end
def publish_single_websub(websub) do
- Jobs.enqueue(:federator_out, __MODULE__, [:publish_single_websub, websub])
+ Jobs.enqueue(:federator_out
going
, __MODULE__, [:publish_single_websub, websub])
end
def verify_websub(websub) do
end
def verify_websub(websub) do
- Jobs.enqueue(:federator_out, __MODULE__, [:verify_websub, websub])
+ Jobs.enqueue(:federator_out
going
, __MODULE__, [:verify_websub, websub])
end
def request_subscription(sub) do
end
def request_subscription(sub) do
- Jobs.enqueue(:federator_out, __MODULE__, [:request_subscription, sub])
+ Jobs.enqueue(:federator_out
going
, __MODULE__, [:request_subscription, sub])
end
def refresh_subscriptions() do
end
def refresh_subscriptions() do
- Jobs.enqueue(:federator_out, __MODULE__, [:refresh_subscriptions])
+ Jobs.enqueue(:federator_outgoing, __MODULE__, [:refresh_subscriptions])
+ end
+
+ def publish_single_salmon(params) do
+ Jobs.enqueue(:federator_outgoing, __MODULE__, [:publish_single_salmon, params])
end
# Job Worker Callbacks
end
# Job Worker Callbacks
@@
-87,7
+95,7
@@
defmodule Pleroma.Web.Federator do
with actor when not is_nil(actor) <- User.get_cached_by_ap_id(activity.data["actor"]) do
{:ok, actor} = WebFinger.ensure_keys_present(actor)
with actor when not is_nil(actor) <- User.get_cached_by_ap_id(activity.data["actor"]) do
{:ok, actor} = WebFinger.ensure_keys_present(actor)
- if
ActivityPub
.is_public?(activity) do
+ if
Visibility
.is_public?(activity) do
if OStatus.is_representable?(activity) do
Logger.info(fn -> "Sending #{activity.data["id"]} out via WebSub" end)
Websub.publish(Pleroma.Web.OStatus.feed_path(actor), actor, activity)
if OStatus.is_representable?(activity) do
Logger.info(fn -> "Sending #{activity.data["id"]} out via WebSub" end)
Websub.publish(Pleroma.Web.OStatus.feed_path(actor), actor, activity)
@@
-145,6
+153,10
@@
defmodule Pleroma.Web.Federator do
end
end
end
end
+ def perform(:publish_single_salmon, params) do
+ Salmon.send_to_user(params)
+ end
+
def perform(:publish_single_ap, params) do
case ActivityPub.publish_one(params) do
{:ok, _} ->
def perform(:publish_single_ap, params) do
case ActivityPub.publish_one(params) do
{:ok, _} ->