[Bug]: ActivityPub user outbox returns no items
Requirements
- [X] Is this a bug report? For questions or discussions use https://lemmy.ml/c/lemmy_support
- [X] Did you check to see if this issue already exists?
- [X] Is this only a single bug? Do not put multiple bugs in one issue.
- [X] Is this a UI / front end issue? Use the lemmy-ui repo.
Summary
I was checking out the different ActivityPub endpoints that Lemmy provides. And while not using specifically, I noticed that the outbox for users doesn't return any items.
Steps to Reproduce
GETthe outbox AP endpoint of any user who has posted content withAcceptheader set toapplication/ld+json- Verify there are no returned items
Technical Details
N/A
Version
0.17.4
Lemmy Instance URL
No response
Not a bug, the user outbox is only implemented as an empty placehoder for now.
The idea behind ActivityPub is to allow a user's content to be followed from other fediverse apps. If there's content to follow, but it's not included in an outbox, that definitely seems like a bug imo. Lemmy's API page for the User says the User actor "Can be followed from other platforms". That's technically not true if the user's content doesn't appear in its outbox.
Whether this is classified as a bug or a feature, at the very least the API page should be clear about this being expected behavior. So if it's a placeholder, it would be great if that's communicated on the docs.
You can follow the user just fine by sending a Follow activity, the outbox is unrelated to that.
Not sure what you mean, I realize you can send Follow activity. Are you saying a Follow request is required to see a user's public posts? 5.1 Outbox of the AP spec says (emphasis mine):
The outbox stream contains activities the user has published, subject to the ability of the requestor to retrieve the activity (that is, the contents of the outbox are filtered by the permissions of the person reading it). If a user submits a request without Authorization the server should respond with all of the Public posts.
Fediverse apps shouldn't have to send a Follow request to see a user's public posts.
It says should, not must. So Lemmy is in compliance with the spec as long as outbox is an OrderedCollection.
This issue was created to point out an issue--not focus on non-compliance. If there are actually public posts and Lemmy returns 0 for outbox, that's a bug that should be fixed.
My organization may just have to fork the repository and fix it there. The whole idea behind the fediverse is to make fedi apps compatible with one another. There's no way apps can work if we have applications that refuse to integrate.