#dev 2023-11-26
2023-11-26 UTC
prologic joined the channel
# prologic Q: Are successful webmention receivers expected to respond with 201 Created or 200 OK?
# prologic I've never seen this before till today:
# prologic ERRO[0255] error sending webmention source=http://10.0.0.164:8000/twt/ll5uvqa target=https://darch.dk/social status=201 Created error="<nil>"
# prologic Or should I handle both just in case of inconsistent implementations?
# prologic Ooops
# prologic looks like I had a logic bug in my webmention package :(
# prologic res.StatusCode%100 != 2
# prologic instead of res.StatusCode/100 != 2
# prologic 🤦♂️
# prologic Anyway, now that I've fixed htat... What's new in the world of indieweb?
# gRegor We had a create day yesterday, notes here: https://indieweb.org/2023/Create/November
# Loqi This Week in the IndieWeb is a weekly digest of activities of the IndieWeb community https://indieweb.org/this-week
# [jacky] so I tried to use a bookmarklet to favorite https://seirdy.one/notes/2023/11/25/some-site-optimizations/ and it kept failing (with no clear reason why)
[aciccarello] joined the channel
# prologic In WebMention Verification (https://www.w3.org/TR/webmention/#webmention-verification) -- How does one specify a source document that is JSON or Plain Text? How would a receiver know to request and perform a plain text verification for example?
# prologic Most of what I'm familiar with kind of assumes HTML documents, but re-reading the spec there is room/provision for other types, just not sure how they can be used?
# prologic Yes but that's not enough though
# prologic A source URI of https://twtxt.net/twt/izxy5ta for example will spit out a HTML document
# prologic This isn't great for a WebMention receiver verifying for example that that document mentions https://darch.dk/social
# Loqi [preview] [prologic] ↳
In-reply-to
»
I have added a webmention endpoint to https://darch.dk using https://webmention.io - let see if it work from neotxt.dk to @sorenpeter
If you mention @this@darch.dk it might work, bit weird though 😅
# prologic The only way I can think of forcing this to happen (maybe) is if the source URI is something like https://twtxt.net/twt/izxy5ta.txt ?
# prologic Or even https://twtxt.net/twt/izxy5ta.json
# prologic Are WebMention receivers expected to have a clearly defined/accepted User-Agent we can identity to do content-negotiation?
[jacky] joined the channel
# prologic Yeah this is where it gets a bit tricky using WebMentions for Twtxt
# prologic which is what we're doing here, and why I'm asking about how we can control "how validation" is done on the receiver side
# prologic Well it actually does reference the target link though
# prologic Just not in the HTML version of the document, because that's more for humans and users of _that_ pod/instance
# prologic For example:
# prologic $ bat https://twtxt.net/twt/izxy5ta | jq -r '.mentions[]'
# prologic @<this http://darch.dk/social/>
# Loqi [preview] [prologic] ↳
In-reply-to
»
I have added a webmention endpoint to https://darch.dk using https://webmention.io - let see if it work from neotxt.dk to @sorenpeter
If you mention @this@darch.dk it might work, bit weird though 😅
# prologic Loqi can you shush for a bit please :)
# [jacky] there's no `in-reply-to` in the HTML of https://twtxt.net/twt/izxy5ta
# Loqi [preview] [prologic] ↳
In-reply-to
»
I have added a webmention endpoint to https://darch.dk using https://webmention.io - let see if it work from neotxt.dk to @sorenpeter
If you mention @this@darch.dk it might work, bit weird though 😅
# [jacky] that JSON would be what something like http://webmention.io would see IIRC
# [jacky] would have to have the markup of https://indieweb.org/reply#Post_a_reply
# prologic Ahh that's a separate issue
# prologic we can fix that, not sure I was aware of the `in-reply-to` mf2 tag at the time
# prologic but refocusing on the webmention verification for a moment...
# prologic Would a source of .txt to force a text validation work okay?
# prologic I would add some additional handlers for <hash>.(txt|json) so that we can control validation a bit better
# [jacky] okay so then a receiver would be expecting that _target_ to mention the source (and IIRC, http://webmention.io expects both to use MF2 to help with the validation of HTML)
# prologic fuck
# prologic I mean sorry :D
# prologic damn, well the spec clearly says other document types can be used for verification
# prologic so this is gonna be tricky
# prologic I assume at this point even webmention.io (a receiver? or both?) doesn't implement the spec fully?
# prologic neither does my own Go library tbh
# prologic it also assumes mf2/HTML
# prologic In an ideal world we'd deal with text, as that's what Twtxt really is
# [jacky] there's specifically this portion https://www.w3.org/TR/webmention/#h-sending-webmentions-from-non-html-content
# prologic In which case a source _could_ be https://twtxt.net/user/prologic/twtxt.txt#<hash_where_mentioned_target>
# [snarfed] in other news, props to [fluffy] and https://pin13.net/mf2/?url=https://beesbuzz.biz/blog/6056-My-story-at-STANCE for being the edge case post with mf2 u-uid that's not a URL that tripped up my code
# prologic [snarfed] is it not unreasonable to expect webmention clients to implement what teh spec says about other types of documents?
# prologic where it specifically talks about matching the target exactly in jaon attirbutes
# prologic or searching for the target uri in a plain text document
# prologic I mean that's all that would be required
# [jacky] if you're talking about https://www.w3.org/TR/webmention/#webmention-verification-p-3, the strongest word of that whole paragraph is _SHOULD_
[fluffy] joined the channel
# prologic yeah okay fair enough
# prologic I'm also thinking I could expand our JSON content to expand out the .mentions[] array into a list of objects with
{"nick": "url"}
# prologic So that part of the spec would _just_ work if anyone actually implemented it
# prologic "mentions": [
{"this": "https:/darch.dk/social"}
] for example# prologic > In a JSON ([RFC7159]) document, the receiver should look for properties whose values are an exact match for the URL.
# prologic Hopefully solves for that case
# prologic Actually this would work even now too, as sub substring matches would evaulate to true anyway
# prologic even without me doing anything
roxwize joined the channel
# prologic Well to be fair this is for the Twtxt ecosystem, which I have no idea how that compares in usage to VM impls or usage :D
# prologic I mean I do have an idea, as I also maintain the only crawler/search engine
# prologic but still :)
# prologic roxwize I _think_ you're referring to some kind of discovery delegation to another page hmm
# prologic I'm not sure, but that's what spring sto mind
# Loqi The representative h-card for a page is an h-card on that page that represents that page, if any, as not all pages are about a person or organization, a page might not have a representative h-card https://indieweb.org/representative_h-card
# roxwize i dont know how stuff like feed readers *knows* where to find the microformats data, but im hoping that theres some way i can tell it to point to somewhere like /site/about.html rather than having to cram the rep h-card and everything else onto the index of the entire site which i intend to be the landing page more than anything else
# gRegor If you wanted to set it up so you can sign in to say, indielogin.com (which the indieweb wiki also uses) by entering https://roxwize.xyz/, you would need to add the rel-me links on that homepage like https://indielogin.com/setup describes
# Loqi It looks like we don't have a page for "rel-me verification" yet. Would you like to create it? (Or just say "rel-me verification is ____", a sentence describing the term)
# gRegor https://indieweb.org/rel-me#Why touches on it a bit
prologic left the channel
# havacow It appears that on my homepage I must have the link set explicitly to:
# havacow rel="me"
# havacow it wont work if I have it set to:
# havacow rel="noopener me"
# havacow It may have been something I did wrong (perhaps I simply needed to clear cache) but as soon as I removed 'noopener' it, it seemed to work.
# havacow [edit] It may have been something I did wrong (perhaps I simply needed to clear cache) but as soon as I removed 'noopener', it seemed to work.
[cleverdevil] joined the channel
# [cleverdevil] Making awesome progress on my new site :D
# [cleverdevil] So many things are working, and it already looks great and is super snappy.
# havacow Awesome! Are you referring to your current/live site or are you working on something new locally?
# [cleverdevil] It’s a replacement for my current live site. Right now it’s all local to my laptop.
# [cleverdevil] Still have a ways to go, but it’s been fun so far.
# havacow Are you using a CMS?
# [cleverdevil] Not off the shelf, no. I’m building a bespoke CMS for the site.
# [cleverdevil] Using DuckDB as the query engine. All content is on disk as directories of MF2 JSON files.
# havacow Oh heck yeah
# [cleverdevil] Python and Flask. Cirrus CSS framework.
lockywolf joined the channel
# trwnh https://github.com/mastodon/mastodon/issues/27001 > <IWDiscord> <havacow#0> It may have been something I did wrong (perhaps I simply needed to clear cache) but as soon as I removed 'noopener' it, it seemed to work.
[KevinMarks] joined the channel
# [KevinMarks] I think mention.tech supports the plaintext contains case, but not the json one specifically
# [KevinMarks] Yes, assuming that you're using utf8 https://github.com/kevinmarks/mentiontech/blob/891b793bd67ddd604402a5978e768fb6bdbaf74c/main.py#L243
Thelie joined the channel
# Thelie Regarding the Rust-talk in -chat: "Ergonomic" is not necessary the word I'd use for Rusts control flow. Sometimes I still feel a little forced by it ^^ I think that's a good thing though, because it makes my programs work in the end!
# Thelie Oh yes, expressive fits the bill
# Thelie I often see the return type of a function and know exactly what control flow goes around it, thats nice.
oenone joined the channel
# [aciccarello] This is a cool project from Justin. I'm not sure if all the effort is worth it to me. Meta really makes it hard to post to their apps. I might try if I post more photos. https://github.com/searls/feed2gram
# Loqi A static site is a website that serves pages directly from files on the web server, which have often been previously generated by static site generator software only when created or updated, instead of for every request https://indieweb.org/static_sites
geoffo joined the channel
[tw2113] joined the channel
thekifake joined the channel
# Loqi Sitewriter was a simple, configurable service for adding Micropub to static web sites https://indieweb.org/Sitewriter
JohnBeales1, [tantek], [jeremycherfas] and [jamietanna] joined the channel
# [jamietanna] Also worth checking out /Hugo as well as names of other static site generators, ie I'm using Hugo with a custom-written Micropub server, and https://hacdias.com/2023/11/10/updates-on-indieweb-go-libraries/ popped up for me the other day who's also written their own Micropub server for it. I know some folks have used ie Netlify functions to handle Micropub, so it's still static and server-less
roxwize joined the channel
# [aciccarello] I just set up Indiekit with my static site.
# [aciccarello] What is Indiekit
# Loqi Indiekit (GitHub repo) is “the little Node.js server with all the pieces needed to own your content and share it with the wider independent web” https://indieweb.org/Indiekit
dustinm` joined the channel