#dev 2023-09-25

2023-09-25 UTC
#
[tantek]
yup we can generalize/abstract as necessary when there's critical mass
#
[tantek]
no premature abstractions 🙂
#
[tantek]
I wonder if there is a limit to the number of hashtags that Mastodon will display under an article post like that
#
[snarfed]
yeah Chris Messina has been excited about Masto 4.2 hashtags in another group chat I'm in
#
[snarfed]
I meant https://fed.brid.gy/docs#which-parts to discuss content vs title, but I definitely didn't mean it to imply that other parts are ignored. other parts of the docs mention hashtags, eg https://fed.brid.gy/docs#hashtags
#
[tantek]
yeah I read it as categories / tags / hashtags are ignored in articles
#
[tantek]
hmm I just tried adding p-category tags to my article and repinging Bridgy Fed and it doesn't show up in the dashboard
#
[tantek]
maybe I need to change the content
#
[tantek]
oh wait I *did* change the content, so I could one more explicit visible p-category
#
[tantek]
maybe I need to change the article name
#
[tantek]
alright, tried changing article name and resending a webmention to BF
#
[tantek]
argh nm I forgot my auto-bridgyfed-link expires in 24h, adding a manual one to retry
#
[catgirlinspace]
hm feel like my website architecture is gonnya end up being kinda silly. there's not rlly any good html parsing libraries written in lua tmk and im too dumb to write one, so probably just gonnya have a little service in python that handles parsing html and sending out webmentions maybe...
#
[tantek]
well that worked a little better (webmentioning BF to update my article post), BF shows an update on the dashboard now
#
[tantek]
but clicking on the second column for the update (e.g. "a minute ago") shows no log found? [snarfed] did this update of an article post surface a logging bug in Bridgy Fed? https://fed.brid.gy/web/tantek.com
#
Loqi
[preview] Tantek Çelik
#
[snarfed]
yeah logging is a bit flaky, sorry
#
[snarfed]
at least, log serving
#
[tantek]
ah no worries
#
Loqi
[preview] [snarfed] #620 Logs are broken?
#
[snarfed]
different issue now but still
#
[tantek]
not seeing any changes in tag pages on sites that received my article post so perhaps there's still that bug in Mastodon where it doesn't see/process new (hash)tags/categories in Updates
#
[tantek]
will clearly have to do another article post with explicit category markup to see if that works like gRegor's article
#
[snarfed]
also I haven't followed whether the 4.2 changes affected what they expect in incoming federated AS2 tags/content etc. if anyone wants to investigate, feel free to update https://github.com/snarfed/bridgy-fed/issues/45
#
Loqi
[preview] [EdwardHinkle] #45 Post with hashtag doesn’t get linked?
#
gRegor
oh man I hope not, haha
#
[snarfed]
or probably better, new issue
geoffo and gRegorLove_ joined the channel
#
c​apjamesg
aaronpk Someone on HN replied to the HWC post last week asking about timezones. It would be great if they showed up on the Meetable homepage. Happy to submit a PR!
capjamesg_, alecjonathon_, ancarda_, srushe_, vikanezrimaya_, gwg_, eb___, capjamesg, alecjonathon, ancarda, vikanezrimaya, eb_, srushe, moose333 and Renfield joined the channel
#
aaronpk
capjamesg: good point, right now the timezone appears if you hover over the time but it probably makes sense to just show it next to the time! Go for it! Should be an easy one to figure out
lqdev joined the channel
#
[catgirlinspace]
how should retries be done for failed webmentions? just keep retrying? give up if the first one fails?
#
c​apjamesg
It depends what error you are seeing.
#
c​apjamesg
Process HTTP codes as standard.
#
c​apjamesg
So if it is a Too Many Requests code, wait then try again.
#
c​apjamesg
If it is a 500 maybe wait for some time and try again.
lqdev and AramZS joined the channel
#
[tantek]
Is that not an FAQ on /webmention or the wm page for devs? I feel like it should be. What does the spec say about retries
pharalia_ joined the channel
#
c​apjamesg
It doesn't mention retry/retries.
#
c​apjamesg
[snarfed] That logic sounds good.
#
c​apjamesg
(re: Webmention retries)
#
[snarfed]
thinking through protocol bridging and user discovery in "push" based protocols: https://github.com/snarfed/bridgy-fed/issues/647 . feedback is welcome!
#
Loqi
[preview] [snarfed] #647 User discovery for push based protocols
IWSlackGateway, [tantek], [pfefferle], [snarfed], [aciccarello] and [catgirlinspace] joined the channel
#
[tantek]
fascinating challenge and questioning of default assumptions (pull vs push based user profile info)
[KevinMarks] joined the channel
#
Loqi
[preview] [Evan Prodromou] One thing that I don't like about Mastodon is that I can't edit the replies to my post.So, if someone replies to something I said with a non sequitur, the only way I can remove it is by blocking the replier.It'd be nice to remove the reply without bl...
#
sknebel
I don't think "work like webmentions" quite makes sense
#
[KevinMarks]
the point being that they get shown because anyone who sees the original post gets sent an InReplyTo by ActivityPub
[Niklas_Siefke] joined the channel
#
sknebel
they are not. and that's also not how webmentions work?
#
[snarfed]
we make a useful distinction in webmentions between _receiving_ a webmention and _moderating_ it, ie choosing whether to display it. sadly in the fediverse those kinds of moderation tools are generally for admins, not users
#
sknebel
in indieweb terms this is much more of a reader implementation question, unrelated to WMs (complicated by the fact that mastodon instances are readers that mix context received through different users)
#
[snarfed]
the other key difference between the protocols is that webmention has just a sender and a receiver (salmentions notwithstanding), but the fediverse has many other instances that are neither but that may still receive and display a reply, and aren't subject to the receiver's moderation
[manton] joined the channel
#
[manton]
[snarfed] That AT Proto bridge is very cool. I tried it from http://Micro.blog and it worked. But I tried it on Mastodon and get an error that usernames can only contain letters, numbers, etc. I wonder if Mastodon 4.2 has made this more strict, so the dot in domains via Bridgy won’t work?
#
[snarfed]
[manton] I got that a few times, but then those accounts generally worked when I retried. not sure what's happening there
#
[snarfed]
sknebel++
#
Loqi
sknebel has 20 karma in this channel over the last year (42 in all channels)
#
[manton]
[snarfed] Ah. You’re right, it’s working now. Seems like something on the Mastodon side is flaky.
#
sknebel
"the other key difference between the protocols" - hence the reader point. Mastodon acts much more like a reader that if it sees a reply to a post in any of the feeds it ingests, it remembers that and shows it in context if someone view that replied-to post
#
sknebel
*views
#
[KevinMarks]
Right, I was a bit unclear - the AP ones are like salmentions (presumably because Mastodon used to implement Salmon) and so you'd need a new action to send for 'original receiver wants to hide this reply' to other sites that see it.
#
sknebel
rather not. the replied-to post is not pushing out notifications about replies
#
sknebel
if it did, a system to stop pushing those out or filter them or revoke them would be much easier to add
#
sknebel
(and it wouldn't have the problem of people not seeing other replies to a post)
#
Loqi
sknebel has 21 karma in this channel over the last year (43 in all channels)
#
[tantek]
sknebel++ I agree with the distinctions that sknebel is making — the original "work like webmentions" is both frankly technically false and misleading
#
[tantek]
and no it's not like salmentions either, that's also missing the point
#
[tantek]
in the webiverse 😛, a post has a single permalink (which the author controls the content / software thereof), and thus a single place where the author can moderate, mute, block replies etc. in Mastodon, since Mastodon is both a publishing tool and a reader that aggregates replies directly rather than from the original post, the author has no control over what (other) Mastodon instances show under their posts
#
[snarfed]
(hell, right now the author generally has no control over what _their own_ Mastodon instance shows under their post)
#
[tantek]
you could arguably say that's due to the ActivityPub "deliver to all the inboxes!" model, or you could say that's a UI choice by Mastodon (an instance could check an original post to see which replies it has (dis)allowed)
#
[tantek]
[snarfed] that too
#
[snarfed]
nit: AP is promiscuous, but for replies specifically it's not quite deliver to all the inboxes. notably, if you reply to someone, your instance generally doesn't deliver to all of their followers, only to their own instance
#
[snarfed]
(and yes, sometimes to other audiences following AS2 audience targeting, which I've never fully done a deep dive on, and I suspect not many other AP implementors have either)
#
[tantek]
the reason this is also false ("the AP ones are like salmentions") is that no, the AP ones are not indirect like salmentions, but rather a consequence of the "deliver to all the inboxes!" model of AP, where "downstream" replies still all deliver directly to all the upstream posts in a reply thread. if it were salmention based, then a reply would ONLY deliver to its immediate in-reply-to, which would then send a salmention to the
#
[tantek]
post immediately upthread for it to decide whether or not it wants to pull-in a downstream reply, and then that post would send a salmention to its post immediately upthread etc.
#
[tantek]
[snarfed] my understanding is that in AP, a reply delivers to directly everyone in the upstream /canoe, thus having the effect of deliver to all the instances of all the posts upthread
#
[tantek]
this may be due to @-mention delivery semantics/expectations but the impact is the same
#
[snarfed]
maybe. I honestly don't fully understand that part of the spec, since it's more in AS2 than AP
#
[snarfed]
importantly though you _don't_ deliver to the original author's followers. so when those instances show the post and its replies, the generally only have a small subset of all replies
#
[snarfed]
I'd love to read a good explainer on AS2 audience targeting, both what's specified and what the fediverse does in practice. haven't seen one yet
#
[snarfed]
(if I ever read such an explainer, I'd probably fix BF to do it right. right now it only delivers to the direct `inReplyTo`'s inbox, nowhere else 🦆)
#
[KevinMarks]
especially the interaction with sharedInbox
#
aaronpk
I don't think anyone has a good idea of how it's "supposed" to work, except maybe cwebber
#
[snarfed]
aaronpk unrelated, did you plug your site into https://fed.brid.gy/web-site just now?
#
[snarfed]
it broke because http://aaronparecki.com is blocked, https://github.com/snarfed/bridgy-fed/issues/348 , I've fixed that to at least be more graceful
#
[tantek]
lol [snarfed] [KevinMarks] just noticed Gargron saying nearly literally what I said above about "deliver to all the inboxes!" https://mastodon.social/@Gargron/111126677086500897
#
[tantek]
"Subscribers don't crawl it to get replies, they receive replies directly from their source."
#
Loqi
[preview] [Eugen Rochko] @thisismissem @evan I assume you mean the `replies` collection but it's not authoritative. Subscribers don't crawl it to get replies, they receive replies directly from their source.
#
[tantek]
also that jwz post in thread provides quite good contrasts between user expectations and software/protocol behaviors as well as the AP 'splainers that jwz is paraphrasing: https://www.jwz.org/blog/2023/08/mastodons-mastodonts/
#
[tantek]
There's both an important design principle here, and an interesting tension, especially for "public figure" accounts
#
[tantek]
the rough design principle which I think applies to 99.9% of users is, a user should have full agency control over the replies/responses shown on their posts. full stop.
#
[tantek]
this works in the IndieWeb because a user/author's posts are on their own site where they fully control the display of their posts and any replies/responses
#
[tantek]
also because Social Readers read a post authoritatively from its permalink and then show any comments by looking at the nested h-feed therein — that is, even if someone is reading posts from an author *somewhere else*, those other reading tools are still treating the original post permalink as canonical and its set of responses as canonical and thus displaying ONLY what the original author wants shown on their post
#
[tantek]
this is all by design
#
[snarfed]
tantek++ yup. seems like the ideal form of that is full delivery promiscuity, ie try hard to get everything to everywhere it should/could be available, plus full user-level moderation tools
#
Loqi
tantek has 32 karma in this channel over the last year (104 in all channels)
#
[tantek]
now the 0.1% (rough estimate) exception, maybe even lower, for "public figures". this was an argument I saw play out on Twitter, that for example, "public figures" especially prominent politicians, should not be able to block criticisms, which has some merit
btrem joined the channel
#
[snarfed]
those kinds of choices can also be made by policies _outside_ the platform, eg gov'ts themselves
#
[tantek]
here in the US the federal appeals court upheld something like that in a decision, in that the former potus's personal account was barred from blocking accounts, and then when he was no longer potus, the supreme court dismissed the case (so he could once again start blocking accounts) https://www.theguardian.com/us-news/2021/apr/05/trump-twitter-block-case-supreme-court-decision
#
[tantek]
so maybe the distinction there is accounts of politicians rather than all "public figures" (i.e. Taylor Swift can still block people, because what principle is served by displaying mean comments to entertainers?)
#
[tantek]
[snarfed] true, perhaps we design protocols and services/software to allow such author blocking of all responses universally, and then leave it up to govt's to require allowing on a case-by-case basis unblocking? though if so, doesn't the protcol need a mechanism for admins/implementers to "flip that on"?
#
[snarfed]
doesn't have to be a software feature. gov'ts have their own law enforcement 😁
#
[snarfed]
(in this case it wouldn't be police specifically, obviously, but still)
#
[snarfed]
(we're back in #indieweb territory btw)
#
[tantek]
sure, it "doesn't have to be", however I'm conscious of instance admintax
#
[tantek]
like if every admin had to manually hack something to comply, that would be not good
#
[tantek]
even better if the protocol allows for admin-level exception switches like that
#
[snarfed]
my point is it doesn't have to be enforced technically at all. if an institution chooses to say that some of its members have to do certain things, or not do certain things, eg not moderate replies on social media, they'll likely have their own external way of auditing and enforcing that, especially for their members' "official" accounts. they don't necessarily need functionality in the platform itself
#
[snarfed]
technical support is fine, but not strictly necessary