#dev 2022-12-20
2022-12-20 UTC
# [snarfed]2 hah, I imagine
sp1ff`` joined the channel
# [KevinMarks] not sure what triggers the verification - it looks like it is asking for text/html though https://github.com/mastodon/mastodon/blob/e98833748e80275a88560155a0b912667dd2d70b/app/services/verify_link_service.rb
# [KevinMarks] it's an async service in the SideKiq queue kicked off by a worker from various other points, but tracing beyond that is tricky - maybe from here?https://github.com/mastodon/mastodon/blob/e98833748e80275a88560155a0b912667dd2d70b/app/controllers/settings/profiles_controller.rb#L11
# [KevinMarks] right, but there does seem to be just one code path for it. I assume it is using https://aaronparecki.com/aaronpk as your profile url, as that is what it gives as 'original url'
# [KevinMarks] feels like you need a running instance and to look at the logs
# [snarfed]2 it does
# [snarfed]2 ugh, gl, deb(h)ugops
# [KevinMarks] This is the kind of thing that honeycomb.io is useful for. It can auto instrument a Ruby app and give you back traces.
starrwulfe[m] joined the channel
# [KevinMarks] It queues a sidekiq task to do it
# [KevinMarks] it's on the default queue
# [KevinMarks] my mastodon tab has 2.9GB of RAM at the moment
# aaronpk according to this there should be a link to the sidekiq admin panel inside mastodon but i can't find it "If you log into the admin panel, you can find a link to monitor its state." https://www.zerotohero.dev/mastodon-101/
# aaronpk according to this the link should be above the logout link https://github.com/mastodon/mastodon/blob/7fdeed5fbca1b6b761029870f02a3f812288f0aa/config/navigation.rb
# starrwulfe[m] err. unless you're planning on rolling your instance out to a few hundred friends, maybe give pleroma/soapbox a try? I hear it's better on admin and resources for smaller installs.
# [KevinMarks] if you want to try the honeycomb path, there is https://github.com/mastodon/mastodon/pull/20338
geoffo joined the channel
# starrwulfe[m] aaronpk: Ohh, OK carry on.
# starrwulfe[m] *scurries back to sidelines*
# aaronpk tried with and without trailing slash and that still didn't work https://github.com/mastodon/mastodon/issues/20459
bterry1 joined the channel
gerben joined the channel
[iambismark] joined the channel
# [snarfed]2 GWG what's the post or tweet?
jjuran and mro joined the channel
# [snarfed]2 thanks for the report! I think this is a Bridgy Micropub bug, I'll look more
tiim, gRegor, mro, jjuran, [pfefferle] and rupl joined the channel
# IWDiscordRelay <capjamesg#4492> I made a thing: https://novacast.dev/u/jgbr?query=Adventures+on+the+IndieWeb
# IWDiscordRelay <capjamesg#4492> (Almost, give or take a few PDFs and other non-HTML assets), all of my bookmarks now show up on that site. The goal is to provide a more exploratory interface through which you can navigate my bookmarks.
mro joined the channel
# capjamesg [snarfed] Does granary show images in RSS? I can't see my featured photos https://granary.io/url?input=html&output=rss&url=https%3A%2F%2Fjamesg.blog.
# IWDiscordRelay <capjamesg#4492> Would anyone be willing to provide me with a big RSS feed of their site to create a content recommendation engine for you to try?
mro joined the channel
# [KevinMarks] Alex Russell has been measuring desktop performance on Edge, and the story is not great https://infrequently.org/2022/12/performance-baseline-2023/
barnaby joined the channel
# [jacky] as I'm working on Sele, https://git.jacky.wtf/indieweb/sele/issues/27#issuecomment-2221 is something I'm running into
# [jacky] but I'm stuck b/c currently Sele can confirm a local account's identity using either e-mail or a password for now and I plan to add support for PGP, AGE and _potentially_ RelMeAuth once I figure out how to do it while not needing to bring in any new libraries (aka can I craft these OAuth requests using a library? they're not hard!)
geoffo joined the channel
geoffo joined the channel
# [jacky] this spec looks like it could help even bring something like OCAP over OAuth tbh https://www.ietf.org/archive/id/draft-ietf-oauth-rar-21.html#name-request-parameter-authoriza
# @cagrimmett I like the idea of @akirk's Friends plugin for #WordPress: Part feed reader, part private social network, part indieauth. https://wpfriends.at/ (twitter.com/_/status/1605235393422856192)
geoffo, gRegor and [Michelle_Moore] joined the channel
# [snarfed]2 capjamesg hmm, re granary and featured images in granary, I see all of the five u-featured imgs on https://jamesg.blog/ showing up in <img> tags in the item.description elements in https://granary.io/url?input=html&output=rss&url=https://jamesg.blog/
# [snarfed]2 (fwiw, all five of those images on your site have both u-photo and u-featured)
# [tantek] GWG, re: "if someone retrieves the post in the editor after publishing, should I disable things that have already been successfully sent?" really depends on the specific destination. I wrote down some thoughts about how to handle this for Twitter in particular, but it's not clear how much it's worth your time to code anything Twitter-specific at this point 😕
# [tantek] [snarfed] that problem of Bridgy Fed taking too long to respond to Webmentions finally hit the logic on my site hard enough that I need to go rewrite some code to put the BridgyFed Webmention *last* in my publishing code, and maybe even figure out a way to do it asynchronously without waiting for an error response.
[schmarty] joined the channel
# [schmarty] it has me thinking about more thoughtful webmention sending for my site. making them actual jobs, catching errors and handling retries, ...
# [schmarty] currently i do like at-most-once sending which is design to fail towards "don't bother if anything goes weird."
# [snarfed]2 [tantek]++ sorry for the trouble!
# [tantek] might be worth starting a new Brainstorming subsection in /Webmention-developer if there isn't one already on that
# barnaby as much as I like the follow-your-nose discovery for webmention endpoints, one advantage of something like .well-known is that you can check once per domain rather theoretically having to check once per resource. I vaguely remember [snarfed]2 mentioning something about bridgy aggressively caching webmention endpoints, was that caching done per-domain?
# [snarfed]2 tantek yup, BF is at least a technical power user thing
# [snarfed]2 the docs don't assume users write their own code to send wms, but they do assume technical understanding of those building blocks
# [snarfed]2 barnaby yup, per domain and scheme
# [snarfed]2 2h expiration
# [snarfed]2 negative results are also cached. home page vs other pages are separate, otherwise domain-wide
# [schmarty] i forget, does bridgy have a blocklist of domains that it never checks?
# [snarfed]2 [schmarty] yup, a big one, https://github.com/snarfed/bridgy/blob/main/domain_blocklist.txt
# [schmarty] ooh holding space for future .onion integration :star-struck:
# [schmarty] yes this list is very good snarfed++
# [snarfed]2 barnaby oh I think that was just that one, pet.t-com.ne.jp
# Loqi It looks like we don't have a page for "follow your nose" yet. Would you like to create it? (Or just say "follow your nose is ____", a sentence describing the term)
# [tantek] follow your nose is an intentional local and web-centric methodology for designing [[discovery algorithms]] that start with a specific URL that you want to discover things about, and then inspect its contents, often for specific hyperlink [[rel]] values to predictably discover information about and resources for that URL, in contrast to the ”[[well-known]]” approach of instead checking outside the URL, like the domain of a URL wi
# [snarfed]2 remind me of the use case for advertising different wm endpoints (or none) per page? webmentions already include the target URL, which lets you change behavior per page in the same way
# [tantek] barnaby, if you'd like to capture your experience with "follow your nose" style discovery / contrasts, please add to a new Brainstorming or Thoughts section on /follow_your_nose
# [tantek] follow your nose << https://www.w3.org/wiki/FollowYourNose
# Loqi ok, I added "https://www.w3.org/wiki/FollowYourNose" to the "See Also" section of /follow_your_nose https://indieweb.org/wiki/index.php?diff=85185&oldid=85184
# [tantek] follow your nose << 2002 possible first use of concept/phrase: https://lists.w3.org/Archives/Public/www-webont-wg/2002Oct/0162.html (CW: [[Semantic Web]])
# Loqi ok, I added "2002 possible first use of concept/phrase: https://lists.w3.org/Archives/Public/www-webont-wg/2002Oct/0162.html (CW: [[Semantic Web]])" to the "See Also" section of /follow_your_nose https://indieweb.org/wiki/index.php?diff=85186&oldid=85185
# barnaby I don’t recall any discussion of concrete use cases for having different webmention endpoints per resource. I think it’s mostly a technical consequence of the follow-your-nose discovery approach, coupled with no explicit way of saying “use this webmention endpoint for all pages on this domain”
# [tantek] barnaby, yes exactly this: "technical consequence of the follow-your-nose discovery approach", please expand on what you mean by that in the /follow_your_nose article!
# [schmarty] i think of publishing a wm endpoint per-page as a way of indicating whether the page/post accepts webmentions or not.
# barnaby and potentially some algorithms which could be proposed, e.g. “cache webmention endpoints per-domain, attempt to use that endpoint for all webmention requests for that domain, if sending a webmention for a particular resource throws an error then refetch a webmention endpoint from that page and retry”
# [snarfed]2 true!
# [tantek] follow your nose << Advantage: more predictable portability. When you move a document that is on a one site to another, everything ”about” that document moves with it, there’s no need to check ”other places” (whether at the root of the domain or somewhere else) for ”other things that need to move with it”.
# Loqi ok, I added "Advantage: more predictable portability. When you move a document that is on a one site to another, everything ”about” that document moves with it, there’s no need to check ”other places” (whether at the root of the domain or somewhere else) for ”other things that need to move with it”." to the "See Also" section of /follow_your_nose https://indieweb.org/wiki/index.php?diff=85189&oldid=85188
# [tantek] GWG, in that case, short answer here: https://indieweb.org/Twitter#POSSE_Updates_to_Twitter
# barnaby [tantek]: I feel like that advantage is a double-edged sword, at least for webmention endpoint discovery. If you’re migrating websites, there’s a good chance that your webmention endpoint would change, in which case it’s easier to update it in one place (a la .well-known) than it is for every single document. It certainly applies for rels which are somehow specific to that document, so maybe it’s worth categorising rels into document-specific
# [snarfed]2 also those benefits and drawbacks both assume static sites with html pages that aren't auto-generated, which are less and less common these days
# [tantek] follow your nose << Advantage: is anti-fragile, that is, when a document only depends on follow your nose discovery methods, you can fully inspect it for any and all dependencies, whereas in contrast, for anything that depends on any hardcoded domain-based paths (like well-known), you have no idea when you are ”done” moving something or what new dependencies may have accrued by new hardcoded paths.
# Loqi ok, I added "Advantage: is anti-fragile, that is, when a document only depends on follow your nose discovery methods, you can fully inspect it for any and all dependencies, whereas in contrast, for anything that depends on any hardcoded domain-based paths (like well-known), you have no idea when you are ”done” moving something or what new dependencies may have accrued by new hardcoded paths." to the "See Also" section of /follow_your_nose https://indieweb.org/wiki/index.php?diff=85191&oldid=85190
# Loqi It looks like we don't have a page for "thundering herd" yet. Would you like to create it? (Or just say "thundering herd is ____", a sentence describing the term)
# [KevinMarks] Now I want to create /.poorly-known for deprecated endpoints
# [snarfed]2 [KevinMarks]++
# [snarfed]2 capjamesg yes! they're there now, right?
# [tantek] [KevinMarks] make that /.well-abandoned and I'm in 🙂
# [tantek] tempted to redirect /.well-actually to indieweb.org/follow_your_nose
# [tantek] follow your nose << Advantage: can work even when documents are places without domains or root paths that the document owner can control, like local multi-user file systems, or alternative non-DNS systems like [[IPFS]], in contrast to [[well-known]] which makes assumptions about domains and root control.
# Loqi ok, I added "Advantage: can work even when documents are places without domains or root paths that the document owner can control, like local multi-user file systems, or alternative non-DNS systems like [[IPFS]], in contrast to [[well-known]] which makes assumptions about domains and root control." to the "See Also" section of /follow_your_nose https://indieweb.org/wiki/index.php?diff=85193&oldid=85191
# [KevinMarks] RSS does not define one (except as enclosure, which would not do what you want)
# [tantek] [snarfed] in the interim, if there’s an easy/simple recipe for using curl asynchronously to send a webmention, might be worth adding a subsection / short example such "async curl" here: https://indieweb.org/Webmention-developer#How_to_send_webmentions_with_cURL
[chrisaldrich] joined the channel
# barnaby the one case I’m not so sure about in that mitigation is whether to cache negative cases, and if so for how long. There could definitely be cases where one page on a site doesn’t have a webmention endpoint, but others do, and if the first one is fetched and the negative result cached, results in missed webmention sends
Jan-LukasElse[m] left the channel
Nuve, bterry2 and tiim joined the channel
# [snarfed]2 afaik the spec is a few steps behind any of this, it explicitly doesn't allow caching endpoint discovery at all, full stop
# [snarfed]2 yes!
# [tantek] [snarfed] since you’ve implemented this for good reason, want to file an issue on https://webmention.net/draft/#sender-discovers-receiver-webmention-endpoint, like s/The sender MUST fetch the target URL /The sender _SHOULD_ fetch the target URL/
# [schmarty] In the case that a particular post has no WM endpoint (but the site does in general) this kind of caching is trading a "wasted" fetch for a "wasted" WM POST.
# [schmarty] I'm not sure I agree with that!
# [schmarty] whether it's "lighter" depends on how the WM receiver is implemented. for example, webmention.io will process the entire webmention and store it. my site would then have that data and then later need to filter it out.
# [schmarty] what tantek said: fetch for the page, confirm on the root, cache if it looks good.
# [schmarty] imo that can probably be done without a special signal, if you are being aggressive about endpoint caching.
[jamietanna] joined the channel
# [jamietanna] How does one unfollow with Bridgy Fed?
# [snarfed]2 [jamietanna] first we have to describe how one unfollows in the indieweb 😎 https://github.com/snarfed/bridgy-fed/issues/320
# [snarfed]2 er, decide
# Loqi Unfollow is the opposite action of following someone, typically on a silo, commonly implemented on asymmetric follow silos such as Instagram, Google+, initially pioneered by delicious, Flickr, and Upcoming, but most greatly popularized by Twitter in contrast to the mutual friending model from explicitly "social" silos from Friendster to Facebook https://indieweb.org/unfollow
# [snarfed]2 This has a bit on negative caching, but pretty narrow: https://github.com/w3c/webmention/issues/48
# [snarfed]2 Oof, hugops
nedzadhrnjica joined the channel
# [snarfed]2 capjamesg++ on launching novacast!