From 3414ab48c6b97cfd358472f0dc87b6d28387b4b4 Mon Sep 17 00:00:00 2001 From: default Date: Thu, 28 Dec 2023 09:26:08 +0100 Subject: [PATCH] In 'Follow', ensure the actor object to be followed is here. Due to the routing change made for the shared inboxes, local users are not in the data storage, so this fixes it. --- activitypub.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/activitypub.c b/activitypub.c index c6e4b26..2dd1358 100644 --- a/activitypub.c +++ b/activitypub.c @@ -1624,6 +1624,13 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req) if (strcmp(type, "Follow") == 0) { /** **/ if (!follower_check(snac, actor)) { + /* ensure the actor object is here */ + if (!object_here(actor)) { + xs *actor_obj = NULL; + actor_request(snac, actor, &actor_obj); + object_add(actor, actor_obj); + } + xs *f_msg = xs_dup(msg); xs *reply = msg_accept(snac, f_msg, actor);