#GWGsnarfed: I found a few things that people were doing that were non-standard as well.
#Jeenasnarfed aaronpk had to restructure the IndieAuth part on the IWC http://indiewebcamp.com/Category:IndieAuth because 3 of us tried to get micropub working but it was difficult to get the first step done, the authentication
#snarfedthanks Jeena! i'm actually mostly interested in the non-auth parts
#aaronpksnarfed: yes it is! and actually reflects my latest implementation of a micropub endpoint as well
#snarfedGWG: looking good! i think one last round of feedback, and one last round of manual testing to confirm everything still works after the changes, and it'll be good to go
#voxpelliI guess the Micropub spec is still pretty young so things should be expected to change as more experience is gathered from additional implementations?
#voxpelliI find the currently documented edit API a bit odd – because the form-encoded values all of the sudden mimics the JSON-format rather than the format of form-encoded creates
#GWGsnarfed: My testing is stymied by this issue though.
#GWGI think we need to agree on the edit API before I try to improve edit support.
#GWGSo, maybe I should just focus on create right now
#snarfedGWG: i haven't followed what "this issue" is, but adding unit tests to the existing code should be doable without solving any new issue
#voxpelliGWG: by the edit issue? if so: hard to test something that it seems that no one really supports. If there's no support for a spec, does that spec really exist? And can one test something that doesn't really exist? ;)
#snarfedheh, we're just talking about unit tests for existing code. (or at least i am.) voxpelli you're probably talking about something bigger that you can run against any server or client
#voxpellisnarfed: yep, as that's the only way we can ensure conformance between many different implementations
#GWGsnarfed: The issue is still the same. ben_thatmustbeme is the only one supporting edits I've noticed so far in his client, and his implementation doesn't match the one in the wiki.
#ben_thatmustbemevoxpelli: do you pull in all data from the old post to make it easier
#GWGben_thatmustbeme: That is what your edit functionality does as well
#voxpelliben_thatmustbeme: I just create a new file from scratch and let that file replace the old one – no pulling of data – so the client has to have persisted some stuff in itself, like the Editorial.app workflow I created does
tilgovi and catsup joined the channel
#ben_thatmustbemevoxpelli: i don't pull from the db directly, what i do is passing a url to the client, will have the client poll and parse the mf2 of the post and then prefill the fields
#voxpellireally? dropping all mp- prefixes? I thought such prefixes made sense, to differentiate between directives made to the micropub endpoint itself and directives that are part of the actual content
#snarfedvoxpelli: ooh perfect thank you! does it set up test db tables too? or mock the db? or…?
#ben_thatmustbemedon't remember seeing any of that in the brainstorming first
catsup joined the channel
#ben_thatmustbemeclearly it wasn't if "this has been solved by X change to the spec"
#aaronpki went back and forth on this with tantek a bunch
#voxpellisnarfed: not sure – I know the guy that has created those repos, but never actually used them myself – I think he will happily answer questions (but he may be on vacation now of course)
#aaronpkyou don't actually have to create the edit post. the micropub syntax for edits is derived from this "edit post", basically a trimmed down version of it, similar to how creating a post is a trimmed down version of an mf2 h-entry
#ben_thatmustbeme"Consumers of this post must act only on non-empty property values on the object embedded on the "p-update" property. " made me think you are proposing this h-entry to cause the edit
#voxpelliaaronpk: except that edits use the JSON-data format in a form-encoded format which makes it pretty different from a normal form-encoded micropub-reqiest, no?
#aaronpkform-encoded create requests have all properties of the post in the request body, except the "h" value. json-encoded create requests have all properties under the "properties" key
#aaronpkmy endpoint actually has the same code handling the create logic, i just pass it either $_POST or $request->properties
#voxpelliyes, and form-encoded edits also have all properties under a properties key then?
#ben_thatmustbemeaaronpk: "pull requests" for you posts? does any social network do that?
#aaronpkform-encoded and json-encoded edits use the same serialization
#ben_thatmustbemehe put everything in a seperate DB that had nothing to do with the original, and he clearly did not know how to design a DB.... or organize code
#ben_thatmustbemesnarfed: also not any sort of straight migration.. a whole bunch of ruby code to translate structure
#ben_thatmustbemeand consume things like changes to customer data being stored a html in the db...... rather than fields and generating the html on output
#GWGben_thatmustbeme: Can I send you a snark about my feelings on snarks?
#kylewmthinking about person tagging... i'm considering "upgrading" any regular tag to a person tag if the name matches the name of a contact
#aaronpkYeah I definitely don't want to go down the route of trying to do file uploads with JSON requests
#kylewmany raeson that shouldn't work? like "tantek" always gets upgraded to an h-card
#tantekkylewm: that sounds like a reasonable UI - but I wouldn't do it serverside
#tanteksuch person-name auto-suggest UIs are fairly common on various silos, yet they always give you the ability to just have the plain text
#kylewmso server side you'd recommend storing it more explicitly
#kylewmrather than the implicit "if these two things happen to match up"
#tantekright - I don't think the server should try to be "intelligent" like that, but rather build such intelligence into the interactive client so the user can make an explicit choice (and have it be respected by the server)
#GWGPost Kinds thinks everything coming in from Micropub is an RSVP. Think I need to switch projects for a bit.
#aaronpkkylewm: I don't yet but only because I was in a rush doing it and only show the URL right now. Planning on looking up the URL in my nicknames cache to display the tag better soon
#emmakwhat about uploading photos and media separately from the post?
#kylewmhas decision paralysis, will come back to this later
#KevinMarks_the data uri is an interesting fallback
#KevinMarks_that it worked from quill through silo.pub was neat
#voxpelliit's a neat way of making self-contained html-pieces
#KevinMarks_hm, if a micropub endpoint parses for img URLs, fetches them and stores them in its own store, then using data: or an intermediate upload service ends up equivalent
#tantek!tell kylewm been playing with Woodwind, noticed a few things. 1) subscribe to a domain (kylewm.com) errors w/o http:// in front, 2) long URLs in posts causes horizontal scroll, 3) could use white-space:prewrap for displaying notes with higher fidelity.
#kylewmtantek: cool thanks for the feedback! definitely want to avoid horizontal scroll. I saw those errors in the logs trying to subscribe to schemaless domains. I thought <input type="url"> was doing input validation on those for me, does noscript bypass that?
#Loqikylewm: tantek left you a message 6 minutes ago: been playing with Woodwind, noticed a few things. 1) subscribe to a domain (kylewm.com) errors w/o http:// in front, 2) long URLs in posts causes horizontal scroll, 3) could use white-space:prewrap for displaying notes with higher fidelity. http://indiewebcamp.com/irc/2015-07-19/line/1437332112069
#tantekinput type=url is fixable however, using JS
#tanteksee the example use of <input type="url"> here http://tantek.com/relmeauth/ and the inline <script> that makes it friendlier! (i.e. you can type in kylewm.com and it won't complain)
#kylewmgrrr, i have some python code for calling the flickr api. it works fine on the command line, but when i run it inside appengine it gives Permission denied
#snarfedGWG: other than phpunit, the two key parts for these will probably be 1) either creating/deleting the db tables for the test to use, or mocking out the db, and 2) figuring out how to give the wordpress code an http request and get a response
#snarfedi definitely recommend looking at the example links in that issue
#GWGsnarfed: So basically, my idea is to write some functions that implement a barebones client, then the unit tests use them to send in some arbitrary data.
#snarfedGWG: i understand the idea, i just don't think that's what we want. give me a little time and i'll find the right example.
#GWGsnarfed: Okay. As I said, might be the wrong approach.
tantek and friedcell joined the channel
#snarfedto be fair, GWG, that is basically what we're going to do, i just expect it will be much more minimal than you're thinking
#GWGsnarfed: I figure...if I have to write the code, might as well write it so it can be reused, even if barebones.
#snarfedGWG: sure! if you want to write a general purpose micropub tester that can be used against any (remote) server, sure. that's not what i'm asking for here though
#bretaaronpk, kylewm (maybe even snarfed) whats a good example of a JSON web token signing secret?