#dev 2023-03-27

2023-03-27 UTC
lagash and [schmarty] joined the channel
#
aaronpk
Oh gosh
lagash joined the channel
lagash, Soni, benatkin, IWSlackGateway, rubenwardy and bterry joined the channel
jjuran_, [KevinMarks], [jacky], geoffo, chenghiz_, lagash, [dave] and [manton] joined the channel
#
[manton]
Found another place where content negotiation is required that I had missed. For “Announce”, Mastodon will try to pull the JSON version of a permalink. Problem is Micro.blog’s blog posts are served statically and ignore Accept headers. I can rewire this to forward Accept to the backend platform, but it may be a problem for other statically-generated blogs.
#
[manton]
Wonder if this affects Bridgy Fed?
[aciccarello] and [tantek] joined the channel
#
[tantek]
conneg << Issue: Does not work with static sites, e.g. [[SSG]]s.
#
Loqi
ok, I added "Issue: Does not work with static sites, e.g. [[SSG]]s." to the "See Also" section of /conneg https://indieweb.org/wiki/index.php?diff=87200&oldid=87182
strugee joined the channel
#
[jacky]
that seems to be a feature of SSG, no? not being able to do content negotiation?
#
[jacky]
not necessarily an issue of conneg itself
[snarfed] joined the channel
#
[snarfed]
kind of both, if some things require conneg and therefore exclude SSGs
#
[jacky]
there _is_ the <link rel=alternative> flow that could help (but that'd also require people to check that if they detect a HTML page, I guess)
#
[jacky]
(which also seems like a inevitability if you're fetching a resource via GETs at least)
#
[snarfed]
right, rel=alternate is a good alternative, needs to be standardized
#
[manton]
Looking at the spec, I think I see where I went wrong:
#
[manton]
> The HTTP GET method may be dereferenced against an object’s id property to retrieve the activity. Servers MAY use HTTP content negotiation as defined in [RFC7231] to select the type of data to return in response to a request, but MUST present the ActivityStreams object representation in response to application/ld+json; profile=“https://www.w3.org/ns/activitystreams”
#
[manton]
I made the `id` and `url` the same URL. In theory, I could have made the `id` point to a dynamic, smarter endpoint.
#
[manton]
rel=alternate would solve this. It requires another HTTP request, but is much more flexible than conneg.
strugee_ joined the channel
#
[KevinMarks]
Would making the I'd point to the file ending in .json work?
#
[manton]
Yes, I think so. But at this point, I don’t think I want to change the IDs, for fear of breaking other things.
#
[manton]
If you’re using your own domain name, I like that the actor URL and post URLs actually use that domain name. Seems good for portability.
#
[jacky]
Yeah, this is really yelling "AP needs an actual test suite" really loudly imo
#
[jacky]
like I can imagine if you had something like that, this could have been avoided/a lot easier for you [manton]
lagash and bret joined the channel
#
sknebel
I kinda feel like at this point an easy interop testing setup might be more useful in practice vs a spec test suite
#
sknebel
what is URL?
#
Loqi
URL design is the practice of deliberately designing URLs, in particular, permalinks, typically for a better UX for everyone who creates, reads, and shares content https://indieweb.org/url
[KevinMarks] joined the channel
#
[jacky]
sknebel: agreed
#
[jacky]
just replied to that issue saying I'll add that rel=alt logic to Lighhthouse (which I need to sit down, take a week off and hack out a prototype with someone)
gRegor and lagash joined the channel
#
[tantek]
skenebel, "interop testing setup" is roughly what IETF has done in the past for some specs, and the problem is that it only serves as a synchronous checkpoint in time, and does not persist over time
#
[tantek]
that approach also creates a two tier (or more) dynamic to implementations, those that got to participate in the "interop testing setup" and those that did not, e.g. future implementations
#
[tantek]
in that way "interop testing setup" has an anti-plurality bias to it
#
[tantek]
test suites are MUCH better for interop *over time*, e.g. a many years old implementation that passes a test suite will have a very good chance of interoperating with a brand new implementation that passes the test suite
#
[tantek]
(depends on unambiguous spec text + reasonably thorough test suites of course)
#
[tantek]
Webmention is a decent example of this
#
[snarfed]
tantek++
#
Loqi
tantek has 26 karma in this channel over the last year (83 in all channels)
#
[tantek]
what is a test suite
#
Loqi
It looks like we don't have a page for "test suite" yet. Would you like to create it? (Or just say "test suite is ____", a sentence describing the term)
#
[tantek]
test suite is a set of [[tests]] usually for a particular [[specification]] for implementations to check their degree of conformance to the specification, with tests for each feature therein; nearly all IndieWeb [[standards]] have test suites.
bterry joined the channel
#
aaronpk
i think sknebel's point was more about the contents of the test suite vs a single point in time interop test
#
aaronpk
i agree that an activitypub spec test suite isn't super useful at this point, and what would be far better is a test suite that tests the things that are actually required to interop with mastodon and others
lagash joined the channel
#
[tantek]
That sounds like skipping a step which is to explicitly identify the subset of the ActivityPub spec which is "actually required to interop"
#
[tantek]
That can start as a "profile" document of the existing spec (thus postponing a need to update the current spec, for now)
#
[tantek]
Then write a test suite for that profile
#
aaronpk
That's what the whole email thread and phone call is about
#
[tantek]
there's a lot more in the emails than that, and the scope of the call is beyond that as well
#
[tantek]
from the summary: "Session with members of the W3C's Social Web Incubator Community Group on the future of ActivityPub standardization and related subjects."
#
[tantek]
a test suite for a subset of one spec fits into that summary, but does not define the "whole" of that
nertzy joined the channel