TL;DR: Any of you who are more familiar with Fediverse platforms that aren’t Lemmy/Piefed, can you let me know what the AP_IDs look like for users, posts, comments, and, if applicable, communities?
So, I’ve rewritten the search / search boxes in Tesseract to skip the search and directly resolve activity pub URLs for users, posts, comments, and communities. I’m loving this as it makes things so much faster and easier.
To make that work, and reduce false positives/negatives, I have to do some pre-flight checks on the URL that’s submitted to the search.
Currently, it checks if the domain is to a known federated instance and looks for specific paths in the URL. If it detects the URL is an AP_ID URL, it will only resolve the object and redirect you to it (skipping the lengthy search step). For false negatives, it will pass it to the regular search but still try a federated lookup along with the search.
For Lemmy and Piefed, those are:
/u/
for users/c/
for communities/post/
for posts/comment/
for comments.
For Mbin, I think it’s the same except it uses /m/
for communities (they call them “magazines” I believe).
I think mastoon uses /user
or maybe /username/
in the AP identifiers?
Any of you who are more familiar with Fediverse platforms that aren’t Lemmy/Piefed, can you let me know what the AP_IDs look like for users, posts, comments, and, if applicable, communities?
From my own experience querying public mastodon timelines via API (edit: removed incorrect
/api/v1
s in the AP_IDs):- Mastodon user accounts have an ActivityPub URI of
https://<instance.domain.tld>/users/<username>
- Mastodon posts have an ActivityPub URI of
https://<instance.domain.tld>/users/<post_author_username>/statuses/<post_id>
(they also have aurl
property ofhttps://<instance.domain.tld>/@<post_author_username>/<post_id>
but that tends to serve the html view of the post)
To see for yourself, pick an instance that allows viewing their public timeline without logging in (
mastodon.social
is perfect for this) and follow the “Playing with public data” section of the docs. That page ellides most of the info you’re looking for in the example payloads they give (as the JSON payloads themself are quite large and nested), but I can assure you that AP_IDs for user accounts and posts can be found pretty quickly from a single timeline query.I don’t think Mastodon has any notion of community, nor does it distinguish between posts and comments (when following a lemmy community, both posts and comments show up in my masto feed as “top-level” statuses (ie posts)).
- Mastodon user accounts have an ActivityPub URI of