ActivityPub Viewer

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.

Open in browser →
{ "@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", "blurhash": "toot:blurhash", "focalPoint": { "@container": "@list", "@id": "toot:focalPoint" } } ], "id": "https://front-end.social/users/bramus/statuses/111800621223859588", "type": "Note", "summary": null, "inReplyTo": "https://front-end.social/users/bramus/statuses/111800616847469327", "published": "2024-01-22T16:48:16Z", "url": "https://front-end.social/@bramus/111800621223859588", "attributedTo": "https://front-end.social/users/bramus", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://front-end.social/users/bramus/followers" ], "sensitive": false, "atomUri": "https://front-end.social/users/bramus/statuses/111800621223859588", "inReplyToAtomUri": "https://front-end.social/users/bramus/statuses/111800616847469327", "conversation": "tag:front-end.social,2024-01-22:objectId=7263465:objectType=Conversation", "content": "<p>On `pointerdown` the View Transition starts but all its animations get paused immediately.</p><p>On `pointermove` the animations their `currentTime` get updated based on your drag distance.</p><p>On `pointerup` the VT either snaps back, or plays until the end.</p>", "contentMap": { "en": "<p>On `pointerdown` the View Transition starts but all its animations get paused immediately.</p><p>On `pointermove` the animations their `currentTime` get updated based on your drag distance.</p><p>On `pointerup` the VT either snaps back, or plays until the end.</p>" }, "attachment": [ { "type": "Document", "mediaType": "image/png", "url": "https://cdn.masto.host/frontendsocial/media_attachments/files/111/800/618/126/621/067/original/798d27f22e1fa30d.png", "name": "// This one gets triggered on `pointermove`\nconst updateAnimations = () => {\n // Duration of the View Transition\n const baseDuration = 1000;\n\n // Determine dragging delta\n const dragDelta =\n ['up', 'down'].includes(neededDirection) ?\n Math.abs(currentY - startY) :\n Math.abs(currentX - startX);\n \n // Determine time based on dragging delta\n // Don’t go on or over the baseDuration, as that would finish VT.\n // Therefore, subtract 0.0001 from it and set it as the max.\n const currentTime = Math.max(\n 0,\n Math.min(\n baseDuration - 0.001,\n dragDelta / dragDistance * baseDuration\n )\n );\n\n for (const animation of activeAnimations) {\n animation.currentTime = currentTime;\n }\n}", "blurhash": "UM6I?hx^t:ozyEofofj[yGkCadj[tmj[axfQ", "focalPoint": [ 0.04, -0.15 ], "width": 1840, "height": 1568 }, { "type": "Document", "mediaType": "image/png", "url": "https://cdn.masto.host/frontendsocial/media_attachments/files/111/800/618/141/837/424/original/9a902801d189cdc2.png", "name": "// This one gets triggered on `pointerdown`\nconst startViewTransition = async () => {\n // Start the View Transition\n activeViewTransition = document.startViewTransition(() => {\n document.querySelector('.card').classList.toggle('small');\n });\n await activeViewTransition.ready;\n \n // Immediately pause all animations linked to it\n activeAnimations = document.getAnimations().filter((anim) => {\n return anim.effect.target === document.documentElement &&\n anim.effect.pseudoElement?.startsWith(\"::view-transition\");\n });\n for (const anim of activeAnimations) anim.pause();\n}", "blurhash": "UT6vJux^tno#x_ofj[j[yGofadf6tTj[aefQ", "focalPoint": [ 0, 0 ], "width": 1840, "height": 1074 } ], "tag": [], "replies": { "id": "https://front-end.social/users/bramus/statuses/111800621223859588/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://front-end.social/users/bramus/statuses/111800621223859588/replies?min_id=111800624421778487&page=true", "partOf": "https://front-end.social/users/bramus/statuses/111800621223859588/replies", "items": [ "https://front-end.social/users/bramus/statuses/111800624421778487" ] } }, "likes": { "id": "https://front-end.social/users/bramus/statuses/111800621223859588/likes", "type": "Collection", "totalItems": 2 }, "shares": { "id": "https://front-end.social/users/bramus/statuses/111800621223859588/shares", "type": "Collection", "totalItems": 0 } }