From caf9493a00a62adf6d93ce29e938c8e72d4f8d74 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Thu, 29 Jul 2021 17:50:47 +0200 Subject: [PATCH] Various changes needed for AP refactor Signed-off-by: Thomas Citharel --- js/src/components/Participation/ParticipationSection.vue | 3 --- lib/federation/activity_pub/actor.ex | 6 +++++- lib/federation/activity_pub/utils.ex | 1 + test/support/factory.ex | 9 +++++++++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/js/src/components/Participation/ParticipationSection.vue b/js/src/components/Participation/ParticipationSection.vue index 5be6e1bf..31eaaf7b 100644 --- a/js/src/components/Participation/ParticipationSection.vue +++ b/js/src/components/Participation/ParticipationSection.vue @@ -192,9 +192,6 @@ export default class ParticipationSection extends Vue { if (this.event.draft || this.event.status === EventStatus.CANCELLED) return false; - // Organizer can't participate - if (this.actorIsOrganizer) return false; - // If capacity is OK if (this.eventCapacityOK) return true; diff --git a/lib/federation/activity_pub/actor.ex b/lib/federation/activity_pub/actor.ex index e5e12393..3ac28f57 100644 --- a/lib/federation/activity_pub/actor.ex +++ b/lib/federation/activity_pub/actor.ex @@ -55,6 +55,10 @@ defmodule Mobilizon.Federation.ActivityPub.Actor do {:error, "Can't make a local actor from URL"} else case Fetcher.fetch_and_prepare_actor_from_url(url) do + # Just in case + {:ok, {:error, _e}} -> + raise ArgumentError, message: "Failed to make actor from url #{url}" + {:ok, data} -> Actors.upsert_actor(data, preload) @@ -67,7 +71,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actor do {:error, :http_error} {:error, e} -> - Logger.warn("Failed to make actor from url") + Logger.warn("Failed to make actor from url #{url}") {:error, e} end end diff --git a/lib/federation/activity_pub/utils.ex b/lib/federation/activity_pub/utils.ex index f4742adc..9305f3b6 100644 --- a/lib/federation/activity_pub/utils.ex +++ b/lib/federation/activity_pub/utils.ex @@ -476,6 +476,7 @@ defmodule Mobilizon.Federation.ActivityPub.Utils do "type" => "Update", "to" => object["to"], "cc" => object["cc"], + "attributedTo" => object["attributedTo"] || object["actor"], "actor" => object["actor"], "object" => object, "id" => object["id"] <> "/activity" diff --git a/test/support/factory.ex b/test/support/factory.ex index 585376cb..a450f11d 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -158,6 +158,7 @@ defmodule Mobilizon.Factory do deleted_at: nil, tags: build_list(3, :tag), in_reply_to_comment: nil, + origin_comment: nil, is_announcement: false, published_at: DateTime.utc_now(), url: Routes.page_url(Endpoint, :comment, uuid) @@ -450,4 +451,12 @@ defmodule Mobilizon.Factory do user: build(:user) } end + + def share_factory do + %Mobilizon.Share{ + actor: build(:actor), + owner_actor: build(:actor), + uri: sequence("https://someshare.uri/p/12") + } + end end