👀 BrowserPub: A browser for exploring #ActivityPub and the ⁂fediverse
👀 BrowserPub: A browser for exploring #ActivityPub and the ⁂fediverse
The idea here is to make it a bit easier to see how well the various players in the fediverse support the C2S side of the ActivityPub spec.
You can punch in any ActivityPub discoverable web url or fediverse handle, and BrowserPub will discover and display the underlying AP:
e.g.
social profiles: https://browser.pub/https://mastodon.social/@mastodon
or posts:
https://browser.pub/https://mastodon.social/@Gargron/113005517546136592
or fediverse handles:
https://browser.pub/@Gargron@mastodon.social
or even usernames (defaults to mastodon.social for now):
https://browser.pub/Gargron
BrowserPub defaults to a visual representation of the object (if a known type)
everything here is powered by ActivityPub, no server-specific APIs
you can also view the underlying ActivityPub object as JSON...
It'll work on ActivityPub-enabled wordpress sites:
For known collection properties (like outbox, followers, featured, etc), it will preview the collection and support paging via a "next" link:
Here's a Lemmy group
And here's @manton 's profile using micro.blog's AP endpoint
Threads posts and profiles are also available, for users that have checked the magic box
Here's a post:
https://browser.pub/https://www.threads.net/@evanprodromou/post/C8qtHZEuA0Q
While Threads does not support the replies collection yet, they do support the inReplyTo pointer, which BrowserPub renders above
https://browser.pub/https://www.threads.net/@evanprodromou/post/C-0iXNmvgj7
BrowserPub also supports the new fediverse:creator discovery mechanism
Bluesky profiles that are bridged can also be rendered
e.g. @snarfed.org bridged bsky profile
https://browser.pub/https://bsky.brid.gy/ap/did:plc:3ljmtyyjqcjee2kpewgsifvb
Here's a podcast from @dave 's podcastindex bridge
@dave Dave I was going to link the podcast guid to pi.org search, but it doesn't take guids!
https://podcastindex.org/search?q=4c5142a7-a0bc-5c86-bad8-c149d4eceed6
You can link directly to the podcast pages with the guid though.
https://podcastindex.org/podcast/4c5142a7-a0bc-5c86-bad8-c149d4eceed6
alright, guid-based links to the PI page now active
BrowserPub also tries to render custom emojis in content and profile headers, these are in the ActivityPub payload after all
even animated ones
https://browser.pub/https://bolha.one/users/joaonaweb/statuses/112978564080782762
and of course Flipboard is supported (cc @mike) nothing special, just the same ActivityPub spec implementation
https://browser.pub/https%3A%2F%2Fflipboard.social%2Fusers%2Farunshah
so even though Threads doesn't return collection items in the ActivityPub payload yet, it _does_ include the counts - so at least I can display those
just pushed it live
https://browser.pub/https://threads.net/ap/users/17841401083120503/
Polls are not a Mastodon-specific feature, they can be expressed well in standard ActivityPub, which means standards-based apps like BrowserPub can render them
Here is a recent poll example from @evan
https://browser.pub/https://cosocial.ca/@evan/113005485605693174
looks like someone submitted it to hacker news!
and looks like Ghost got their outbox and posts ActivityPub working
although they are not in reverse chron like everyone else (@johnonolan, was this intentional?)
@evan every property is listed, and clickable, in the json and outline structured views
in the visual view, any unknown properties (if present) are rendered kind of like the outline view, just above the expandable details section
> everything here is powered by ActivityPub, no server-specific APIs
Please don't waver from this! It's so cool.
@evan hopefully this can help to make sure folks are supporting C2S as much as possible
I would love to get a standards-based oauth to inbox flow working, do you know of any implementations that support it?
was going to check out Mastodon's new oauth thing in 4.3, but I'm not sure they have any additional AP endpoints behind the auth wall
@js @manton When I ran it against AT mastodon AT underlap.org (to dereference via webfinger) and clicked "debug", it showed an item with a red cross, thus:
/attachment: ❌ Invalid object, Invalid link
I'd want to make it clear which item that was referring to.
However, I'd also leave that to others as I am inept at javascript and most other front-end stuff. I was hoping someone else might want to make that change (but not necessarily you - I'm just grateful for the current function).
@js 🥳
If I may make a request, some details appear as "invalid" but nothing more is specified. For example the public key for https://browser.pub/https://federated.id
I suspect it's the fact that it's not an RSA key, but I'm not sure.
@mariusor Oh cool a good test case
What type of key is that example there? I believe I just use web crypto to parse
I should be able to render your urls and tags on that one a bit better as well
ok your urls and tags are rendered a bit better now
also huge props for implementing the liked collection
https://browser.pub/https://federated.id/actors/8b740680-ccb4-4265-82e7-4ac2ca402750
thanks for re-enabling the AP plugin on your site! : )