#dev 2018-04-24

2018-04-24 UTC
#
aaronpk
right that's why there's a media endpoint
#
skippy
right, but not everything supports that, yet. :(
#
skippy
and the spec specifically says that multi-part uploads are okay.
#
aaronpk
yea that's for photo posts
#
aaronpk
where the photo isn't in the html content
#
skippy
okay, I guess; but there's no real indication in the client UIs that I've seen that they distringuish between "photo posts" and "other kinds of posts" ... so it's up to the server to deterine "if h-entry AND a photo is present, this is a photo post"?
#
aaronpk
what is post type discovery?
#
Loqi
Post Type Discovery specifies an algorithm for determining the type of a post by what properties it has and potentially what value(s) they have, which helps avoid the need for explicit post types that are being abandoned by modern post creation UIs https://indieweb.org/post-type-discovery
snarfed joined the channel
#
skippy
ok. back to the drawing board for me, then. Thanks.
eli_oat, iasai and tantek joined the channel
#
tantek
I'm liking this theme of indieweb parody songs
#
www.boffosocko.com
edited /lost_infrastructure (+60) "Timeshifting/Reading: microsub projects; micro.blog"
(view diff)
[miklb], AngeloGladding, iasai, renem, eli_oat, Mandrake, [mrkrndvs], [chrisaldrich], chrisaldrich, cweiske, [pfefferle], tantek, [unoabraham], swentel and [kevinmarks] joined the channel
#
swentel
interesting
#
swentel
should we make an indieweb case and submit as a team ?
#
Zegnat
I am never sure such drives actually work for IndieWeb. “traction stats”? What’s that? Number of Webmentions sent? 6% payback to the incubator? From what? I’d guess things like Bridgy are running at a nett loss right now, and they would probably want that to be turned around?
#
Zegnat
But that may just be me being a cynical grouch :P
#
microblog.ducamp.me
edited /Facebook-fr () "(-868) [fr] : relecture en cours - typos"
(view diff)
#
swentel
hehe, it's not bad to think that way, I'd actually do that too :)
#
swentel
but it might be a good start to figure out of we can make a case :)
#
Zegnat
The closest you can get to an IndieWeb “social network service” right now is probably hosting a multi-user Known instance. That still lets you communicate outside of the network, while also applying policies for the content you are allowing within the network.
#
[kevinmarks]
Not 6% payback, 6% equity in the company formed.
#
Zegnat
Ah, misunderstood that sentence, thanks for correcting [kevinmarks].
#
[kevinmarks]
There is still a presumption that a company is the right organisational form.
#
Zegnat
Still not sure what that 6% is going to mean. I guess that might be property rights of code written? But as long as you want to feed back to the IndieWeb with open-source projects, that doesn’t actually have a lot of value.
#
Zegnat
Of course you could go the micro.blog route and just build a closed-source service, but that is never what I think of when talking about “an indieweb case”
[unoabraham] and jeremycherfas joined the channel
#
[kevinmarks]
Known did an incubator like this (that Ben now runs) - the code was still open source, but the company was partly owned by the incubator, the rest by staff and other investors.
#
[kevinmarks]
The thing that makes me wary is that Jason's explicit goal is a billion users, which is missing the point
#
Zegnat
Maybe. On the other hand, a billion IndieWeb users would be sweet.
#
Zegnat
The thing is, a billion IndieWeb users doesn’t mean a billion users for 1 service, because that isn’t what we want to encourage.
#
Zegnat
Alright, for all you Micropub enthusiasts in here, I think I finished up describing the microformats JSON syntax: http://microformats.org/wiki/microformats2-json !
#
Zegnat
!tell skippy I think I have now covered the entire MF2 JSON syntax on http://microformats.org/wiki/microformats2-json - please have a read and let me know if it still leaves you with questions :)
#
Loqi
Ok, I'll tell them that when I see them next
#
Zegnat
Things you might learn reading that page: a key/value pair in a JSON object is called a “member”
#
swentel
oh, something I've been wondering
#
[kevinmarks]
[aaronpk] does that clarify the rels +rel-urls for you? (as you asked about it the other day)
#
swentel
oh, ok, so micropub json request is using microformats 2 json , interesting
#
swentel
I've always wondered why it was so different compared to url encoded request
#
@m4d_z
↩️ @edasfr Ça dépend de tes pré-requis je dirai (l'i18n, webmentions, images responsives…). Tu as besoin de quoi, de base ?
(twitter.com/_/status/988716451057033216)
#
Zegnat
Yes, swentel. When Micropub is talking about the JSON syntax being “the parsed Microformats 2 JSON format”, it means the format I describe there.
#
swentel
good to know
#
swentel
I was kind of annoyed while testing quill to have drupal support to see a difference between some requests
#
Zegnat
But there has never really been a page describing it. It is just the default serialisation for mf2 parsers
#
Zegnat
So people developing Micropub stuff, that aren’t already versed with mf2 and its parsers, don’t have a place to go
#
swentel
and I was like, what a random spec, this is annoying :) But I know where it comes from now (and I need to start using aaron's php libraries for parsing incoming requests though)
#
swentel
s/though/too
#
swentel
(it's all very new too me, so I still need to read a lot heh)
#
swentel
(but it's extremely exciting)
#
swentel
s/too/to
schmarty1, [pfefferle], jjuran, loicm and [xavierroy] joined the channel
#
Zegnat
swentel, lets see if we can make it even easier by adding a reference to the mf2 json page from the Micropub spec :) https://github.com/w3c/Micropub/issues/106
#
Loqi
[Zegnat] #106 Add a link to a description of the microformats2 JSON format.
[jgmac1106] joined the channel
#
@edasfr
↩️ @m4d_z Import depuis WordPress. Les webmentions seraient un plus. Logiciel bidouillable. Templates sympa par défaut. Édition simple
(twitter.com/_/status/988727158318256128)
Mandrake joined the channel
#
[jgmac1106]
Incubators annoy me. I have three kids, coach a bazillion teams, run cub scouts... I can't attend your business camp no matter who I can dine with at your networking meals
#
[jgmac1106]
And as a call back to [kevinmarks] I think a co-op model where users of network owns the network is more sustainable for Jason's goals
#
loqi.me
created /Glossary (+157) "prompted by petermolnar and dfn added by [unoabraham]"
(view diff)
#
[jgmac1106]
Though I also think we can make the web the social network of the users. Not sure a centralized home will ever be as user centric as owning your domain
iasai joined the channel
#
jeremycherfas.net
edited /Microsub (+17) "Change wording of definition to focus on what it does rather than that it is a spec."
(view diff)
[xavierroy], [kevinmarks] and tantek joined the channel
#
jeremycherfas.net
edited /Microsub (+263) "New defn and introductory remarks"
(view diff)
klez and tomasparks joined the channel
#
Zegnat
What is Microsub?
#
Loqi
Microsub is a technology for servers https://indieweb.org/microsub
#
Zegnat
jeremycherfas, did you want to also have the next sentence show in the Loqi definition? ;)
[snarfed] joined the channel
#
[snarfed]
re bridgy finances, i know it was just an example, but cost and other numbers are public: https://snarfed.org/2018-01-02_bridgy-stats-update-3aa
#
[snarfed]
no revenue so yes it operates at a loss :P hosting is $55-60/mo right now
#
swentel
page not found :)
#
[snarfed]
i have no plans to ever try to make it a business, or charge users money
#
[snarfed]
(or advertise)
#
[snarfed]
er sorry, misquoted the current numbers, actually $45/mo right now
#
jeremycherfas
Yes, zegnat, I did. Can loqi handle only 1 sentence defns?
#
Zegnat
No, but if you want more you need to wrap it in a .p-summary
#
Zegnat
<span class="p-summary">…dfn…</span>
#
Zegnat
To stop big paragraphs from being spammed Loqi will, by default, only take the first sentence :)
#
Zegnat
There is probably a page with a good example, but don’t have one to link right this second
#
jeremycherfas
Your instructions worked fine. But Loqi misses the final full stop.
[kaushal_modi] joined the channel
#
Zegnat
It might just always skip the period ...
#
Zegnat
I like your plumbing comparison to HTTP for web browsers jeremycherfas... Wondering if I could illustrate it some way like this: https://wiki.zegnat.net/media/plumbing.html
#
jeremycherfas
Oh that's excellent. Zegnat++
#
jeremycherfas
Oh come on Loqi, rise and shine.
#
Zegnat
Hahaha
#
Loqi
hahahaha
#
Loqi
zegnat has 55 karma in this channel (199 overall)
#
jeremycherfas
Third time lucky. I remebered something about spaces, and something about being at the start of a statement.
#
Zegnat
5 second delay because Loqi was laughing at you first? Wow. Loqi is coming into a rebelious phase? :P
#
jeremycherfas
You could even add FTP to that.
#
Zegnat
FTP could be another publishing example, for sure
#
Zegnat
It is not totally fair to compare them to HTTP, because Micropub is actually a protocol that goes over HTTP, but for illustrative purposes I think this did fine
#
Zegnat
MetaWeblog is over XML-RPC which is over HTTP. But who has the time to dig all that up? ;)
snarfed joined the channel
#
jeremycherfas
Not at all necessary. Get into which transfer protocol the information protocol uses and we may never see you again.
DenSchub_, [miklb], ancarda, iasai_, leg, wagle, alex_mayorga and cweiske joined the channel
#
aaronpk
well that's a funny definition
#
aaronpk
microsub is not just for servers
#
aaronpk
let's try this again
#
vanderven.se martijn
edited /dfn (+117) "This probably still needs a good wiki editting example…"
(view diff)
kaushalmodi joined the channel
#
kaushalmodi
kevinmarks: I unintentionally spammed your http://www.kevinmarks.com/fragmentions.html post because I changed the Permalink of my https://scripter.co/fragmentions/ post.
#
Loqi
[Kevin Marks] Fragmentions - linking to any text 2014-04-17 05:25-07:00
#
kaushalmodi
Is there a good way to prevent that when changing URL (not that I do that frequently).
#
kaushalmodi
KartikPrabhu: Interestingly that Permalink change did not spam another Webmention to you: https://kartikprabhu.com/notes/fragmentioner
#
Loqi
[Kartik Prabhu] Javascript UI to get the fragmention (http://indiewebcamp.com/fragmention) link of selected text. https://github.com/kartikprabhu/fragmentioner #indieweb
#
Zegnat
Have the old URL redirect to the new URL, and send an update webmention for them, is probably the answer to that, kaushalmodi
#
Zegnat
So when the webmention receiver goes to fetch the URL, it sees the redirect, and can drop the old one
#
kaushalmodi
> Have the old URL redirect to the new URL
#
kaushalmodi
> Have the old URL redirect to the new URL
#
kaushalmodi
Yes I am doing that
[pfefferle] joined the channel
#
kaushalmodi
> send an update webmention for them
#
kaushalmodi
what is that?
#
Loqi
That! (or "that ^" or "that ^^^") is a rarely seen reply often emphasizing agreement with a This post, but sometimes[1] merely emphasizing agreement with a previous reply https://indieweb.org/that
#
kaushalmodi
(I wish I can shift+return to insert newlines here -- using IRC over web)
[kevinmarks] joined the channel
#
[kevinmarks]
send the webmention again
#
kaushalmodi
yes, that's what I did
#
aaronpk
there are no newlines in IRC
#
kaushalmodi
so now you have the wm's from both URLs (old and new)
#
aaronpk
but yes an "update webmention" just means sending the webmention again
#
aaronpk
if your old URL redirects to the new URL, then sending a webmention for the old URL should cause the receiver to update the URL
cweiske_ joined the channel
#
aaronpk
the key is to send the webmention with the old URL as the source, otherwise the receiver wouldn't know that it changed
#
kaushalmodi
Ah, I understand now.. I am not technically redirecting it.. I just created an alias in Hugo
#
aaronpk
does that mean it shows the post at both URLs?
#
[kevinmarks]
yes, both return 200
#
petermolnar
that is one of my pains with static sites
#
kaushalmodi
ok, I take that back.. hugo is causing the generation of the redirection meta
#
petermolnar
and the reason why I have a PHP file built with 410 and 302 redirects
#
kaushalmodi
<meta http-equiv="refresh" content="0; url=https://scripter.co/fragmentions/" />
#
petermolnar
that's not a redirect-redirect
#
petermolnar
as in it's not http 301 or 302
#
Zegnat
Ah, yes, that refresh doesn’t say anything about the resource being replaced by the other one
#
kaushalmodi
hmm, time to learn then
#
aaronpk
hm there's also a meta tag for setting the http code
#
Zegnat
I guess you could, maybe, as a receiver, check for rel-canonical to overwrite as well? Not sure if anyone is doing that?
#
aaronpk
what is 410?
#
Loqi
410 is the HTTP status code for GONE, meaning whatever URL was requested is not there any more, and used in webmention CRUD to indicate that a source has been deleted https://indieweb.org/410
#
petermolnar
aaronpk: that shouldn' work
#
aaronpk
i thought there were some examples of saying http 410 in a meta tag
#
petermolnar
the http code is sent before the content
#
kaushalmodi
I can do that in the _redirects file for Netlify (where I host the site)
#
petermolnar
(it doesn't mean it can't work, but it shouldn't)
#
Zegnat
“that shouldn't work” - sure petermolnar, but this is HTML you are talking about ;)
#
petermolnar
hence the correction
#
Zegnat
What is meta http-equiv status?
#
Loqi
meta http-equiv status is an HTML extension specification that adds the "Status" value to the existing meta element's http-equiv attribute as a method for representing the HTTP Status code to be returned by a web server serving that HTML document, and for consuming applications like webmention receivers to parse and interpret as such for use-cases such as representing a 410 Gone deleted resource on static hosting that often disallow setting HTTP headers directly https://indieweb.org/meta_http-equiv_status
#
Zegnat
There you go aaronpk
#
Zegnat
wow that dfn
#
aaronpk
that's the one
#
kaushalmodi
As I don't rename URLs often, not a problem, but I wished there were a programmable way..
#
Zegnat
`<meta http-equiv="Status" content="410 Gone">`
#
petermolnar
that's one ugly standards hack
#
aaronpk
kaushalmodi: depending on the web server you're using you could do it at that level as well
#
aaronpk
for example putting redirects in an .htaccess file for apache
#
petermolnar
or build a very simple php file, like I do, if there's php on the server
#
aaronpk
yeah totally
#
aaronpk
i actually have my redirects in a text file and a php script reads them
#
petermolnar
aaronpk: I build the whole PHP, the potential redirect values are in an array
#
kaushalmodi
petermolnar: Netlify serves only static files, so PHP is not an answer (also I don't know PHP)
#
vanderven.se martijn
edited /meta_http-equiv_status (+31) "Shorten the definition, this is probably enough."
(view diff)
#
aaronpk
oh cool that looks reasonable
#
aaronpk
petermolnar: lol that sounds like my timezone lookup script hack. it's a giant PHP array with a bunch of lat/lng->timezone mappings
#
petermolnar
well, I do try a bit more hacking there, as in checking for a few extra things, but the idea sounds similar
#
petermolnar
it also handles 404
#
Zegnat
... That is an HTML file that will go through your template engine and then gets run as PHP? I don’t know what to say of that, petermolnar ;)
#
aaronpk
kaushalmodi: yeah looks like using their _redirects folder is the best bet
#
kaushalmodi
Thanks. So that solves 1/2 the problem.
#
kaushalmodi
Now is there a way to override the "source" of the webmention?
#
aaronpk
once you have a proper redirect set up for the old URLs, then you should send webmentions with the old URLs as the source. if kevin's site doesn't look like it's fixed at that point then that's a problem on his side
#
kaushalmodi
Right now wm's are auto-sent with the URL's of the containing post as the source
#
[kevinmarks]
well, on voxpelli's side
#
aaronpk
[kevinmarks]: your side, you just happen to be using voxpelli's service :)
#
[kevinmarks]
you can manually send a webmention with mention.tech or telegram
#
kaushalmodi
correct, but I am sending it in batch each time
#
kaushalmodi
cweiske is kind enough to lend me his wm sending server: https://github.com/cweiske/stapibas
#
Loqi
[cweiske] stapibas: Standalone pingback server. Mirror of http://git.cweiske.de/stapibas.git/
#
kaushalmodi
So I just send a POST to that endpoint, and stapibas crawls through my site Atom feed to send all the wm's
#
aaronparecki.com
edited /Microsub (+261) "rephrase dfn again, microsub is not just for servers"
(view diff)
#
Zegnat
kaushalmodi, have you tested if it is able to do it for the old URL still, after making it a proper redirect?
#
aaronpk
kaushalmodi: yeah you're going to need to do something special for this then. maybe make something that looks through the redirects folder and sends them for those URLs
#
kaushalmodi
Zegnat: I haven't tested that yet.. that will just make the redirection more correctly
#
kaushalmodi
As it stands, wm's won't be sent at all from the old url, only from the new url.
#
Zegnat
The idea behind the update mention (that is: resending the webmention) is that you do it when a post changes, no matter what about the post changes. So when you change the URL from example.com/a to example.com/b you resend all the webmentions you previously sent, completely unchanged (still with example.com/a as the source).
#
Zegnat
Now if you do further updates to the post, because the post has previously changed URL, it is safe to use example.com/b as the source. Receivers should have already gotten the message that a is now b.
#
Zegnat
... if that makes sense
#
kaushalmodi
Yes, it makes sense. Just wondering why it didn't affect Kartik's post.. may be he manually gates the WM's?
#
kaushalmodi
I'll go ahead and fix the redirect, and then let's see that happens
#
cweiske
stapibas has no special redirect support
#
kaushalmodi
So about the redirect, should 301 be good?
#
petermolnar
Zegnat: do you have a problem with my jinja2 python template, named .html, that becomes a php and gets executed as PHP? :P
#
Zegnat
No comment. Hahahaha
#
Loqi
Zegnat: lol
#
petermolnar
oh, btw they are associative arrays, eg url => true - it turns out looking up a key is ~3-4 multitude faster, than in_array
#
petermolnar
magnitude
tantek joined the channel
#
Zegnat
Yes, I have used keys as the place for my array items in PHP before too. I don’t get why they can’t offer an actually optimised List or Set internal to use for that sort of thing
#
kaushalmodi
kevinmarks: That duplicate wm is still there.. looks like you will need to delete the older one manually.
snarfed, [jgmac1106], tantek, dougbeal|iOS, maingo, [unoabraham] and swentel joined the channel
#
skippy
micropub.rocks test 300 (Create an h-entry with a photo (multipart)) seems to be POSTing the multi-part data in a different format than that used by Indigenous for Android.
#
Loqi
skippy: Zegnat left you a message 7 hours, 2 minutes ago: I think I have now covered the entire MF2 JSON syntax on http://microformats.org/wiki/microformats2-json - please have a read and let me know if it still leaves you with questions :)
#
dgold
if I wanted to do some sort of onboarding with nanopub, particularly creating user tokens in twitter &c, how do I get around the "Don't put the App Consumer token in the App" thing?
kaushalmodi joined the channel
#
kaushalmodi
dgold: Wouldn't the suggestion in that issue work?
#
kaushalmodi
i.e. have the user set the tokens in env vars, and then have PHP read those env vars
#
dgold
kaushalmodi: i'm looking at going down the generations issues
#
skippy
dgold: provide a sample config file for nanopub, and require users to fill in their own config file.
#
skippy
dgold: eventually you could build the config from a web form that prompts the user (see how WordPress hndles this); but to start just require them to copy config.php.sample to config.php and plug in their own values.
#
aaronpk
skippy: the two different output formats in that gist are throwing me off, but is the difference that there seems to be an extra array level in the indigenous one?
#
dgold
skippy: that's, um, that's what I do now...
#
skippy
aaronpk: yes. indigenous has an array of array values.
#
skippy
dgold: apologies. i must have misunderstood your question.
#
aaronpk
skippy: looks like if you set the name "file[0]" then PHP expands that into what you're seeing in the first example
#
aaronpk
er, photo[0] in that example
#
dgold
ah, there's no API for the `create a twitter app` stage of the process, never mind
#
skippy
i tried to format that gist better. take another loo.
#
dgold
i'll get me coat
#
skippy
aaronpk: eeeenteresting. that's helpful, PHP! Thanks! :troll:
#
aaronpk
that seems like a weird decision for how PHP presents that, but oh well
#
aaronpk
i would have expected $_FILES['photo'] to be a bunch of the normal looking file uploads
#
aaronpk
but in any case, you should be able to handle both because if the app uploads two photos you'll need to handle that case
#
swentel
yeah, it's to prepare for multiple uploads
#
skippy
i'm trying to handle this with one photo right now. it works from Indigenous, but now fails the micropub.rocks test.
#
Zegnat
Ah, the PHP $_FILES array. I am always happy that PSR-7 put some time into standardising that one.
#
swentel
yeah, never really thought about the format either to be honest
#
swentel
drupal uses symfony internally to handle files
#
swentel
it's been ages since I've ever had to mess with that
#
swentel
(luckily)
#
Zegnat
I try to offload all my request handling into PSR-7 compatible libs these days. For the smallest projects I just grab https://github.com/Nyholm/psr7 which means I need no full Zend/Symfony/w.e.
#
Loqi
[Nyholm] psr7: A super PSR-7 implementation
#
skippy
that would be nice to use, if it had any documentation
#
swentel
that is very nice
tantek joined the channel
#
Zegnat
skippy, right, the documentation is basically “read the PSR-7 spec”. Which is not at all helpfull to non-veterans.
#
skippy
not helpful at all.
#
aaronpk
i can't keep up with all the PSR stuff
#
aaronpk
everyone seems to defer elsewhere and it takes forever to actually find out what things are anymore
#
Zegnat
I only know the ones I regularly use and/or have contributed small comments to
#
aaronpk
i filed an issue on one project's docs asking for some better sample code or more concrete info, and they closed it without change saying that i should go read the PSR docs
#
Zegnat
Yes, example code is basically non-existent. They debate (for a loooong time) on what a class interface should look like, and then they put that online and take their hands off of it.
#
Zegnat
One of the reasons that PSR7 implementation I just linked exists: minimal files, only implementing the methods described in the PSR, easy to read.
#
aaronpk
and then people write packages that follow it but then assume you know how to use it without any docs
#
skippy
but nyholm has no description of how to invoke any of the PSR7 classes...?
#
skippy
so i'm no better off than i was before.
#
skippy
Zegnat: do you have existing code that demonstrates how to use Nyholm?
#
Zegnat
Uuhm. Let me check.
#
skippy
also, Zegnat, thanks for the microformats2-json wiki page. very nice work. and helpful.
[chrisaldrich] joined the channel
#
Zegnat
Not ready on GitHub, skippy. I have https://github.com/Zegnat/php-website-starter/ which combines a lot of PSR stuff into a basic PHP website skeleton, but that is less than helpful :P
[matthilt] joined the channel
#
aaronpk
the diactoros stuff drives me insane too. it takes me so long to figure out how to use it every time i try
#
aaronpk
the docs are basically nonexistent
#
aaronpk
and it's like come on just show me how to return an http redirect
#
Zegnat
Hahaha
#
Loqi
nice
#
Zegnat
That is actually pretty easy with Diactoros, as it has special factories for creating redirects.
#
Zegnat
Don’t need to build the entire PSR-7 response yourself
#
aaronpk
i dont think ive seen that documented ::P
#
tantek
what is Diactoros
#
Loqi
It looks like we don't have a page for "Diactoros" yet. Would you like to create it? (Or just say "Diactoros is ____", a sentence describing the term)
#
aaronpk
i don't even know how to describe that lol
#
aaronpk
some of the new php stuff really annoys me, but i like that things are improving overall
#
aaronpk
wtf "moveTo"?
#
Zegnat
That gist is some (untested) code that you could do to save uploads
#
aaronpk
oh that's not the redirect
#
Zegnat
It is called that because PHP has always called that
#
Zegnat
Hahaha, no, it isn’t
#
aaronpk
*whew*
#
aaronpk
header('Location: /redirect') is just so much easier
#
Zegnat
Yes, but the idea is to have your controller generate the full HTTP response, which is then send to the visitor at once.
romangeeko joined the channel
#
Zegnat
So your controller would just `return new RedirectResponse('/user/login', 301)`, and then your dispatchers handles that.
#
aaronpk
i know, and it's testable that way too, which is good
#
aaronpk
can $uri be a string? that isn't clear from that doc page either
#
Zegnat
Also gets rid of that nasty “headers are already sent” thing PHP likes to do so much
#
Zegnat
Their “Typical usage” shows it as a string, right?
#
aaronpk
so it does. i don't know how i missed that
#
Zegnat
“The only required argument is a URI, which may be provided as either a string or Psr\Http\Message\UriInterface instance.” - is pretty clear in the doc text too :P
#
Zegnat
Though I do not like these doc pages that cramp everything in one page. Why isn’t it a separate page for Redirects. Give the text some air to breath...
#
sknebel
dgold: what do you use the Twitter API for? syndication? reply contexts?
#
Zegnat
is not going to define Diactoros for IndieWeb wiki, because there would be no end to documenting symfony and zend libraries...
#
dgold
sknebel: its for POSSE
#
dgold
currently POSSEing notes, likes & retweets
#
dgold
it _should_ be POSSEing replies, but that appears not to be working properly for some reason
#
dgold
it sends them, it just doesn't associate them with the original tweet
#
sknebel
dgold: then you could offer bridgy as an option, if people also get a webmention solution with it (afaik you can send them to the bridgy login through some documented URL). might be more hassle than it's worth though, given the webmentions and static site effort
leg joined the channel
#
dgold
sknebel: that's all true - but the point is to try to do as much as possible without reliance on external services
#
sknebel
makes sense. just wanted to have mentioned it in case you didn't think about it
#
Zegnat
(Apart from all the PHP woes, I am happy you found the mf2 JSON page helpful, skippy!)
#
dgold
ok - so, my twitter logic works for replies when replying to _my_ own tweets, but doesn't work when replying to someone elses
#
dgold
i'm stumped
#
dgold
it uses tantek's tw_url_to_status_id($url)
#
tantek
perks up
#
dgold
hey :)
#
dgold
My nanopub is set up to do POSSE replies to twitter; it does this by using your tw_url&c to get the status
#
dgold
this works perfectly when replying to _my_ tweets, it fails when replying to others
#
sknebel
dgold: do you have an @mention in your replies?
#
aaronpk
what's failing about it? you don't need to @-mention people in the text of the reply anymore
#
sknebel
oh? I wasn't sure and checked, and twitter API docs still claim you have to...
#
dgold
sknebel: that would explain it.
#
aaronpk
weird. i definitely don't anymore
#
snarfed
you may need to add `auto_populate_reply_metadata=true` to the API call. details in https://github.com/snarfed/bridgy/issues/703
#
Loqi
[singpolyma] #703 Duplicate @reply prepended to tweet
#
aaronpk
aha yes
#
dgold
Sokath! His eyes uncovered!
#
Loqi
[aaronpk] #50 set auto_populate_reply_metadata=true
#
aaronpk
that's where i fixed silo.pub to do that
#
dgold
i'll goto j7mbo's docs and see if that's covered
KartikPrabhu and tantek joined the channel
#
dgold
anyone have a spare tweet I can use?
#
@kartik_prabhu
B: We need a better social network. A: Do you like ads? B: No! A: Can I sell your data? B: No! A: Can I have your data anyway? B: No! A: Do you want to host it yourself? B: No! A: Do you want to pay for this better social network? B: No! A: OK, bye! #indieweb
(twitter.com/_/status/979175639268888577)
[tantek] joined the channel
#
dgold
Temba! His arms open!
#
KartikPrabhu
dgold: where am I supposed to see this?
#
KartikPrabhu
dgold: got a like and a reply on Twitter
#
dgold
as a response to yours, I haven't written a display engine for steelyglint yet.
#
dgold
the linkbacks are for me for debugging purposes
#
KartikPrabhu
dgold: bridgy found the like
#
KartikPrabhu
but not the reply
#
dgold
that's a future problems issue tho'
#
snarfed
dgold deleted the reply :P
#
dgold
yes, I did, as promised
#
snarfed
hence bridgy didn't find it :P
#
KartikPrabhu
aah yes, it is also gone from my twitter UI
#
dgold
thanks for that bit of info re the API call
#
dgold
snarfed++
#
Loqi
snarfed has 58 karma in this channel (379 overall)
#
KartikPrabhu
seems like bridgy was ahead of the Twitter web UI
#
dgold
aaronpk++
#
Loqi
aaronpk has 139 karma in this channel (1624 overall)
#
dgold
I would throw one at j7mbo, but I don't think he plays
snarfed, swentel, [cleverdevil], KartikPrabhu, [miklb], [pfefferle], tantek, loicm and kaushalmodi joined the channel
#
kaushalmodi
So a generic Webmention question.. I am using webmention.io as my wm endpoint. If I understand correctly, it does not store the wm content but just the source/dest info... correct?
#
aaronpk
It parses the page and stores what it finds
#
kaushalmodi
And it is caching all those webmentions source/dest info ever since I started using it. So if I switch the endpoint, do I lose all old webmentions?
#
aaronpk
I don't understand the question
jackjamieson joined the channel
#
aaronpk
It receives webmentions for you and gives you an api to retrieve them
#
kaushalmodi
I use webmention.io as the endpoint. Tomorrow if I move the endpoint to a different server, do I lose all the old mentions?
#
aaronpk
if you stop using it it'll still have all the old stuff it received
#
kaushalmodi
So if I move to a different server, I will then need to make API calls to both old and new endpoints? Sorry, I am trying to create a mental picture
[jgmac1106] joined the channel
#
aaronpk
Or download everything from webmention.io so you can stop making api requests since it would never get new data after you switch
#
kaushalmodi
I get it that technically I don't need to keep on making API calls to the old endpoint.. I can just do it once and download all the data as JSON.
#
kaushalmodi
But then I need to stitch together the mentions from the cache and fresh mentions from the new end-point..
[kimberlyhirsh] joined the channel
#
aaronpk
Yes, that's always going to be part of changing any part of the backend of a site
#
kaushalmodi
Thank you.. while making this mental picture for a blog post, I am preparing for questions that could come up from others, like "so is this moving your comments from Disqus to webmention.io?"
[kevinmarks] joined the channel
#
gregorlove.com
edited /Flickr (+489) "/* History */ bought by smugmug citation"
(view diff)
#
klezlab.it
edited /Pelican (+117) "/* IndieWeb Examples */"
(view diff)
#
klezlab.it
edited /Pelican (-117) "/* IndieWeb Examples */"
(view diff)
#
klez
Sorry, I messed up, don't mind me :/
leg and tantek joined the channel
#
dgold
kaushalmodi: you should take a look at schmarty's Morris: https://github.com/martymcguire/morris
#
Loqi
[martymcguire] morris: PHP webhook for caching webmention.io webmentions for static sites.
#
kaushalmodi
dgold: Thanks! I'll save that for reference till I get started with my own server and learning PHP :)
#
kaushalmodi
I believe an old school cron + API based fetch from webmention.io will also work.
#
kaushalmodi
Note that I anyways do the API fetch -> JSON -> Using Hugo Data feature to convert those mentions to static HTML at the moment
#
dgold
coolio
#
dgold
schmarty's implementation is really rather nice, tho
#
kaushalmodi
webmention.io -> triggers web hook -> Zappier -> POST to Netlify -> hugo fetches JSON from webmention.io -> Site rebuilds with new mentions
#
kaushalmodi
(things I end up doing while trying to avoid JS and PHP :P)
#
snarfed
zapier++
#
Loqi
zapier has 1 karma
KartikPrabhu joined the channel
#
kaushalmodi
Draft of a diagram for a blog post on the above explains webmention publishing flow on Hugo: https://svgshare.com/i/6Qn.svg
[cleverdevil] joined the channel
#
aaronparecki.com
edited /GoDaddy (+552) "add list of guest posts"
(view diff)
#
KartikPrabhu
kaushalmodi: by "user" oyu mean someone sending a webmention to the "website" ?
#
kaushalmodi
KartikPrabhu: yes
#
GWG
Does anyone put their reply context below their reply?
#
aaronpk
micro.blog does sorta
#
aaronpk
tho it's confusing and he's considering changing it
#
KartikPrabhu
yeah it sounds confusing given current patterns
#
GWG
aaronpk, someone commented on this on their Slack
#
kaushalmodi
KartikPrabhu: OK, so I think that I should have "Sends a Webmention" arrow between User and Website
#
Loqi
[Ryan Barrett] yup! bridgy publish converts HTML to plain text formatting in general, and to markdown specifically for github, before posting.
#
kaushalmodi
Then what is that "thing" called that goes between Website and webmention.io?
#
GWG
Have to think if it is worth adding an option to display it below
#
KartikPrabhu
kaushalmodi: I don't use webmention.io so I really don't know :P
#
kaushalmodi
well in general..
#
kaushalmodi
any site would have a rel=webmention, right
#
KartikPrabhu
not unless the rel value is put in the website
#
kaushalmodi
when someone sends a webmention to a target URL, that endpoint looks up the rel=webmention in that target?
#
KartikPrabhu
hmmm the actual webmention POST is sent to the webmention endpoint
#
kaushalmodi
Basically I would like to properly diagram the initial part.. the interaction between User, Website and WM Endpoint.. before WM Endpoint creates that POST
#
KartikPrabhu
WM endpoints don't create a POST request
#
KartikPrabhu
the webmention sender creates and sends a POST request to the wm endpoint of the website
#
kaushalmodi
then I am a bit confused to join those dots with the fact that anyone can send me a WM via https://telegraph.p3k.io/
#
kaushalmodi
So where does telegraph link with my endpoint i.e. webmention.io?
#
KartikPrabhu
telegraph looks at your website finds the rel=webmention to get your WM endpoint and then sends a POST request to that endppoint
#
kaushalmodi
About "WM endpoints don't create a POST request", webmention.io specifically does that
#
kaushalmodi
ah OK, thanks
#
kaushalmodi
So if someone doesn't use Telegraph, they would need to find out what endpoint I am using manually?
#
KartikPrabhu
or through their own sending software
#
kaushalmodi
understood
#
kaushalmodi
.. or through those WM sending forms which we usually have on the target posts
#
kaushalmodi
and those forms will be "hard-coded" to that site's endpoint
#
kaushalmodi
KartikPrabhu++ Thanks. Diagram update coming up
#
Loqi
kartikprabhu has 19 karma in this channel (194 overall)
[kevinmarks] joined the channel
#
[kevinmarks]
Twitter puts some reply contexts below
#
kaushalmodi
Rev 2 of the WM interaction diagram: https://svgshare.com/i/6Qd.svg
#
Zegnat
Hmm. I feel like personifying things like webmention sender and webmention endpoint to see if it can make technical plumbing more clear to people.
#
kaushalmodi
Zegnat: You mean put a stick figure for User?
#
kaushalmodi
But then does that make sense for the endpoint? Because that's a script
#
Zegnat
A webmention sender is someone who speaks. A webmention receiver (“endpoint”) is someone who listens. The webmention is a message saying “Page A has a link to Page B”.
#
Zegnat
The listener is only interested in this information if Page B is something they own (e.g. a blogpost they wrote), otherwise they ignore the message.
#
Zegnat
The listener does not know if the speaker is telling the truth, so if they are interested they go and check if Page A really links to Page B. If the speaker was telling the truth, the listener may now want to broadcast the fact that Page A has linked to Page B (e.g. by embedding a comment below their blog post).
#
Zegnat
... or something along those lines
#
kaushalmodi
Still not sure if/how to personify the Website or the Endpoint
#
Zegnat
I was talking more of webmentions in general than your specific case.
#
Zegnat
E.g. you haven't drawn the step where webmention.io checks if Bob was telling the truth.
#
kaushalmodi
Zegnat: Ah OK. About "The listener is only interested in this information if Page B is something they own" though, I just do a GET for the specific URL
#
Zegnat
Yeah, Hugo doesn't need to care about that in the slightest as it is handled by the listener, the endpoint.
#
Zegnat
And you have outsourced the listening.
#
kaushalmodi
hugo loops through all pages and does a GET for all, each specific to the page's Permalink
#
kaushalmodi
The initial POST from wm.io is just to kick off the whole domino chain
#
Zegnat
Yep. But that very specifically only applies to people who use webmention.io, and not webmentions in general.
#
Zegnat
And my little story board explained webmentions in general.
#
kaushalmodi
Correct. That diagram is specific to a blog post I am working on, on how I display wm's on my site :)
#
Zegnat
I.e. everything to the right of wm.io in your diagram is no longer webmention handling. Just how the already received webmentions are being embedded into the blog.
#
Zegnat
Looking forward to reading the blogpost!
#
Zegnat
I should find my bed before tomorrow arobes
#
Zegnat
What time is it for Zegnat?
#
Loqi
In Zegnat's timezone, Europe/Amsterdam, it is currently 11:59pm on April 24
#
kaushalmodi
Correct. I am not going into a low level detail (as I myself am fuzzy on that :P Kartik helped clear some stuff above)
#
kaushalmodi
Good night Zegnat!
#
Loqi
night
#
Loqi
totally
snarfed joined the channel
#
grantcodes
swentel++ for the continuing work on indigenous
#
Loqi
swentel has 4 karma in this channel (8 overall)
#
GWG
grantcodes: Amen
snarfed joined the channel
#
grantcodes
He's making me wish I had more time to work on my reader :P
#
GWG
grantcodes: If he gets a nice stable Micropub client...I know you care about Microsub...then I'll be thrilled
snarfed, tantek, tomasparks and eli_oat joined the channel