ActivityPub Plugin

When you delete an AP post on Discourse we send out a Delete for the content to Mastodon. It’s up to them to process it. That should be working, so if you can show me some specific examples I can try to see where the delete flow is not working as expected (i.e. whether it’s on Discourse or Mastodon’s side).

The reason this is the case is because Mastodon does not currently allow handles to change. This is the root cause of the issue you’re experiencing. I have been advocating for this to be the case for some time and have an outstanding PR for Mastodon. When that gets merged you’ll be able to resolve this by changing the handle in Discourse.

The utility of disabling a handle is that no incoming content to that handle will be processed and it will not send out any new content. It’s up to the other platforms what they do with your existing content, including how they process a Delete activity we send them.

Understood. We may add this in the future.

2 Likes

Thats the handle and it’s disabled and not active: uebergabe@community.uebergabe.de

Now I understand… I made some test-postings and he did not use “uebergabe@community.uebergabe.de”, it used “christian@community.uebergabe.de” to post it. But I never created this Actor on Discourse.
Hm.

That is expected if the “Full Post” setting is on (which it must be in your case). The content is posted under the name of the user’s Actor (i.e. you in this case). If you want to post under the name of the category actor you should use “First Post”. In that case only the first post of each topic is published. You can see an example of the “First Post” approach in this video:

3 Likes

Yes, thats the case. Thanks for helping me. Of course I’ve seen the videos and it made some things very clear to me and helped to configure it. Thanks for that!
So of course I can’t delete these created handles I never created actively.

When I think about it, I do not feel well about it… When everyone is using it like me, there are tons of content snippets from persons which can never be deleted. It’s filling up the internet with less sense, or am I not right with it?

Not your fault, just try to understand what will happen, if everyone is dumb as me and fills up the internet with test-postings, that are never be deleted :smiley:

You can delete the posts though. When you delete a post, Discourse sends out a Delete to Mastodon and Mastodon should delete its copy. If that didn’t work, try restoring the post and deleting it again. Check the logs when you do this.

As I said, you should be able to delete the posts themselves, but besides that I honestly wouldn’t worry about it too much. Mastodon is a stream-based platform. Your test posts will quickly get lost in the stream of content. Moreover was anyone else (besides you) actually following your actor at the time? I have hundreds of test posts in the fediverse and it’s had no impact at all :slight_smile:

But let me know how you go trying to delete the posts.

3 Likes

I restored the posts and deleted them again.
They are visible on Mastodon. Whwn i Click, it refers me to the deleted post on discourse.

Why niche?

Of the Discourse communities I participate in, I can think of only three where I would want to follow some categories, but would not want to follow the Application actor for the entire Discourse.

I have an RSS reader, and I follow whole sites via RSS; ActivityPub would be a better experience, particularly for responding.

Is the Application actor difficult or merely low priority?

Following an entire instance means you’re getting every single post on that instance appear in your mastodon feed as one continuous stream. Unless the instance doesn’t have much activity, I would wager that’s going to be a niche use case. Perhaps I’ll be proven wrong, but just on the face of it, it seems implausible to me that’s going to be popular.

Did you have a look at the logs? Let’s confirm we’re sending the delete activity to Mastodon.

1 Like

There is, I think, a really long tail of low-traffic-but-definitely-active Discourse instances that still have multiple categories. Obviously meta isn’t one of these small instances. :grin: But of the three Discourse instances that I personally administer, one has such high traffic that I wouldn’t even put many of its categories into my Mastodon feed, and two have sufficient low rates of traffic that I’d definitely prefer to follow the whole site. There are others of which I’m a member where I’d also follow the whole site if I had the option.

Not asking you to change priorities here. Just sharing the alternative perspective.

5 Likes

Is this supposed to be active and functioning on Meta?

Visiting https://meta.discourse.org/ap/object/617cb9558f3f81a3eb7dbe9ec0ffb79d gives me a “bad request” and the post can’t be fetched from my instance.

Human browser requests to a AP object should be redirected to the human view (Preparing your community for behind-the-scenes header changes).

Yup, for example in the topic you linked.

That’s a “feature” (of sorts) you see in some AP platforms. I’d note that the ActivityPub spec provides:

The HTTP GET method may be dereferenced against an object’s id property to retrieve the activity. Servers MAY use HTTP content negotiation as defined in [RFC7231] to select the type of data to return in response to a request, but MUST present the ActivityStreams object representation in response to application/ld+json; profile="https://www.w3.org/ns/activitystreams" , and SHOULD also present the ActivityStreams representation in response to application/activity+json as well. The client MUST specify an Accept header with the application/ld+json; profile="https://www.w3.org/ns/activitystreams" media type in order to retrieve the activity.

See also “Serialization” in Activity Streams 2.0.

The AP plugin currently requires you to send an Accept header with either “application/ld+json” or “application/activity+json” to retrieve any object (i.e. Activity, Note etc). We may support what you’re referring to in the future, but it’s somewhat of a “power user” feature of specific platforms.

1 Like

When I’m viewing a post in my client, there’s a prominent button Share :arrow_right: Open in browser that opens the object URL :slight_smile:

The fetch error page:

Do you want me to ask my admin for logs relating to the fetch?

I see! What client are you using?

Object ids are not really meant to be used as sharable/copiable URLs by an end user in a client. We make it available in the ActivityPub status modal for development/debugging purposes. Your client should be using the url attribute which we serialize on the object. For example if you visit the topic you linked to on mastodon.social (here) and click “Copy link to status” in the toot menu you’ll find it’s a direct link to the topic on meta. Standard Mastodon uses the object url for the purpose of, well, sharing the url :slight_smile:

It will be because the Accept header is not being set. I am open to tweaking things (i.e. resolving object id requests with the wrong headers to the connected model url), but at the moment I think the folks making your client may need to bring it up to spec (i.e. use the object url instead of the object id as a user-facing URL).

I’ve been following @feature@meta.discourse.org and @announcements@meta.discourse.org in Mastodon since very shortly after they were announced, and I quickly quit getting updates. I thought it was because the plugin was removed from meta, shrugged, and moved on.

But if it’s actually still active, then I’m wondering what the problem federating with social.makerforums.info is. :thinking:

The server is Mastodon (glitch-soc). I asked the admin if they had any relevant logs.

I don’t see you in the followers list of either category:

There were a lot of changes early on in the life of the plugin, so apologies if one of those changes removed your follow. Please try following again and see how you go.

Is it a fork of glitch-soc? I don’t see the share modal you’ve screenshotted in their code. But yes, happy to work with your server admin to clarify things further if need be.

I have un-followed and re-followed from the Mastodon side, and I’ll see whether that changes my feed.

However, I see an inconsistency. The follower list displays show the wrong handle for me, missing the social. in the domain.

image

The links show https://social.makerforums.info/users/mcdanlj which correctly includes the domain, but someone who tried to enter what they see in this follower list in order to search for me or follow me would fail.

I haven’t found anywhere on the Mastodon side that trims the subdomain.

Good catch @mcdanlj. I’ll investigate that soon. Thanks.

3 Likes

I just upgraded from 3.3.0.beta4 to latest Discourse 3.3.0.beta5-dev together with ActivityPub plugin Allow changes of post owner on unpublished local topics (#109) · discourse/discourse-activity-pub@3a6512d · GitHub.

Although the plugin is set as active, the setting options in the categories are gone. ??

1 Like

The settings have been moved into the admins > plugins UI. Try under /admin/plugins/ap/actor.

4 Likes