It looks like there will be issues with non-Latin usernames in Article mode. Looks like the username needs to be encoded?
@angus @infodesk@oxygen.offdem.net
should have posted a few ones since the initial post, but they do not seem to appear at all in my timeline, without any error on the Discourse.
A couple of days ago I used a shared draft before posting, but the message did not appear in Mastodon. So I thought it would be related to a bug with shared drafts, and today I posted directly to a new topic, but although the post was supposed to be sent to the Fediverse at 13:18 CET, nothing appears â so not boostable.
Plugin version
eee34494
Error log
Finally appeared: https://oxygen.offdem.net/logs/show/c6449d732e8e9b866bf07935e8132744
(Note that a fix that would resend the latest posts would be awesome)
Latest announcements
Category settings
The ActivityPub plugin has a robust logging system that will pick up most issues. First, make sure youâve got verbose logging turned on for the plugin.
Whatâs the publication status of this post? (i.e. share a screenshot of the modal that appears when you click the AP icon on the post)
I assume the publication status is âpublishedâ (i.e. the icon is green)? If you had verbose logging on could you share what was logged when this was published? (something would have been logged).
Thank you @angus, the error log is in my previous post:
Here is the postâs status:
You can see the topic here: OâFFDEM programme is out! - Announcements - OFFDEM
Thanks for the further detail.
Only admins can view logs on an instance
Could you copy the relevant logs in a PM to me? Thanks.
Hi folks, thanks so much for the excellent work youâve done to get this concept to this point!! I began following the discussions to implement federation in Discourse many years ago now, and Iâm happy to see this moving so far along.
Iâve successfully managed to federate my Discourse category by following it with my account on Mastodon. New topics in my category are available to view from my Mastodon account.
I donât seem to be receiving Mastodon replies to my federated Discourse topics in Discourse, but top-level Toots from my followed Mastodon account seem to appear as new topics just fine. Is this presently the expected behavior?
I read through this thread and I donât think that I explicitly saw anything about federating replies to topics.
Here is a screenshot of my category ActivityPub settings.
Is this at all related to the security settings for the category? Right now I have it that everyone can see topics, but only admins can create and reply to them.
Thank you!
Hey @rsmithlal, thanks for trying out the plugin, and for your detailed feedback!
Yes, this is the reason why replies to the toots are not being imported. Just so I understand, youâre expecting that:
- Users cannot reply to a Discourse topic in Discourse.
- Users can reply to a Discourse topic in Mastodon.
Is that right? If so, thatâs not currently supported. But I take the point that itâs not yet entirely clear how the category security settings are meant to interact with ActivityPub. We hope to address that more explicitly in the next phase of work.
Hi @angus, does that mean that toot replies to Discourse topics that have been federated should show up in the federated topic as Discourse replies under the correct configuration?
For example:
- Letâs say that I create a new topic âMy First Federated Topicâ on my Discourse instance Discourse1.server in a federated category âMy Federated Categoryâ.
- This new topic gets federated and appears as a toot from fed-cat@discourse1.server in the feed of my Mastodon account rob@mastodon1.server which follows âMy Federated Category, fed-cat@discourse1.serverâ.
- I create a reply toot on Mastodon1.server to the federated note containing the contents of âMy First Federated Topicâ originally federated by Discourse1.server.
In this case, I would expect that my Mastodon toot reply to this federated Discourse topic should appear as a reply on the original âMy First Federated Topicâ topic at Discourse1.server.
This would be the ideal case for me, but I havenât been able to achieve it yet. Is it presently possible?
If this is possible, what are the configuration settings that would permit it to function as expected?
Thank you kindly. I hope my explanation was clear!
Main category has ActivePub enabled and I created sub-category with ActivePub too. But when I try to follow someone thru sub-category clicking button follows
I get boring not found/nor allowed error page. Main categories work just fine, though.
There is no fancy or strange things done on settings.
Expecting behaviour or bugâish?
@rsmithlal Yes, what youâve described is how the âFull Topicâ publication type is intended to work. The only change you need to make is to allow normal users to reply in the category (in the category access settings). The reason itâs not working for you is because youâve restricted replies to admins. Replies imported by ActivityPub cannot override that restriction.
Generally speaking sub-categories do not inherit the configuration of parent categories, and ActivityPub is no different in this respect. ActivityPub settings are category-specific and there is no inheritance (yet). That said, what youâve described is a UX issue which Iâll address soon, i.e. the ActivityPub controls should not appear when youâre looking specifically at a sub-category.
Thank you, @angus, I will give that a try. Very exciting!!
I had mostly restricted replies because it was just a test category and topic. I initially had it private to admins, but I couldnât get ActivityPub to activate at all until I opened it up to being visible to everyone. This has been a very insightful exchange.
@Jagster The issue youâve described will be fixed once this is merged. Thanks for reporting it.
Problem
Hello, we are testing this plugin at agora.eXO.cat and we canât get it to work (status on discourseâs web says âNote was not published via ActivityPubâ, other fediverse apps do not find the actor)
Is there anything particular we should be aware of? Checking the documentation didnât point to anything particular troubleshooting we can follow and the logs (see below) do not help us further :-(.
Setup
Plugin version: 79da1c2
We are using a public subcategory, which we want to publish to the fediverse.
The settings are straightforward, nothing changed except for:
- schedule time down to 1 minute for testing
- picking actor name and display name for the category
Some things we have tried:
- Enable âactivity pub object loggingâ and check logs
- Patching out the line that produced the error, since it gave us âchicken and eggâ vives (âmaybe canât schedule post because no recipients, will not create actor until post is createdâ)
tested patch
> ./launcher enter app
> sed -i.orig -E 's!^(.*no recip.*)$!#\1!' /var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb
> ./launcher restart app
- When that patch didnât work, we got rid of it
- Deleting and re-creating the category so there are no âspecialâ characters anywhere (the word is actually exofĂ sia, which we want to spell: eXOfĂ sia)
- When recreating the category, use
Note
(default) instead ofArticle
(what we want)
logs
Here is what we see on the logs
Message
[Discourse Activity Pub] https://agora.exo.cat/ap/actor/31cb67a1093eca932caaf1e764814bde failed to schedule https://agora.exo.cat/ap/activity/803be329c95f67b5ab62d43c7c61f6f3 for delivery: no recipients
Backtrace
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:93:in `log_failure'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:35:in `can_deliver?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:13:in `perform'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in `perform'
/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:140:in `activity_pub_deliver_activity'
/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:38:in `perform_activity_pub_activity'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:473:in `block (2 levels) in activate!'
/var/www/discourse/lib/plugin/instance.rb:341:in `public_send'
/var/www/discourse/lib/plugin/instance.rb:341:in `block (2 levels) in add_to_class'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:654:in `block (2 levels) in activate!'
Env
HTTP HOSTS: agora.exo.cat
The error is consistent when republishing from the interface
Message
[Discourse Activity Pub] https://agora.exo.cat/ap/actor/31cb67a1093eca932caaf1e764814bde failed to schedule https://agora.exo.cat/ap/activity/30d34f8b38be0d2d5bc997fd4147c5b2 for delivery: no recipients
Backtrace
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:93:in `log_failure'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:35:in `can_deliver?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:13:in `perform'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in `perform'
/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:140:in `activity_pub_deliver_activity'
/var/www/discourse/plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:38:in `perform_activity_pub_activity'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:473:in `block (2 levels) in activate!'
/var/www/discourse/lib/plugin/instance.rb:341:in `public_send'
/var/www/discourse/lib/plugin/instance.rb:341:in `block (2 levels) in add_to_class'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:481:in `block (2 levels) in activate!'
Env
HTTP HOSTS: agora.exo.cat
Webfinger
And what a webfinger returns:
> curl -L 'https://agora.eXO.cat/.well-known/webfinger?resource=acct:exofasia@agora.exo.cat'
{"subject":"acct:exofasia@agora.exo.cat","aliases":["https://agora.exo.cat/c/exo/exofasia/33"],"links":[{"rel":"self","type":"application/activity+json","href":"https://agora.exo.cat/ap/actor/31cb67a1093eca932caaf1e764814bde"}]}
Hey there @evilham, the message youâre seeing is logged when the Actor has no followers (no activities will be published). Is anyone following the actor?
Note that the only actor that can be followed currently is the Category actor (i.e. the Group actor). That Actor is created as soon as you enable ActivityPub in a category (and hence does not cause a chicken and egg issue). You canât follow user actors (i.e. Persons) at the moment.
Hey, the issue is precisely that the actor canât be found (try yourself: exofasia@agora.exo.cat
):
By checking last night here in more detail, I saw that we are not the first instance to bump against this:
So, maybe the log entry is entirely unrelated, but it is the only one we have >,<, so the only clue we had to follow.
The post itself stays with a disconnected from fediverse icon and this text:
Any attempts to schedule publishing the post result in the log we mentioned, and nothing else.
The category claims to be properly configured (as mentioned, nothing was changed):
And the category is fully public.
I just successfully followed that actor from my local instance.
I found it successfully.
Then successfully sent a Follow and received an Accept.
If you refresh the âFollowersâ list on your instance youâll now see a follow from general@angus.ngrok.io
.
I suspect the issue youâre having is that you have HTTP signatures set as required
and the client youâre using to follow doesnât support and / or send an appropriate HTTP signature. That is perhaps the issue @Lhc_fl was having as well.
Oh, thatâs quite interesting, can confirm that the follow appears!
Indeed, as this was the default and we changed as little as needed.
We tried several clients, chiefly Mastodon and Pleroma.
Following the HTTP signatures required hint, we disabled that (aka: changed the default), then tried re-scheduling the post, this time with a positive result (possibly the difference is because there is 1 follower?):
OTOH, at least Mastodon keeps showing a 404 when searching for the profile, so the main goal (following the category from other fediverse apps) is still not being fulfilled.
Is there anything else we can look into? to facilitate that?
Oh wow, I donât get it, before last post I tried from two different Mastodon servers, one of which I had never used before, and the result was a 404 on the profile on both of them.
Will check again in the afternoon, but any pointers as to why the view could be inconsistent or what we can try would be great.