#dev 2022-10-28

2022-10-28 UTC
jacky, tbbrown, EncryptedGiraffe, geoffo, IWSlackGateway, [campegg], [tw2113_Slack_], gxt, jacky__, alekzandriia, lanodan, gRegorLove_ and gRegorLove__ joined the channel
gRegorLove__, barnaby, pharalia, petermolnar, gRegorLove_, jbrr and walkah joined the channel
#
omz13
if anybody is playing with http/3, the latest safari technology preview seems to be improved (which means it actually works for me now)
gerben, [asuh], gRegorLove_, alekzandriia1, geoffo, chenghiz_, alekzandriia, jacky, sp1ff, bterry and gRegorLove__ joined the channel
barnaby, jacky and gRegorLove_ joined the channel; barnaby left the channel
#
@AliveDevil95
↩️ Fediverse, featuring „The Fragmentation“ where you are not sure, if the other party supports diaspora-Protocol, ActivityPub/-Stream, WebMention/-Stream/-* or another - not yet developed - incompatible protocol to round this up.
(twitter.com/_/status/1586043190544859136)
#
aaronpk
webmentionstream?? webstream??
gRegor joined the channel
#
[tantek]
yesss WebStream™, the packaging up of h-feed, h-entry and all the currently interoperably supported additional properties for various reactions
#
@voxpelli
↩️ I’m thinking of doing more posting of notes thanks to Micropub clients https://indieweb.org/Micropub and Webmention
(twitter.com/_/status/1586045027931017216)
jacky joined the channel
#
voxpelli
WebStream 🤔
jacky and EncryptedGiraffe joined the channel
tbbrown, EncryptedGiraffe, geoffo and [jeremycherfas] joined the channel
#
[tantek]
Switching to here because I have a feeling there may be more dev-like discussions of DNS setup and such
#
[tantek]
[manton] can I set up micro.blog to "serve" an @@ ActivityPub address for me but with my own domain, without having micro.blog responsible for *serving* my domain? e.g. on this screen https://micro.blog/account/mastodon
#
[snarfed]
you'd need to do some setup for AP requests to your domain, along with extra Mastodon quirks like Atom feed requests
#
[tantek]
huh? how is an Atom feed a Mastodon quirk?
#
[snarfed]
because Mastodon looks/looked for it as part of its AP interop, even though it's not part of AP
#
[snarfed]
Bridgy Fed is the example here, details: https://fed.brid.gy/#setup
#
[snarfed]
(fwiw those instructions conflate OStatus and AP req'ts)
#
Saphire
[tantek]: oh oh
#
Saphire
I've made https://saphi.re work as a fediverse profile
#
Saphire
Well. Activity pub
#
Loqi
Saphire Lattice
#
[snarfed]
Saphire nice! Serving both a real personal site (ie not just a single user mastodon instance) and a real AP profile from the same domain is definitely an advanced maneuver
#
[snarfed]
A number of us here do it via Bridgy Fed (above), but some do it custom
#
[snarfed]
How's yours set up?
#
[schmarty]
i keep thinking about doing it custom 🙈
#
Saphire
[schmarty]: nginx magic
#
[snarfed]
Ah, are you running your own Mastodon or other AP implementation alongside your site, and redirecting the AP URLs internally?
#
[schmarty]
Saphire: ah, so just the `.well-known` stuff required to appear as a profile? how about an inbox for follow requests, delivering posts to followers?
#
Saphire
No inbox alas
#
[tantek]
[snarfed] ok once again going to look into the "let people follow me" part of Bridgy Fed
#
Saphire
But been slowly chewing through making an AP server, just general stuff of "check signatures" and such done right now only
#
Saphire
... Well, done only partially, need to actually look stuff up
#
aaronpk
it's definitely...a lot
#
Saphire
Which means either cheating, or actually parsing LD stuff
#
aaronpk
nah you can avoid LD and treat it as JSON
#
Loqi
LD has -1 karma over the last year
#
Saphire
aaronpk: technically someone can say that dhdhhgkdjdj is actually sec:publicKey
#
aaronpk
yeah and you can ignore them
#
Saphire
I /guess/
#
[tantek]
[snarfed] re: that Bridgy Fed setup link, it says: "Apache: add this to your .htaccess file:" so if I do that, how does Bridgy Fed know what to serve when it gets requests?
#
[tantek]
like isn't there some step to "auth" Bridgy Fed or something for that to work or is it all by magic auto-discovery?
#
Saphire
[tantek]: afaik this is a way to forward requests and rewrite them
#
[tantek]
Saphire yes clearly it does that, but rewrite them into WHAT — that's my question
#
[snarfed]
[tantek] all magic auto-discovery
#
Saphire
Huh
#
Saphire
Can you link it
#
aaronpk
"don't worry, JSON-LD documents and ActivityStreams can be understood as plain old simple JSON" https://www.w3.org/TR/activitypub/
#
Saphire
Heh
#
Loqi
LD has -2 karma over the last year
#
[tantek]
does some web searching of things like RewriteBase
#
[tantek]
[snarfed] hmm, instead of using RewriteBase, can't I "just" do:
#
Saphire
[tantek]: rewrites are fun
#
[tantek]
RewriteRule ^/.well-known/(host-meta|webfinger).* https://fed.brid.gy/$0 [redirect=302,last]
#
[tantek]
that makes it an "atomic" one-line Apache rule that should have zero interactions with any other Apache rules in my htaccess
#
[snarfed]
still need RewriteEngine on if you don't already have it, but otherwise sure
#
[tantek]
yes of course, and yes I already have it on
#
[tantek]
I have a bunch of other RewriteRule, RedirectPermanent, RedirectMatch rules, and would prefer no "global" state changes that could have side-effects on any of them
#
[tantek]
assuming this works, I might try a BF docs PR to provide that alternative
#
[snarfed]
please do! I'd happily merge that
#
[tantek]
like "if you already have RewriteEngine on and other Rewrite rules, you can instead add this one-liner:"
#
[tantek]
great, let's test it in production
#
[snarfed]
feel free to just revise the existing snippet in place, and mention that RewriteEngine on is optional
#
[snarfed]
maybe after you have everything working 😀
#
[tantek]
regression test passed, didn't break my home page 😄
#
[tantek]
is there someway to "preview" / validate an AP @@ address without having to follow it?
#
Saphire
[tantek]: just search for it?
#
aaronpk
you should be able to search for it from mastodon
#
[tantek]
I don't have a mastodon lol that's the point
#
aaronpk
i have one for testing
#
[tantek]
"just search it" using what URL?
#
aaronpk
the @@ thing
#
Loqi
agreed.
#
[tantek]
the @@ thing is not a URL
#
[tantek]
can you test @tantek.com @tantek.com
#
Saphire
AP profiles are uhhh..
#
Saphire
They DO have an URL, but they are @nick@domain afaik
#
Saphire
*mostly presented and discovered via
Ruxton joined the channel
#
[tantek]
having a URL which is not the same as how its presented/discovered is a UI bug
#
aaronpk
right, you don't search for mastodon accounts by URL, you search for them by the username syntax
#
aaronpk
it's kind of awful, see charlie's tweet i linked earlier 😂
#
[tantek]
search where though?
#
aaronpk
there's a search box on mastodon once you're logged in
#
[tantek]
so login required for search?
#
[tantek]
that's what I mean, where is the no login required way to "verify" an @@ address?
#
[manton]
Catching up, I guess it’s also possible to use Micro.blog’s ActivityPub support but “copy” it’s WebFinger JSON to your own blog. Maybe. 🙂
#
[tantek]
that seems kinda basic
#
aaronpk
i tried and mastodon says "search that resolves external resources requires authentication" which is fair
#
[tantek]
nah, I expect something like validator.w3.org 😛
#
Saphire
I can try to check it up for you?
#
aaronpk
you may have set your standards too high
#
[manton]
Some kind of username checker/validator would be nice. It is tricky to verify that things are working.
#
[tantek]
^ look I can check that my feed address "works"
#
[tantek]
so why I can't check that an @@ AP feed "works"?
#
[tantek]
ok I'm actually kinda shocked that no one has built this
#
aaronpk
because https://test.activitypub.rocks has been down for a few years 😂
#
Saphire
Hah..
#
[manton]
Heh. And it requires hitting like 3 different resources to verify a username works. Not as easy as downloading a single feed.
#
Saphire
[manton]: yuuup
#
Saphire
See my nginx thing up above
#
[tantek]
webfinger--
#
Loqi
webfinger has -2 karma over the last year
#
aaronpk
also because the username and webfinger part isn't actually in the activitypub spec so what you're really asking is whether it "works" with mastodon and things that have been made to work like mastodon 😂
#
[manton]
Also, one of those resources probably requires content negotiation… Yay.
#
[tantek]
conneg-- before [snarfed] beats me to it
#
Loqi
conneg has -10 karma in this channel over the last year (-13 in all channels)
#
[tantek]
💀 has anything else hit double-digit negative karma lol
#
Saphire
[manton]: well, have to match the Accept header
#
Saphire
...which is why my https://saphi.re page being also the LD-JSON mastodon profile is uh
#
Saphire
Quite a cursed thing
#
Loqi
Saphire Lattice
#
Saphire
Yes thank you Loqi, that's me
#
[tantek]
capjamesg, in the context of a personal site or blog / posts, I like "reader" or "viewer" for someone looking at your site / stuff. "visitor" never made much sense to me because it implies more interactivity that is actually happening in practice
#
[manton]
[aaronpk] I’m surprised there isn’t a “Mastodon spec” that rolls everything together or at least documents it. Haven’t checked recently, but it’s definitely not enough to just say “implement ActivityPub”… I feel like I was using curl to unravel it.
#
aaronpk
i think it's called the mastodon docs 😂
#
capjamesg
[tantek] I like reader and viewer too.
#
capjamesg
How about for someone who is logged in to a service, though?
#
[tantek]
your website is not a "service" though is it?
#
[tantek]
yo can someone plz check to see if @tantek.com @tantek.com does anything in their AP-supporting web UI since there is no public validator for @@ usernames?
#
[tantek]
and if not, what error message(s) etc. you see?
#
aaronpk
"503 Remote SSL certificate could not be verified"
EncryptedGiraffe and jacky joined the channel
#
[tantek]
uh oh did I break my LetsEncrypt with that RewriteRule?
#
[tantek]
well-known--
#
Loqi
well-known has -2 karma over the last year
#
[tantek]
shouldn't be, hmmm
#
[tantek]
LetsEncrypt uses `/.well-known/acme-challenge/`
#
[tantek]
which shouldn't be affected by RewriteRule ^/.well-known/(host-meta|webfinger).*
#
[snarfed]
ACME challenges are only used when requesting a cert
#
[snarfed]
not during normal serving
#
[snarfed]
I'm not actually seeing that the Bridgy Fed redirects are serving on tantek.com
#
[tantek]
how would I test that?
#
capjamesg
Is non-paying customer a good substitute for user?
#
[tantek]
exactly, we need some better trouble shooting docs here
#
aaronpk
i would test to make sure those URLs work before going further to test the end-to-end
#
capjamesg
Or "free tier" customer?
#
[tantek]
still nope, it indicates you intend an extractive relationship
#
Saphire
aaronpk: that sounds like it's complaining about the host it redirects to
#
Saphire
capjamesg: I feel like that's an even worse option than a "user"
#
aaronpk
that's what i was assuming, but then i tried visiting the link and there's no redirect at all
#
Saphire
Er?
#
Saphire
I mean, it's not a "redirect"
#
[snarfed]
right. http[s]:<//tantek.com/.well-known/*> URLs are currently 404ing, not 302ing
#
capjamesg
I'm not a big fan of those options either.
#
Saphire
It's server fetching a remote page and serving it as your own
#
capjamesg
I'm brainstorming.
#
[tantek]
[snarfed] I've verified that I have this in my .htaccess:
#
[tantek]
RewriteRule ^/.well-known/(host-meta|webfinger).* https://fed.brid.gy/$0 [redirect=302,last]
#
[tantek]
I'm going to try dropping that first /
#
[snarfed]
ah yeah that's it
#
[snarfed]
http://tantek.com//.well-known/webfinger correctly redirects right now 😆
#
[tantek]
aaronpk, retry?
#
aaronpk
i see it redirects to bridgy now
tbbrown joined the channel
#
Saphire
Meanwhile mine x3 https://i.imgur.com/wS6TVgr.png
#
[tantek]
so it doesn't show my recent posts?
#
Saphire
Ooh?
#
aaronpk
only new ones after someone on the server follows you
#
[tantek]
why not? that's not the typical RSS feed reader expectation
#
[snarfed]
no, AP doesn't use Atom, you have to trigger Bridgy Fed to deliver posts
#
aaronpk
AP is nothing like RSS readers
#
[snarfed]
it'd be a nice Bridgy Fed feature to proactively load the last 10 or so
geoffo joined the channel
#
gRegor
Re "user", some replacement ideas at the bottom of: https://uxdesign.cc/stop-talking-about-users-in-tech-e11b1bedef9d
#
[tantek]
that seems like a better experience than the "look it's blank" experience currently
#
aaronpk
to be fair, the "it's blank" problem is not unique to bridgy
#
[manton]
Yeah, Micro.blog users tell me about this too. Why are there no posts on my account in Mastodon?
#
aaronpk
it happens mastodon-to-mastodon too
#
Saphire
Yeeeah
#
Saphire
It's a very lazy protocol
#
aaronpk
lazy except that mastodon blasts out account delete messages to everyone all the time
#
aaronpk
my inbox is full of delete messages for accounts i've never heard of
#
[snarfed]
oh man tell me about it
#
[snarfed]
I also tend to encourage almost everyone to use Bridgy non-Fed for Mastodon instead, since the appropriate audience for Fed seems smaller and smaller, so I struggle with prioritizing BF feature development and even maintenance
#
sknebel
its not about lazy vs eager, its just that its push-based
#
aaronpk
why can't it send a delete account to me only if i've interacted with that account before?
#
[manton]
Yeah, it’s very chatty, and not well-suited for filling in older posts. When migrating between Mastodon instances, I don’t think you can import old posts. Very counter-intuitive to someone used to a blog, but I guess fits moving from Twitter to Facebook.
#
[manton]
(For example.)
#
[manton]
Great comment. 🙂
#
[manton]
I queue almost all ActivityPub work to the background, and it’s just always churning on something… Just checked my queue and it has about 700 items in it. No idea what they are doing! I should have better stats or graphs or logging for it. 🙂
#
[manton]
Probably most work is sending posts to followers, but wouldn’t surprise me if there are deletes and other random things in there.
jacky joined the channel
#
Saphire
Oookay
#
Saphire
I need to figure out how to like, dump some header data out from a bunch of requests
jacky joined the channel
#
[KevinMarks]
It's a lot more like a mysql journal than a sensible read protocol
#
[KevinMarks]
Same with Bluesky - over complicated RPC with verbs. The point of AP was to be like h-entry posts work - declarative not functions
jacky joined the channel
#
@HongPong
↩️ bridgy has been around many years but i haven't checked lately https://brid.gy/
(twitter.com/_/status/1586144407044362240)