A small tool to view real-world ActivityPub objects as JSON! Enter a URL
or username from Mastodon or a similar service below, and we'll send a
request with
the right
Accept
header
to the server to view the underlying object.
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"ostatus": "http://ostatus.org#",
"atomUri": "ostatus:atomUri",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"conversation": "ostatus:conversation",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#",
"votersCount": "toot:votersCount",
"Hashtag": "as:Hashtag",
"Emoji": "toot:Emoji",
"focalPoint": {
"@container": "@list",
"@id": "toot:focalPoint"
}
}
],
"id": "https://metalhead.club/users/mariusor/outbox?min_id=0&page=true",
"type": "OrderedCollectionPage",
"next": "https://metalhead.club/users/mariusor/outbox?max_id=101211445698393677&page=true",
"prev": "https://metalhead.club/users/mariusor/outbox?min_id=101240865708415687&page=true",
"partOf": "https://metalhead.club/users/mariusor/outbox",
"orderedItems": [
{
"id": "https://metalhead.club/users/mariusor/statuses/101240865708415687/activity",
"type": "Announce",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-14T18:43:34Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://writing.exchange/users/matt",
"https://metalhead.club/users/mariusor/followers"
],
"object": "https://writing.exchange/users/matt/statuses/101240509816608932"
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101239681134316918/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-14T13:42:19Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101239681134316918",
"type": "Note",
"summary": null,
"inReplyTo": null,
"published": "2018-12-14T13:42:19Z",
"url": "https://metalhead.club/@mariusor/101239681134316918",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101239681134316918",
"inReplyToAtomUri": null,
"conversation": "tag:mastodon.technology,2018-12-14:objectId=11348101:objectType=Conversation",
"content": "<p>@cj@mastodon.technology come on man, who doesn't like a surprise dick pick in their inbox once in a while.</p>",
"contentMap": {
"en": "<p>@cj@mastodon.technology come on man, who doesn't like a surprise dick pick in their inbox once in a while.</p>"
},
"attachment": [],
"tag": [],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101239681134316918/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101239681134316918/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101239681134316918/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101239681134316918/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101239681134316918/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101238653725425473/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-14T09:21:02Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/dansup"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101238653725425473",
"type": "Note",
"summary": null,
"inReplyTo": "https://mastodon.social/users/dansup/statuses/101238618404770954",
"published": "2018-12-14T09:21:02Z",
"url": "https://metalhead.club/@mariusor/101238653725425473",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/dansup"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101238653725425473",
"inReplyToAtomUri": "https://mastodon.social/users/dansup/statuses/101238618404770954",
"conversation": "tag:mastodon.social,2018-12-14:objectId=71439881:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@dansup\" class=\"u-url mention\">@<span>dansup</span></a></span> I thought you already learned the lesson for setting short deadlines on yourself. Please don't do that, it will set you for a big dissapointment if you can't manage to keep it, and it would lead you to burn out if you push yourself too hard to try to keep it. <br />A big project like Pixelfed is an endurance race, not a sprint.</p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@dansup\" class=\"u-url mention\">@<span>dansup</span></a></span> I thought you already learned the lesson for setting short deadlines on yourself. Please don't do that, it will set you for a big dissapointment if you can't manage to keep it, and it would lead you to burn out if you push yourself too hard to try to keep it. <br />A big project like Pixelfed is an endurance race, not a sprint.</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://mastodon.social/users/dansup",
"name": "@dansup@mastodon.social"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101238653725425473/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101238653725425473/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101238653725425473/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101238653725425473/likes",
"type": "Collection",
"totalItems": 2
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101238653725425473/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101235189317092059/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-13T18:39:59Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101235189317092059",
"type": "Note",
"summary": null,
"inReplyTo": "https://mastodon.social/users/alexcastano/statuses/101235175339965702",
"published": "2018-12-13T18:39:59Z",
"url": "https://metalhead.club/@mariusor/101235189317092059",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101235189317092059",
"inReplyToAtomUri": "https://mastodon.social/users/alexcastano/statuses/101235175339965702",
"conversation": "tag:mastodon.social,2018-12-13:objectId=71268959:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> @cj@mastodon.technology I wouldn't worry about getting it 100% correctly. AP is still a young spec and as the ecosystem will grow, the apps and libraries will mature into something more unified. Or at least that's what I hope. :D</p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> @cj@mastodon.technology I wouldn't worry about getting it 100% correctly. AP is still a young spec and as the ecosystem will grow, the apps and libraries will mature into something more unified. Or at least that's what I hope. :D</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://mastodon.social/users/alexcastano",
"name": "@alexcastano@mastodon.social"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101235189317092059/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101235189317092059/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101235189317092059/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101235189317092059/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101235189317092059/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101235115597227419/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-13T18:21:14Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101235115597227419",
"type": "Note",
"summary": null,
"inReplyTo": "https://mastodon.social/users/alexcastano/statuses/101234930258839853",
"published": "2018-12-13T18:21:14Z",
"url": "https://metalhead.club/@mariusor/101235115597227419",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101235115597227419",
"inReplyToAtomUri": "https://mastodon.social/users/alexcastano/statuses/101234930258839853",
"conversation": "tag:mastodon.social,2018-12-13:objectId=71268959:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> taking what @cj@mastodon.technology said a bit furher, I consider that a good AP implementation takes what it receives as IDs and if it's something relevant to it, does another request and then it handles it in accordance with the content it receives. I don't find the case where this content is actual binary data, too different than having to check for different AP object types. <a href=\"https://metalhead.club/tags/my2c\" class=\"mention hashtag\" rel=\"tag\">#<span>my2c</span></a></p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> taking what @cj@mastodon.technology said a bit furher, I consider that a good AP implementation takes what it receives as IDs and if it's something relevant to it, does another request and then it handles it in accordance with the content it receives. I don't find the case where this content is actual binary data, too different than having to check for different AP object types. <a href=\"https://metalhead.club/tags/my2c\" class=\"mention hashtag\" rel=\"tag\">#<span>my2c</span></a></p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://mastodon.social/users/alexcastano",
"name": "@alexcastano@mastodon.social"
},
{
"type": "Hashtag",
"href": "https://metalhead.club/tags/my2c",
"name": "#my2c"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101235115597227419/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101235115597227419/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101235115597227419/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101235115597227419/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101235115597227419/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101234540807169873/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-13T15:55:04Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101234540807169873",
"type": "Note",
"summary": null,
"inReplyTo": "https://mastodon.social/users/alexcastano/statuses/101234497082375063",
"published": "2018-12-13T15:55:04Z",
"url": "https://metalhead.club/@mariusor/101234540807169873",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101234540807169873",
"inReplyToAtomUri": "https://mastodon.social/users/alexcastano/statuses/101234497082375063",
"conversation": "tag:mastodon.social,2018-12-13:objectId=71268959:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> I would consider that to be implementation dependent, and I would do it depending on the content type I'm serving. If the client requests an activitypub json content I'll give him the Link object referencable URI. If it doesn't, I'd serve the href. :shrug: </p><p>But to be honest I don't try to implement the examples in the spec. :D</p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> I would consider that to be implementation dependent, and I would do it depending on the content type I'm serving. If the client requests an activitypub json content I'll give him the Link object referencable URI. If it doesn't, I'd serve the href. :shrug: </p><p>But to be honest I don't try to implement the examples in the spec. :D</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://mastodon.social/users/alexcastano",
"name": "@alexcastano@mastodon.social"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101234540807169873/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101234540807169873/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101234540807169873/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101234540807169873/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101234540807169873/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101234488557807954/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-13T15:41:46Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101234488557807954",
"type": "Note",
"summary": null,
"inReplyTo": "https://mastodon.social/users/alexcastano/statuses/101234475022179803",
"published": "2018-12-13T15:41:46Z",
"url": "https://metalhead.club/@mariusor/101234488557807954",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101234488557807954",
"inReplyToAtomUri": "https://mastodon.social/users/alexcastano/statuses/101234475022179803",
"conversation": "tag:mastodon.social,2018-12-13:objectId=71268959:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> The AP spec says that the Object IDs MUST be dereferencable URIs or null for transient objects. This is a slight deviation from JSON-LD spec which doesn't use the MUST keyword AFAIR.</p><p><a href=\"https://www.w3.org/TR/activitypub/#obj-id\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://www.</span><span class=\"\">w3.org/TR/activitypub/#obj-id</span><span class=\"invisible\"></span></a></p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> The AP spec says that the Object IDs MUST be dereferencable URIs or null for transient objects. This is a slight deviation from JSON-LD spec which doesn't use the MUST keyword AFAIR.</p><p><a href=\"https://www.w3.org/TR/activitypub/#obj-id\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://www.</span><span class=\"\">w3.org/TR/activitypub/#obj-id</span><span class=\"invisible\"></span></a></p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://mastodon.social/users/alexcastano",
"name": "@alexcastano@mastodon.social"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101234488557807954/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101234488557807954/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101234488557807954/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101234488557807954/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101234488557807954/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101232564222968480/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-13T07:32:24Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://functional.cafe/users/ivan"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101232564222968480",
"type": "Note",
"summary": null,
"inReplyTo": "https://functional.cafe/users/ivan/statuses/101232543502365906",
"published": "2018-12-13T07:32:24Z",
"url": "https://metalhead.club/@mariusor/101232564222968480",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://functional.cafe/users/ivan"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101232564222968480",
"inReplyToAtomUri": "https://functional.cafe/users/ivan/statuses/101232543502365906",
"conversation": "tag:functional.cafe,2018-12-09:objectId=3008168:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://functional.cafe/@ivan\" class=\"u-url mention\">@<span>ivan</span></a></span> I just installed the Sailfish X demo on Xperia XA2 and it is pretty nice. It's missing the android compatibility layer (good riddance), exchange client (who ever uses that :D), but otherwise working fine. </p><p>I'm thinking I might not even need the for pay version. :) </p><p>The only way Sailfish sucks for me is that they don't push for full libpurple IM support out of the box.</p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://functional.cafe/@ivan\" class=\"u-url mention\">@<span>ivan</span></a></span> I just installed the Sailfish X demo on Xperia XA2 and it is pretty nice. It's missing the android compatibility layer (good riddance), exchange client (who ever uses that :D), but otherwise working fine. </p><p>I'm thinking I might not even need the for pay version. :) </p><p>The only way Sailfish sucks for me is that they don't push for full libpurple IM support out of the box.</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://functional.cafe/users/ivan",
"name": "@ivan@functional.cafe"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101232564222968480/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101232564222968480/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101232564222968480/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101232564222968480/likes",
"type": "Collection",
"totalItems": 1
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101232564222968480/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101229440431007581/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-12T18:17:58Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://functional.cafe/users/ivan"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101229440431007581",
"type": "Note",
"summary": null,
"inReplyTo": "https://functional.cafe/users/ivan/statuses/101212898724218805",
"published": "2018-12-12T18:17:58Z",
"url": "https://metalhead.club/@mariusor/101229440431007581",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://functional.cafe/users/ivan"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101229440431007581",
"inReplyToAtomUri": "https://functional.cafe/users/ivan/statuses/101212898724218805",
"conversation": "tag:functional.cafe,2018-12-09:objectId=3008168:objectType=Conversation",
"content": "<p>Hi <span class=\"h-card\" translate=\"no\"><a href=\"https://functional.cafe/@ivan\" class=\"u-url mention\">@<span>ivan</span></a></span>, what stops you from using Sailfish OS?</p>",
"contentMap": {
"en": "<p>Hi <span class=\"h-card\" translate=\"no\"><a href=\"https://functional.cafe/@ivan\" class=\"u-url mention\">@<span>ivan</span></a></span>, what stops you from using Sailfish OS?</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://functional.cafe/users/ivan",
"name": "@ivan@functional.cafe"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101229440431007581/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101229440431007581/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101229440431007581/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101229440431007581/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101229440431007581/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101228861765187708/activity",
"type": "Announce",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-12T15:50:48Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://mastodon.eliotberriot.com/users/funkwhale",
"https://metalhead.club/users/mariusor/followers"
],
"object": "https://mastodon.eliotberriot.com/users/funkwhale/statuses/101228683027855099"
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101227595746048852/activity",
"type": "Announce",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-12T10:28:50Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://mastodon.social/users/bagder",
"https://metalhead.club/users/mariusor/followers"
],
"object": "https://mastodon.social/users/bagder/statuses/101227569654904252"
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101223474144804909/activity",
"type": "Announce",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-11T17:00:40Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://cmpwn.com/users/sir",
"https://metalhead.club/users/mariusor/followers"
],
"object": "https://cmpwn.com/users/sir/statuses/101223224475864363"
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101222144088264614/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-11T11:22:25Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101222144088264614",
"type": "Note",
"summary": null,
"inReplyTo": "https://mastodon.social/users/alexcastano/statuses/101222134196246818",
"published": "2018-12-11T11:22:25Z",
"url": "https://metalhead.club/@mariusor/101222144088264614",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101222144088264614",
"inReplyToAtomUri": "https://mastodon.social/users/alexcastano/statuses/101222134196246818",
"conversation": "tag:mastodon.social,2018-12-11:objectId=70714032:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> somehow I don't think that "generic library" and postgresql belong together very well. :))</p><p>I fully agree that the generation of local keys is not something destined for a library, but a client implementation.</p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> somehow I don't think that "generic library" and postgresql belong together very well. :))</p><p>I fully agree that the generation of local keys is not something destined for a library, but a client implementation.</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://mastodon.social/users/alexcastano",
"name": "@alexcastano@mastodon.social"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101222144088264614/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101222144088264614/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101222144088264614/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101222144088264614/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101222144088264614/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101222064469829975/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-11T11:02:10Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101222064469829975",
"type": "Note",
"summary": null,
"inReplyTo": "https://mastodon.social/users/alexcastano/statuses/101222055773994267",
"published": "2018-12-11T11:02:10Z",
"url": "https://metalhead.club/@mariusor/101222064469829975",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101222064469829975",
"inReplyToAtomUri": "https://mastodon.social/users/alexcastano/statuses/101222055773994267",
"conversation": "tag:mastodon.social,2018-12-11:objectId=70714032:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> that's true, I am using a different algorithm for locally generated objects, basically still a hash, but over different elements. In the case of actors, I use the actor name, in the case of Article/Note/etc I use the content, etc... </p><p>I'm not sure I like having the logic split like that, but it's the best idea I had so far.</p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> that's true, I am using a different algorithm for locally generated objects, basically still a hash, but over different elements. In the case of actors, I use the actor name, in the case of Article/Note/etc I use the content, etc... </p><p>I'm not sure I like having the logic split like that, but it's the best idea I had so far.</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://mastodon.social/users/alexcastano",
"name": "@alexcastano@mastodon.social"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101222064469829975/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101222064469829975/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101222064469829975/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101222064469829975/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101222064469829975/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101222011025835927/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-11T10:48:34Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101222011025835927",
"type": "Note",
"summary": null,
"inReplyTo": "https://metalhead.club/users/mariusor/statuses/101222007591075697",
"published": "2018-12-11T10:48:34Z",
"url": "https://metalhead.club/@mariusor/101222011025835927",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101222011025835927",
"inReplyToAtomUri": "https://metalhead.club/users/mariusor/statuses/101222007591075697",
"conversation": "tag:mastodon.social,2018-12-11:objectId=70714032:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> same hash is used as a path element in an ltree column to store the activity's ancestors.</p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> same hash is used as a path element in an ltree column to store the activity's ancestors.</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://mastodon.social/users/alexcastano",
"name": "@alexcastano@mastodon.social"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101222011025835927/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101222011025835927/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101222011025835927/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101222011025835927/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101222011025835927/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101222007591075697/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-11T10:47:42Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101222007591075697",
"type": "Note",
"summary": null,
"inReplyTo": "https://mastodon.social/users/alexcastano/statuses/101221809154423257",
"published": "2018-12-11T10:47:42Z",
"url": "https://metalhead.club/@mariusor/101222007591075697",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://mastodon.social/users/alexcastano"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101222007591075697",
"inReplyToAtomUri": "https://mastodon.social/users/alexcastano/statuses/101221809154423257",
"conversation": "tag:mastodon.social,2018-12-11:objectId=70714032:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> I am using a simple hashing function over the activitypub object id for the local unique key in postgresql instead of UUIDS. I think this ensures more flexibility as you can search on that key even if you don't have it by default.</p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://mastodon.social/@alexcastano\" class=\"u-url mention\">@<span>alexcastano</span></a></span> I am using a simple hashing function over the activitypub object id for the local unique key in postgresql instead of UUIDS. I think this ensures more flexibility as you can search on that key even if you don't have it by default.</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://mastodon.social/users/alexcastano",
"name": "@alexcastano@mastodon.social"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101222007591075697/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101222007591075697/replies?min_id=101222011025835927&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101222007591075697/replies",
"items": [
"https://metalhead.club/users/mariusor/statuses/101222011025835927"
]
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101222007591075697/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101222007591075697/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101218425453451588/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-10T19:36:43Z",
"to": [
"https://metalhead.club/users/mariusor/followers"
],
"cc": [
"https://www.w3.org/ns/activitystreams#Public"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101218425453451588",
"type": "Note",
"summary": "Food, vulgarité",
"inReplyTo": null,
"published": "2018-12-10T19:36:43Z",
"url": "https://metalhead.club/@mariusor/101218425453451588",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://metalhead.club/users/mariusor/followers"
],
"cc": [
"https://www.w3.org/ns/activitystreams#Public"
],
"sensitive": true,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101218425453451588",
"inReplyToAtomUri": null,
"conversation": "tag:mastodon.eliotberriot.com,2018-12-10:objectId=1176587:objectType=Conversation",
"content": "<p>@eliotberriot@mastodon.eliotberriot.com </p><p>maybe the vegan dishes are so popular that they're sold out. :)</p>",
"contentMap": {
"en": "<p>@eliotberriot@mastodon.eliotberriot.com </p><p>maybe the vegan dishes are so popular that they're sold out. :)</p>"
},
"attachment": [],
"tag": [],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101218425453451588/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101218425453451588/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101218425453451588/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101218425453451588/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101218425453451588/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101218243817717713/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-10T18:50:31Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101218243817717713",
"type": "Note",
"summary": null,
"inReplyTo": null,
"published": "2018-12-10T18:50:31Z",
"url": "https://metalhead.club/@mariusor/101218243817717713",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101218243817717713",
"inReplyToAtomUri": null,
"conversation": "tag:mastodon.technology,2018-12-10:objectId=11179792:objectType=Conversation",
"content": "<p>@jdormit@mastodon.technology @cj@mastodon.technology I'm also percolating a similar idea about a unified federated identity server, but I got nothing more at the moment. Would love to be kept in the loop for any discussions.</p>",
"contentMap": {
"en": "<p>@jdormit@mastodon.technology @cj@mastodon.technology I'm also percolating a similar idea about a unified federated identity server, but I got nothing more at the moment. Would love to be kept in the loop for any discussions.</p>"
},
"attachment": [],
"tag": [],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101218243817717713/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101218243817717713/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101218243817717713/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101218243817717713/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101218243817717713/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101218164919991657/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-10T18:30:27Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101218164919991657",
"type": "Note",
"summary": null,
"inReplyTo": null,
"published": "2018-12-10T18:30:27Z",
"url": "https://metalhead.club/@mariusor/101218164919991657",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101218164919991657",
"inReplyToAtomUri": null,
"conversation": "tag:metalhead.club,2018-12-10:objectId=2449181:objectType=Conversation",
"content": "<p>In a bit of good news, it appears my svg fill: currentColor bug might get fixed for Firefox 65. :firefox: </p><p><a href=\"https://metalhead.club/tags/firefox\" class=\"mention hashtag\" rel=\"tag\">#<span>firefox</span></a> <a href=\"https://metalhead.club/tags/bug\" class=\"mention hashtag\" rel=\"tag\">#<span>bug</span></a></p>",
"contentMap": {
"en": "<p>In a bit of good news, it appears my svg fill: currentColor bug might get fixed for Firefox 65. :firefox: </p><p><a href=\"https://metalhead.club/tags/firefox\" class=\"mention hashtag\" rel=\"tag\">#<span>firefox</span></a> <a href=\"https://metalhead.club/tags/bug\" class=\"mention hashtag\" rel=\"tag\">#<span>bug</span></a></p>"
},
"attachment": [],
"tag": [
{
"type": "Hashtag",
"href": "https://metalhead.club/tags/firefox",
"name": "#firefox"
},
{
"type": "Hashtag",
"href": "https://metalhead.club/tags/bug",
"name": "#bug"
},
{
"id": "https://metalhead.club/emojis/230899",
"type": "Emoji",
"name": ":firefox:",
"updated": "2023-01-29T14:04:02Z",
"icon": {
"type": "Image",
"mediaType": "image/png",
"url": "https://media.metalhead.club/custom_emojis/images/000/230/899/original/677849b16a0fb89d.png"
}
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101218164919991657/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101218164919991657/replies?min_id=101268330410665258&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101218164919991657/replies",
"items": [
"https://metalhead.club/users/mariusor/statuses/101268330410665258"
]
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101218164919991657/likes",
"type": "Collection",
"totalItems": 0
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101218164919991657/shares",
"type": "Collection",
"totalItems": 0
}
}
},
{
"id": "https://metalhead.club/users/mariusor/statuses/101211445698393677/activity",
"type": "Create",
"actor": "https://metalhead.club/users/mariusor",
"published": "2018-12-09T14:01:40Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://playvicious.social/users/jalcine"
],
"object": {
"id": "https://metalhead.club/users/mariusor/statuses/101211445698393677",
"type": "Note",
"summary": null,
"inReplyTo": "https://playvicious.social/users/jalcine/statuses/101206920176993821",
"published": "2018-12-09T14:01:40Z",
"url": "https://metalhead.club/@mariusor/101211445698393677",
"attributedTo": "https://metalhead.club/users/mariusor",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://metalhead.club/users/mariusor/followers",
"https://playvicious.social/users/jalcine"
],
"sensitive": false,
"atomUri": "https://metalhead.club/users/mariusor/statuses/101211445698393677",
"inReplyToAtomUri": "https://playvicious.social/users/jalcine/statuses/101206920176993821",
"conversation": "tag:playvicious.social,2018-12-08:objectId=3288943:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://playvicious.social/@jalcine\" class=\"u-url mention\">@<span>jalcine</span></a></span> I "solved" this issue in go, by having an interface which can refer to ObjectID/IRI elements the same way as a full Object. It makes it hell to typecast in the places where you actually need the objects, but oh well...</p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://playvicious.social/@jalcine\" class=\"u-url mention\">@<span>jalcine</span></a></span> I "solved" this issue in go, by having an interface which can refer to ObjectID/IRI elements the same way as a full Object. It makes it hell to typecast in the places where you actually need the objects, but oh well...</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://playvicious.social/users/jalcine",
"name": "@jalcine@playvicious.social"
}
],
"replies": {
"id": "https://metalhead.club/users/mariusor/statuses/101211445698393677/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://metalhead.club/users/mariusor/statuses/101211445698393677/replies?only_other_accounts=true&page=true",
"partOf": "https://metalhead.club/users/mariusor/statuses/101211445698393677/replies",
"items": []
}
},
"likes": {
"id": "https://metalhead.club/users/mariusor/statuses/101211445698393677/likes",
"type": "Collection",
"totalItems": 1
},
"shares": {
"id": "https://metalhead.club/users/mariusor/statuses/101211445698393677/shares",
"type": "Collection",
"totalItems": 0
}
}
}
]
}