#dev 2023-07-10

2023-07-10 UTC
[timothy_chambe] joined the channel
#
[timothy_chambe]
[tantek] [snarfed] [manton] and others looking at ActivityPub: incited by a convo here between myself Tantek and others, I started organizing a 188 developer sized Mastodon compativle group looking to resusitate the old ActivtyPub Rocks test suite, and then either build on that or use that as a stop gap for a full ActivityPub Test Suite 2.0 ready to check Meta and others for compliance with Activitypub standards. That group
#
[timothy_chambe]
is here:
#
[timothy_chambe]
Here is our first deliverable and would love everyone developing with ActivtyPub to check it out:
#
[timothy_chambe]
Would love all notes and feedback: https://aptestsuite.stevebate.dev/
#
[snarfed]
[timothy_chambe]++ really awesome
#
Loqi
[timothy_chambe] has 3 karma in this channel over the last year (27 in all channels)
#
Loqi
[preview] gRegor Morrill
#
Loqi
[preview] [Steve Bate] @tchambers @activitypubtestsuite @dansup Given the problems with the original Guile version of the #ActivityPub testsuite, I ported it to Python. I have a demonstration version running at https://aptestsuite.stevebate.dev if you want to take a look.
#
[snarfed]
oh man I forgot that that test suite doesn't actually have any tests for S2s or C2S client side, it's just a checklist for writing an implementation report. sigh
#
gRegor
ok, yeah I figured it might be something with that one instance, photo is showing on other instances.
#
[snarfed]
...and the server C2S tests use AP's "OAuth workflow," which no longer exists
#
[snarfed]
sigh, ah well
#
gRegor
aside, just saw my domain with verified checkmark on mastodon.social! First time I've seen that working, hah
#
gRegor
(working for my site, that is)
#
[snarfed]
gRegor++
#
Loqi
gRegor has 32 karma in this channel over the last year (97 in all channels)
#
[snarfed]
love seeing people working on AP test suite! porting the old one may not have been the best use of his time, but hopefully he'll move on to something more useful!
angelo joined the channel
#
[timothy_chambe]
[snarfed] - Yes, lacking in latest AP and old for sure... In theory, it should be the same functionality (or lack there of) of the old Test Suite 1.0, our first goal was just to bring that old one back to life, and to do so ported it to Python to be more maintainable.
#
[timothy_chambe]
Even if it only illustrates what was missing or old in the old, we hope it helps for a 2.0 to come to life to follow.
[KevinMarks], tei_ and Soni joined the channel
#
aaronpk
[timothy_chambe]: I'm confused, this looks like just a list of checkboxes? I was able to check all the boxes without reading them and get to the point of submitting a report. I don't know if I would call this a test suite just yet. are there plans to add actual tests of the functionality in the checkboxes?
#
aaronpk
also I don't really understand why it has "unquotelinkhttps" in a bunch of places
Xe and tei_ joined the channel
#
[snarfed]
sounds like this is all the original AP test suite did too
#
Loqi
[preview] [[snarfed]] oh man I forgot that that test suite doesn't actually have any tests for S2s or C2S client side, it's just a checklist for writing an implementation report. sigh
#
[snarfed]
still, good to see interest, hopefully they'll expand it
#
aaronpk
that's a very elaborate way to build a list of checkboxes 🙃
#
aaronpk
it does appear that the content of the list is well thought out though, so hopefully it provides a good basis for building actual functional tests
jeremy joined the channel
#
[timothy_chambe]
[aaronpk] on mastodon I added you into a thread with the programmer, and will see his answer... Thanks!
#
[tantek]
[timothy_chambe] I agree with aaronpk. A feature survey is not a test suite. Better to call something what it is
gRegorLove_ and btrem joined the channel
#
[timothy_chambe]
[tantek] Thanks! See this link…does anyone here remember how the original “test suit” functioned? Was the previous one ever more than this? https://social.technoetic.com/@steve/110689102510708213
#
Loqi
[preview] [Steve Bate] @bobwyman @blake @tchambers @activitypubtestsuite @evan @cwebber @dmitri Yes. That's what I'd been telling people, based on looking at the code. However, I'd never seen the old one running so I thought it would be useful to for me and others to see i...
#
Loqi
[preview] [Steve Bate] @blake @tchambers @activitypubtestsuite @evan @cwebber @dmitri Yes, most people have been mistaken about that. I've tried to tell people that's what it was, but I thought a demonstration will make it more concrete. It's mostly a questionnaire. Howeve...
[jamietanna], [snarfed], [KevinMarks] and [timothy_chambe] joined the channel
#
[jamietanna]
Does Bridgy Fed work with BlueSky? I've just got an invite 🙌
tei_, [jacky], geoffo and tei_1 joined the channel
#
[timothy_chambe]
The conversation continues on ressurecting the old ActityPub "Test Suite" and Christine chimes in with how it used to work:
#
aaronpk
yes making test suites is very hard
#
aaronpk
one way to focus the new work is to only test the interop parts, not test internal behavior
#
aaronpk
i noticed she said "there aren't necessarily requirements for a public demonstration of that effect" which is true if the spec is describing how something is supposed to work internally
#
aaronpk
so scrap all that, and only test the on-the-wire parts
[manton] joined the channel
#
[manton]
I was reviewing something in the ActivityPub (or ActivityStreams?) spec a couple days ago and was reminded that one problem is the example JSON in the spec does not match what real-world apps like Mastodon actually send.
#
[manton]
Not sure if that means we need an updated spec or a new document with examples that someone can base a new implementation on. It feels like implementing AP from the spec is impossible.
#
[timothy_chambe]
Also see here: https://github.com/steve-bate/rocks-testsuite
#
[timothy_chambe]
BTW thanks everyone this ENTIRE project (much like indieweb.social did before) grew out of discussions from this community.
#
Loqi
[preview] [steve-bate] rocks-testsuite: A rewrite of the activitypub.rocks test suite in Python.
#
[timothy_chambe]
[aaronpk] - the whole point of ressurecting the old one was for this exact reason, so we could see where it got too, what holes exist, and what a trully useful AP test suite would need to do. For me it was also about testing compliance, so Meta or others can't "embrace, extend, extinghuish" ActivtyPub without receipts, so we could push back on anything akin to that.
#
aaronpk
given that mastodon has essentially defined what activitypub is today, it's going to take a *lot* of work to create a test suite documenting the current behavior to avoid letting another big player step in and redefine it
#
aaronpk
but that is the approach i would take rather than doing anything starting from the actual specification
[jgarber] and tei_ joined the channel
#
[snarfed]
[jamietanna] Bridgy Fed doesn't do Bluesky yet, they haven't turned federation on yet, but it's in active development! https://github.com/snarfed/bridgy-fed/issues/381
#
Loqi
[preview] [snarfed] #381 support Bluesky
#
[snarfed]
I'd also love to see it in Bridgy classic eventually. I'm not actively working on that right now, but I'd happily accept PRs, and that could happen now, wouldn't have to wait for federation. https://github.com/snarfed/bridgy/issues/1453
#
Loqi
[preview] [snarfed] #1453 Add Bluesky support
#
shreyanjain[m]
have you tried it in the federation sandbox?
#
[tantek]
any bets on who will "turn on federation" first Bluesky or Threads?
#
shreyanjain[m]
LOL
#
shreyanjain[m]
I think BlueSky is getting fairly close
#
[snarfed]
shreyanjain I'm not quite there yet. soon though! https://snarfed.org/2023-06-29_bridgy-fed-status-update
#
[snarfed]
Bluesky people say they want to get content moderation working first, they've said that may take some time
#
[snarfed]
current status: google search for "content negotiation accept header text/html charset semicolon" led me to https://pedantic-web.org/fops.html , which starts out: "Being the adventurous soul that you are, you have decided to publish some RDF on the Web. Again, thank you! However, on the road ahead lie some common obstacles and pitfalls..."
#
[snarfed]
from that same page: "Beware! Content negotiation sounds great in theory, but it is a mess in practice. Implementing it correctly is surprisingly hard, or impossible if your server environment is restrictive, and it causes confusion to no end for people trying to access your server. So think twice before you use content negotiation, and avoid it if it's not necessary."
#
[snarfed]
(I'm here due to https://github.com/snarfed/bridgy-fed/issues/577#issuecomment-1629341656 : "I wonder if the ; in text/html; charset=utf-8; q=0.7 is tripping it up. Do charset specifiers not belong in Accept headers? Ugh, conneg is the worst.")
#
[snarfed]
apologies for the continued rant
#
sknebel
[snarfed]: fwiw that header value looks correct to me
#
[snarfed]
thanks sknebel
#
[snarfed]
there's correct, and then there's interop. in conneg, the two are sadly miles apart
tei_ joined the channel
#
sknebel
[snarfed]: its not that, plume fails on the q= already
#
sknebel
(ah, nekr0z also opened an issue there were a dev confirms my reading of the source ;) https://github.com/Plume-org/Plume/issues/1112 )
#
Loqi
[preview] [nekr0z] #1112 Content negotiation handling
btrem and geoffo joined the channel
#
[snarfed]
sknebel ah nice, thank you!
#
sknebel
seems their webframework has some logic already for media types, left a reference to that in a comment
tei_1, epoch, btrem and tei_ joined the channel
#
[aciccarello]
Well this is odd. A blank image got put alongside my photo from this photo post when bridgy fed posted it
tei_ joined the channel
#
sknebel
[aciccarello]: the following markup is the problem: <figure class="mdc-card__media post-thumbnail u-featured">
#
sknebel
that doesnt lead to a useful URL for an image, but it gets published as such
#
sknebel
-> other side tries to load an image from there and fails, and apparently shows that as blank
#
[snarfed]
ah interesting. yeah BF (via granary) interprets u-featured as a specific kind of u-photo. I should probably ignore it if the value isn't usable? looking at the log...
#
sknebel
the value looks usable though
#
[snarfed]
oh it's a URL but for an HTML page, not an image
#
[snarfed]
https://indieweb.org/featured says u-featured should point to an image
#
sknebel
(parsers also disagree on the value, need to dig into that, but either way, its not useful source markup)
#
sknebel
(maybe <figure> should have u-* parsing rules, but thats a whole other topic :D)
#
epoch
u-featured can be used in h-cards as like the uh... my brain is blanking on what they're called.
#
[snarfed]
epoch: banner image
#
[snarfed]
or header image
#
epoch
whatever the equivalent is of image in activitypub actors
#
[snarfed]
separate from profile/avatar image
#
gRegor
Hm, another oddity is I get different results for `featured` property between URL input and HTML input on php.microformats.io for that post
#
epoch
should the feature page mention the use to indicate a https://indieweb.org/banner_image in h-cards? there's already a mention of its use in h-card
#
epoch
not clear if it is used in a banner-image way for that one mention
#
gRegor
Oh, disregard, had to provide the base URL when parsing the HTML source
#
epoch
looks like the "banner image" is just a larger version of their profile picture on https://jacky.wtf/about
#
gRegor
what is banner image
#
Loqi
🖼 A banner image is a wide image (AKA header image or hero image), typically in an aspect ratio of 2:1 to 4:1, displayed as a backdrop at the top of a profile page or post permalink https://indieweb.org/banner_image
#
capjamesg
That page is now one of my favourite on the internet.
#
capjamesg
*favourites
#
epoch
oh. the banner image page mentions the use of u-featured
#
epoch
"there are no known examples of doing so. ~
#
epoch
welp, I know of at least one example
#
gRegor
hm, yeah, not sure if jacky's is meant as a banner image, has both u-photo and u-featured
#
gRegor
Stubbed https://indieweb.org/banner_image#IndieWeb_Examples if jacky or any others want to add themselves as examples, though.
#
gRegor
Plus the "DO NOT mark up as a u-photo, because a banner image is decorative content..."
#
[snarfed]
^ yeah that seems right, u-photo and u-featured in h-cards should probably mean different things and be separate
#
gRegor
Added BF to /u-featured though. Bridgy Publish was already on there
#
[aciccarello]
↩️ Ah, thanks for the help debugging sknebel
#
epoch
added self as an example to banner_image
#
epoch
had to figure out how to get the {{name}} thing to work first