1. i haven’t touched the lemoncurry codebase since july

    this is starting to look abandoned

    urgh :(

  2. trying to deploy our websockets microservice using an ecs task definition

    amazon are evil

  3. lemoncurry 1.10.0: what's new and what's next?

    lots of stuff is new, since i haven't posted a changelog since 1.9.4! let's focus on the important things i guess?

    • all my html templates are jinja2 now instead of vanilla django - jinja2 is faster and also much more capable, since it supports pretty much arbitrary python expressions rather than a very strict specialised syntax
    • lemoncurry now natively serves avatars through the libravatar protocol, which is basically like an open distributed version of gravatar? sadly, the main libravatar server later announced that it's shutting down in october :( my implementation will still work at least, since it's distributed, but i expect fewer services will actually support libravatar after the main server's gone :( :(
    • micropub support is way better now - i have a micropub media endpoint, which lets you upload images and stuff for your post before you publish it, posts can be deleted over micropub, and additional properties work now too. neato
    • i use messagepack now for caching stuff in redis, since it's faster as well as more space-efficient than the other serialisation formats available
    • amp is no longer supported, because i decided amp sucks. you're welcome?
    • changed the layout of entries so they now have way less vertical overhead. i did this to encourage me to use notes more, since they're meant to be little status updates like toots and making them Big discouraged me from Doing That

    next, i think i might be planning to break backwards compatibility. yep :o

    specifically, i store entries internally using fairly typical relational database modeling: fields for single-valued stuff like name and content, many-to-many associations for stuff like cats and syndications, etc. etc.? and i'm running into a mismatch between that structure and what i need the site to handle

    specifically, while i can easily produce microformats2 html from that structure, micropub works by sending microformats2 items into the site, which means i need to convert back and forth between mf2 and my internal format. this ends up being a big hassle in some cases! what micropub really wants is for microformats2 to be the site's native format, since that eliminates the need for translation

    so basically: i'm planning to change lemoncurry's internal entry format from traditional entity-relationship modeling to native microformats2 json, just like the json i send to its micropub endpoint right now. then i can natively exchange microformats2 items with my site, without the translation mismatch

    that's a gigantic change, and i haven't even decided exactly how i wanna implement it. so i'm planning to make it a major version. that's right, lemoncurry 2.0 is on the roadmap!! :o

    lemoncurry facebook.com twitter.com vulpine.club
  4. deleting works now! you can’t try it out for yourself since you still aren’t me, but it works by sending a “command” object to the micropub endpoint? looks like this

    {"action": "delete", "url": "https://00dani.me/notes/35"}

    updating works much the same way, but you use fancier command objects, which is why i haven’t done that yet ;)

  5. actually scratch that! i’m gonna implement micropub update and delete next!!

    delete first because it’s way simpler lmao

  6. got the new design looking pretty nice on my phone now c: woo! i think the next thing to figure out at this point is probably automatic syndication? i’ll look into doing it with mastodon first, and then maybe silos as well. maybe

  7. working on a new design for entries which takes up less vertical space :o it currently looks very bad on mobile but decent on desktop, gonna need to tweak it some more

  8. btw i used both quill and micropublish to write that last entry?

    see, quill supports the micropub media endpoint, which i needed to upload the screenshots, while micropublish doesn’t as far as i can tell

    but micropublish lets you preview exactly what request is gonna be sent to your server before it actually sends! which is important because my server isn’t very clever yet and can’t handle more complicated micropub requests :o

  9. just added something i’ve been meaning to include!! yay! here it is, since you can’t actually see it unless you’re logged in as me 😉

    a screenshot of an admin panel in my site, which displays micropub tokens and allows me to revoke access

    yay! it can load the clients’ display names and logos as well, although quill is the only client i have in here that has those things

    another screenshot, showing that quill.p3k.io has its nice name and logo displayed. lovely

    so that’s cool!! yay

    lemoncurry micropub
  10. omg i connected my site to https://ownyourgram.com/, which crossposts your instagram photos into your site over micropub? and i was baffled as to why the actual photos weren’t appearing, just their captions

    although my site supports a ‘photo’ property on entries, my micropub endpoint never actually populates that ‘photo’ property


    micropub WHOOPS???