use proper workers for fetching pins instead of an ad-hoc task #788

Merged
floatingghost merged 8 commits from post-fetching-when-invalid-user into develop 2024-05-31 08:58:52 +00:00
2 changed files with 3 additions and 4 deletions
Showing only changes of commit 0e1448791c - Show all commits

View file

@ -1827,7 +1827,7 @@ def fetch_and_prepare_featured_from_ap_id(ap_id) do
def enqueue_pin_fetches(%{pinned_objects: pins}) do
# enqueue a task to fetch all pinned objects
Enum.each(pins, fn {ap_id, _} ->
unless %{} = Object.get_cached_by_ap_id(ap_id) do
if is_nil(Object.get_cached_by_ap_id(ap_id)) do
Pleroma.Workers.RemoteFetcherWorker.enqueue("fetch_remote", %{
"id" => ap_id,
"depth" => 1

View file

@ -325,9 +325,7 @@ test "fetches user featured collection" do
body: featured_data,
headers: [{"content-type", "application/activity+json"}]
}
end)
Tesla.Mock.mock_global(fn
%{
method: :get,
url: ^object_url
@ -340,7 +338,8 @@ test "fetches user featured collection" do
end)
{:ok, user} = ActivityPub.make_user_from_ap_id(ap_id)
Process.sleep(50)
# wait for oban
Pleroma.Tests.ObanHelpers.perform_all()
assert user.featured_address == featured_url
assert Map.has_key?(user.pinned_objects, object_url)