👀 BrowserPub: A browser for debugging #ActivityPub and the ⁂fediverse
Conversation
Notices
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Saturday, 24-Aug-2024 01:52:05 JST John Spurlock -
Embed this notice
silverpill (silverpill@mitra.social)'s status on Saturday, 24-Aug-2024 01:52:04 JST silverpill @js Nice tool. Are you going to open source it?
-
Embed this notice
silverpill (silverpill@mitra.social)'s status on Saturday, 24-Aug-2024 02:20:21 JST silverpill @js Will fix, thanks for reporting
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Saturday, 24-Aug-2024 02:20:23 JST John Spurlock @silverpill btw, I noticed that your json ld custom context is returned in a random order, can you fix that? I believe prefixes need to be defined before they are used, but I put a custom workaround in there for now
can see it by hitting the json tab here and refreshing over and over
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Saturday, 24-Aug-2024 02:20:24 JST John Spurlock @silverpill I mean it's basically all client-side
so, uh, view-source? : )
Don't make fun of my vanilla browser non-framework JS
-
Embed this notice
BeAware :fediverse: (beaware@social.beaware.live)'s status on Saturday, 24-Aug-2024 04:02:58 JST BeAware :fediverse: @js the :fediverse:
Fixed that for you.😝
⁂ doesn't really show the diversity or interconnectedness of Fedi the way the real logo does. Not to mention, it's less appealing.
-
Embed this notice
BeAware :fediverse: (beaware@social.beaware.live)'s status on Saturday, 24-Aug-2024 04:11:53 JST BeAware :fediverse: @js seems like a neat and interesting name that makes me want to learn more about it...🤨
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Saturday, 24-Aug-2024 04:11:54 JST John Spurlock yea same appealing-ness level as the term 'fediverse' itself
-
Embed this notice
dansup (dansup@mastodon.social)'s status on Saturday, 24-Aug-2024 04:51:16 JST dansup @js Nice work!
-
Embed this notice
Evan Prodromou (evan@cosocial.ca)'s status on Monday, 26-Aug-2024 02:35:14 JST Evan Prodromou @js this is AWESOME.
-
Embed this notice
Evan Prodromou (evan@cosocial.ca)'s status on Monday, 26-Aug-2024 02:41:22 JST Evan Prodromou @js @silverpill probably the bigger question is whether you want contributors.
Also, do you route requests through the b.s server if the remote server uses authorized fetch?
-
Embed this notice
Evan Prodromou (evan@cosocial.ca)'s status on Monday, 26-Aug-2024 02:53:54 JST Evan Prodromou @js it is going to sound very fake to say this but this project was at the top of my list for ActivityPub hacks to do. It is so extremely necessary. I am very excited about this work!
-
Embed this notice
Evan Prodromou (evan@cosocial.ca)'s status on Monday, 26-Aug-2024 02:55:28 JST Evan Prodromou @js @silverpill these threads collections are making me mad.
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Monday, 26-Aug-2024 02:55:29 JST John Spurlock 1. not sure yet - it's a passion project and still very early days (e.g. it does jsonld validation under the hood but not exposed in the UI yet)
2. yes (try a federated threads profile or post url, or gotosocial)
-
Embed this notice
Evan Prodromou (evan@cosocial.ca)'s status on Monday, 26-Aug-2024 02:56:20 JST Evan Prodromou @by_caballero @js this seems like a really good testing tool.
-
Embed this notice
bumblefudge (by_caballero@mastodon.social)'s status on Monday, 26-Aug-2024 02:56:21 JST bumblefudge @js neat!
-
Embed this notice
Evan Prodromou (evan@cosocial.ca)'s status on Monday, 26-Aug-2024 03:04:12 JST Evan Prodromou > everything here is powered by ActivityPub, no server-specific APIs
Please don't waver from this! It's so cool.
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Monday, 26-Aug-2024 03:04:13 JST John Spurlock 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...
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Monday, 26-Aug-2024 03:04:14 JST John Spurlock 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/113005517546136592or fediverse handles:
https://browser.pub/@Gargron@mastodon.socialor even usernames (defaults to mastodon.social for now):
https://browser.pub/Gargron -
Embed this notice
Evan Prodromou (evan@cosocial.ca)'s status on Monday, 26-Aug-2024 03:05:35 JST Evan Prodromou @js what about objects with type Collection or OrderedCollection that aren't well known?
In conversation permalink -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Monday, 26-Aug-2024 03:05:36 JST John Spurlock For known collection properties (like outbox, followers, featured, etc), it will preview the collection and support paging via a "next" link:
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Monday, 26-Aug-2024 03:05:37 JST John Spurlock ... or posts:
https://browser.pub/https%3A%2F%2Fandypiper.co.uk%2F2024%2F08%2F11%2Fsynology-issues%2F
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Monday, 26-Aug-2024 03:05:38 JST John Spurlock It'll work on ActivityPub-enabled wordpress sites:
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Monday, 26-Aug-2024 03:05:39 JST John Spurlock ... or a less JSON-ey structured outline
In conversation permalink Attachments
-
Embed this notice
Evan Prodromou (evan@cosocial.ca)'s status on Monday, 26-Aug-2024 03:28:04 JST Evan Prodromou @js onepage.pub do es. However, we need better specs. I'd like us to set up a taskforce for it at the SocialCG. It's very core!
In conversation permalink -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Monday, 26-Aug-2024 03:28:05 JST John Spurlock @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
In conversation permalink -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:44:50 JST John Spurlock browser.pub requests the ability to add new follows to your account...
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:44:52 JST John Spurlock Ideally, I'd like to have these follows take effect here in my main account and not have to create a brand new profile on a brand new site.
This is where OAuth comes in - many existing fediverse servers supported federated login in a standard way
Just enter your account to start the login flow in browser.pub
In conversation permalink Attachments
BeAware :fediverse: repeated this. -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:44:53 JST John Spurlock So as I'm bopping around looking at everyone's #ActivityPub in browser.pub, I wanted to have the ability to follow interesting people while I'm browsing.
I just pushed a new update that adds a "Follow" button next to every profile in the visual view
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:44:54 JST John Spurlock 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?)
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:44:55 JST John Spurlock looks like someone submitted it to hacker news!
In conversation permalink -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:44:56 JST John Spurlock 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
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:44:57 JST John Spurlock 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/
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:44:58 JST John Spurlock 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
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:44:59 JST John Spurlock 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
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:45:00 JST John Spurlock Here's a podcast from @dave 's podcastindex bridge
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:45:01 JST John Spurlock Hmm, I'd love to be able to render a more dynamic og:image at some point 🤔
In conversation permalink -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:45:02 JST John Spurlock 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
In conversation permalink -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:45:03 JST John Spurlock BrowserPub also supports the new fediverse:creator discovery mechanism
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:45:04 JST John Spurlock 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
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:45:05 JST John Spurlock 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/C8qtHZEuA0QIn conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:45:06 JST John Spurlock And here's @manton 's profile using micro.blog's AP endpoint
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 02:45:07 JST John Spurlock Here's a Lemmy group
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 07:19:10 JST John Spurlock you'll notice that browser.pub not only requests the ability to follow, but _also_ to read, generally
this gives the logged-in user the ability to explore ActivityPub collections that may not be public, only accessible via auth (if the server supports such collections over ActivityPub C2S)
in theory, you could imagine building a thing on top of these collections that looks like your personal mastodon timeline, but using spec-standard ActivityPub
in practice, tho, here is my mastodon inbox 🤦♂️
In conversation permalink Attachments
Tim Chambers repeated this. -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 07:19:13 JST John Spurlock misskey and micro.blog from @manton both support client registration for clients like this by simply providing a website url
it's called "indieauth" (displayed in the login info row, otherwise falls back to mastodon-style app-creation-based registration)
there is a newer emerging standard for dynamic client registration, but no one supports it yet - I'll add it when one does!
micro.blog doesn't support C2S follows via the outbox yet, but we can fallback to the micro.blog api here
In conversation permalink Attachments
Tim Chambers repeated this. -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 07:19:17 JST John Spurlock now Pleroma is special here, it supports following like this in bog-standard ActivityPub!
ie just posting a small json payload to the logged-in user's outbox endpoint
hopefully more ActivityPub servers support this soon, as it should be very similar to what they already do for S2S
In conversation permalink Attachments
Tim Chambers repeated this. -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 07:19:20 JST John Spurlock anyway, once you have an active login it will be displayed in the top-right corner, and you can follow profiles with a tap of the "Follow" button
In conversation permalink Attachments
Tim Chambers repeated this. -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 07:19:24 JST John Spurlock You'll see that only the newest Mastodon 4.3 (still beta only?) supports this new metadata, but it should be rolling out widely soon.
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 07:19:26 JST John Spurlock ... then stores the login info in the browser
For OAuth dorks, it'll show the token expiration and granted scope
Also whether or not the server supports the excellent OAuth server metadata spec, and whether the server supports PKCE (a security improvement that is a newer part of the spec)
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 07:23:44 JST John Spurlock Pleroma, however, is a different story - a better story
here is my Pleroma account, listing my private inbox collection - essentially my home timeline
this is not public, but available to ActivityPub C2S clients like browser.pub with a valid auth token
In conversation permalink Attachments
Tim Chambers repeated this. -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 07:25:37 JST John Spurlock Under the hood, the personal inbox is represented as an essentially infinite ActivityPub OrderedCollection, with no 'totalItems' count property, and no 'last' pointer
I can keep iterating down my inbox reverse chron this way in the json...
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 09:22:47 JST John Spurlock one more for today: just got @pixelfed oauth working too
similar to mastodon, you can add an existing pixelfed.social account, and follow any fediverse user directly from browser.pub
and, similar to mastodon, pixelfed does not seem to support any additional ActivityPub over C2S when authed
In conversation permalink Attachments
-
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 09:22:51 JST John Spurlock and of course you can't see my personal Pleroma 'inbox' collection here, since you aren't logged in as me
as it should be
if anyone finds any additional endpoints available to read over C2S when authed (on any AP server impl), let me know - I'd be very curious to know what's supported out there
In conversation permalink Attachments
dansup repeated this. -
Embed this notice
John Spurlock (js@podcastindex.social)'s status on Friday, 06-Sep-2024 09:22:55 JST John Spurlock ... or by hitting "next" in the visual view
maybe I should add some sort of automatic revealing of the next item on scroll
In conversation permalink Attachments
-
Embed this notice